From: Zlatko Buljan Date: Tue, 17 Nov 2015 07:58:27 +0000 (+0000) Subject: Added microMIPSDSPr1 assembler and disassembler tests to existing microMIPSDSPr2... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=485ed67da51dbb52c94b78eaa6f24303269cb29b;p=oota-llvm.git Added microMIPSDSPr1 assembler and disassembler tests to existing microMIPSDSPr2 test files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253320 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/MC/Disassembler/Mips/micromips-dsp/valid.txt b/test/MC/Disassembler/Mips/micromips-dsp/valid.txt index bd577331dae..46553cc7318 100644 --- a/test/MC/Disassembler/Mips/micromips-dsp/valid.txt +++ b/test/MC/Disassembler/Mips/micromips-dsp/valid.txt @@ -1,5 +1,7 @@ # RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mcpu=mips32r6 -mattr=micromips -mattr=+dsp | FileCheck %s +0x00 0x64 0x11 0x3c # CHECK: absq_s.ph $3, $4 +0x00 0x64 0x21 0x3c # CHECK: absq_s.w $3, $4 0x00 0xa4 0x18 0xcd # CHECK: addu.qb $3, $4, $5 0x00 0xa4 0x1c 0xcd # CHECK: addu_s.qb $3, $4, $5 0x00 0xa4 0x1b 0x85 # CHECK: addsc $3, $4, $5 @@ -11,8 +13,6 @@ 0x00 0x64 0x92 0xbc # CHECK: dpaq_sa.l.w $ac2, $4, $3 0x00 0x83 0x60 0xbc # CHECK: dpau.h.qbl $ac1, $3, $4 0x02 0xb4 0xb0 0xbc # CHECK: dpau.h.qbr $ac2, $20, $21 -0x00 0x64 0x11 0x3c # CHECK: absq_s.ph $3, $4 -0x00 0x64 0x21 0x3c # CHECK: absq_s.w $3, $4 0x00 0x64 0x41 0x3c # CHECK: insv $3, $4 0x00 0xe6 0x4a 0xbc # CHECK: madd $ac1, $6, $7 0x01 0x28 0x1a 0xbc # CHECK: maddu $ac0, $8, $9 diff --git a/test/MC/Disassembler/Mips/micromips-dspr2/valid.txt b/test/MC/Disassembler/Mips/micromips-dspr2/valid.txt index 8fd535f01d3..b1fa321b157 100644 --- a/test/MC/Disassembler/Mips/micromips-dspr2/valid.txt +++ b/test/MC/Disassembler/Mips/micromips-dspr2/valid.txt @@ -1,21 +1,57 @@ # RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mcpu=mips32r6 -mattr=micromips -mattr=+dspr2 | FileCheck %s -0x00 0xa4 0x18 0x4d # CHECK: addqh.ph $3, $4, $5 -0x00 0xa4 0x1c 0x4d # CHECK: addqh_r.ph $3, $4, $5 -0x00 0xa4 0x18 0x8d # CHECK: addqh.w $3, $4, $5 -0x00 0xa4 0x1c 0x8d # CHECK: addqh_r.w $3, $4, $5 +0x00 0x64 0x11 0x3c # CHECK: absq_s.ph $3, $4 +0x00 0x64 0x01 0x3c # CHECK: absq_s.qb $3, $4 +0x00 0x64 0x21 0x3c # CHECK: absq_s.w $3, $4 0x00 0xa4 0x19 0x0d # CHECK: addu.ph $3, $4, $5 +0x00 0xa4 0x18 0xcd # CHECK: addu.qb $3, $4, $5 0x00 0xa4 0x1d 0x0d # CHECK: addu_s.ph $3, $4, $5 +0x00 0xa4 0x1c 0xcd # CHECK: addu_s.qb $3, $4, $5 0x00 0xa4 0x19 0x4d # CHECK: adduh.qb $3, $4, $5 0x00 0xa4 0x1d 0x4d # CHECK: adduh_r.qb $3, $4, $5 -0x00 0x64 0x01 0x3c # CHECK: absq_s.qb $3, $4 +0x00 0xa4 0x1b 0x85 # CHECK: addsc $3, $4, $5 +0x00 0xa4 0x1b 0xc5 # CHECK: addwc $3, $4, $5 +0x00 0xa4 0x18 0x0d # CHECK: addq.ph $3, $4, $5 +0x00 0xa4 0x1c 0x0d # CHECK: addq_s.ph $3, $4, $5 +0x00 0xa4 0x1b 0x05 # CHECK: addq_s.w $3, $4, $5 +0x00 0xa4 0x18 0x4d # CHECK: addqh.ph $3, $4, $5 +0x00 0xa4 0x18 0x8d # CHECK: addqh.w $3, $4, $5 +0x00 0xa4 0x1c 0x4d # CHECK: addqh_r.ph $3, $4, $5 +0x00 0xa4 0x1c 0x8d # CHECK: addqh_r.w $3, $4, $5 0x00 0x43 0x00 0xbc # CHECK: dpa.w.ph $ac0, $3, $2 +0x00 0x65 0x42 0xbc # CHECK: dpaq_s.w.ph $ac1, $5, $3 +0x00 0x64 0x92 0xbc # CHECK: dpaq_sa.l.w $ac2, $4, $3 0x00 0xec 0xe2 0xbc # CHECK: dpaqx_s.w.ph $ac3, $12, $7 0x00 0xc5 0x32 0xbc # CHECK: dpaqx_sa.w.ph $ac0, $5, $6 +0x00 0x83 0x60 0xbc # CHECK: dpau.h.qbl $ac1, $3, $4 +0x02 0xb4 0xb0 0xbc # CHECK: dpau.h.qbr $ac2, $20, $21 0x00 0x22 0xd0 0xbc # CHECK: dpax.w.ph $ac3, $2, $1 +0x00 0x64 0x41 0x3c # CHECK: insv $3, $4 +0x00 0xe6 0x4a 0xbc # CHECK: madd $ac1, $6, $7 +0x01 0x28 0x1a 0xbc # CHECK: maddu $ac0, $8, $9 +0x01 0x6a 0xea 0xbc # CHECK: msub $ac3, $10, $11 +0x01 0xac 0xba 0xbc # CHECK: msubu $ac2, $12, $13 +0x00 0x62 0xcc 0xbc # CHECK: mult $ac3, $2, $3 +0x00 0xa4 0x9c 0xbc # CHECK: multu $ac2, $4, $5 +0x00 0x64 0x53 0xb5 # CHECK: shll.ph $3, $4, 5 +0x00 0x64 0x5b 0xb5 # CHECK: shll_s.ph $3, $4, 5 +0x00 0x64 0xa8 0x7c # CHECK: shll.qb $3, $4, 5 +0x00 0x85 0x18 0x0e # CHECK: shllv.ph $3, $4, $5 +0x00 0x85 0x1c 0x0e # CHECK: shllv_s.ph $3, $4, $5 +0x00 0x85 0x1b 0x95 # CHECK: shllv.qb $3, $4, $5 +0x00 0x85 0x1b 0xd5 # CHECK: shllv_s.w $3, $4, $5 +0x00 0x64 0x2b 0xf5 # CHECK: shll_s.w $3, $4, 5 +0x00 0x64 0x53 0x35 # CHECK: shra.ph $3, $4, 5 0x00 0x64 0xa1 0xfc # CHECK: shra.qb $3, $4, 5 +0x00 0x64 0x57 0x35 # CHECK: shra_r.ph $3, $4, 5 0x00 0x64 0xb1 0xfc # CHECK: shra_r.qb $3, $4, 5 +0x00 0x85 0x19 0x8d # CHECK: shrav.ph $3, $4, $5 0x00 0x85 0x19 0xcd # CHECK: shrav.qb $3, $4, $5 +0x00 0x85 0x1d 0x8d # CHECK: shrav_r.ph $3, $4, $5 0x00 0x85 0x1d 0xcd # CHECK: shrav_r.qb $3, $4, $5 +0x00 0x85 0x1a 0xd5 # CHECK: shrav_r.w $3, $4, $5 +0x00 0x64 0x2a 0xf5 # CHECK: shra_r.w $3, $4, 5 0x00 0x64 0x53 0xfc # CHECK: shrl.ph $3, $4, 5 +0x00 0x64 0xb8 0x7c # CHECK: shrl.qb $3, $4, 5 0x00 0x85 0x1b 0x15 # CHECK: shrlv.ph $3, $4, $5 +0x00 0x85 0x1b 0x55 # CHECK: shrlv.qb $3, $4, $5 diff --git a/test/MC/Mips/micromips-dsp/valid.s b/test/MC/Mips/micromips-dsp/valid.s index 31409903ec3..f0b245d179e 100644 --- a/test/MC/Mips/micromips-dsp/valid.s +++ b/test/MC/Mips/micromips-dsp/valid.s @@ -1,6 +1,8 @@ # RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r6 -mattr=micromips -mattr=+dsp | FileCheck %s .set noat + absq_s.ph $3, $4 # CHECK: absq_s.ph $3, $4 # encoding: [0x00,0x64,0x11,0x3c] + absq_s.w $3, $4 # CHECK: absq_s.w $3, $4 # encoding: [0x00,0x64,0x21,0x3c] addu.qb $3, $4, $5 # CHECK: addu.qb $3, $4, $5 # encoding: [0x00,0xa4,0x18,0xcd] addu_s.qb $3, $4, $5 # CHECK: addu_s.qb $3, $4, $5 # encoding: [0x00,0xa4,0x1c,0xcd] addsc $3, $4, $5 # CHECK: addsc $3, $4, $5 # encoding: [0x00,0xa4,0x1b,0x85] @@ -12,8 +14,6 @@ dpaq_sa.l.w $ac2, $4, $3 # CHECK: dpaq_sa.l.w $ac2, $4, $3 # encoding: [0x00,0x64,0x92,0xbc] dpau.h.qbl $ac1, $3, $4 # CHECK: dpau.h.qbl $ac1, $3, $4 # encoding: [0x00,0x83,0x60,0xbc] dpau.h.qbr $ac2, $20, $21 # CHECK: dpau.h.qbr $ac2, $20, $21 # encoding: [0x02,0xb4,0xb0,0xbc] - absq_s.ph $3, $4 # CHECK: absq_s.ph $3, $4 # encoding: [0x00,0x64,0x11,0x3c] - absq_s.w $3, $4 # CHECK: absq_s.w $3, $4 # encoding: [0x00,0x64,0x21,0x3c] insv $3, $4 # CHECK: insv $3, $4 # encoding: [0x00,0x64,0x41,0x3c] madd $ac1, $6, $7 # CHECK: madd $ac1, $6, $7 # encoding: [0x00,0xe6,0x4a,0xbc] maddu $ac0, $8, $9 # CHECK: maddu $ac0, $8, $9 # encoding: [0x01,0x28,0x1a,0xbc] diff --git a/test/MC/Mips/micromips-dspr2/valid.s b/test/MC/Mips/micromips-dspr2/valid.s index 5d3fcb3d1a9..c35607f2ccb 100644 --- a/test/MC/Mips/micromips-dspr2/valid.s +++ b/test/MC/Mips/micromips-dspr2/valid.s @@ -1,22 +1,58 @@ # RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r6 -mattr=micromips -mattr=+dspr2 | FileCheck %s .set noat + absq_s.ph $3, $4 # CHECK: absq_s.ph $3, $4 # encoding: [0x00,0x64,0x11,0x3c] + absq_s.qb $3, $4 # CHECK: absq_s.qb $3, $4 # encoding: [0x00,0x64,0x01,0x3c] + absq_s.w $3, $4 # CHECK: absq_s.w $3, $4 # encoding: [0x00,0x64,0x21,0x3c] addqh.ph $3, $4, $5 # CHECK: addqh.ph $3, $4, $5 # encoding: [0x00,0xa4,0x18,0x4d] addqh_r.ph $3, $4, $5 # CHECK: addqh_r.ph $3, $4, $5 # encoding: [0x00,0xa4,0x1c,0x4d] addqh.w $3, $4, $5 # CHECK: addqh.w $3, $4, $5 # encoding: [0x00,0xa4,0x18,0x8d] addqh_r.w $3, $4, $5 # CHECK: addqh_r.w $3, $4, $5 # encoding: [0x00,0xa4,0x1c,0x8d] addu.ph $3, $4, $5 # CHECK: addu.ph $3, $4, $5 # encoding: [0x00,0xa4,0x19,0x0d] + addu.qb $3, $4, $5 # CHECK: addu.qb $3, $4, $5 # encoding: [0x00,0xa4,0x18,0xcd] addu_s.ph $3, $4, $5 # CHECK: addu_s.ph $3, $4, $5 # encoding: [0x00,0xa4,0x1d,0x0d] + addu_s.qb $3, $4, $5 # CHECK: addu_s.qb $3, $4, $5 # encoding: [0x00,0xa4,0x1c,0xcd] adduh.qb $3, $4, $5 # CHECK: adduh.qb $3, $4, $5 # encoding: [0x00,0xa4,0x19,0x4d] adduh_r.qb $3, $4, $5 # CHECK: adduh_r.qb $3, $4, $5 # encoding: [0x00,0xa4,0x1d,0x4d] - absq_s.qb $3, $4 # CHECK: absq_s.qb $3, $4 # encoding: [0x00,0x64,0x01,0x3c] + addsc $3, $4, $5 # CHECK: addsc $3, $4, $5 # encoding: [0x00,0xa4,0x1b,0x85] + addwc $3, $4, $5 # CHECK: addwc $3, $4, $5 # encoding: [0x00,0xa4,0x1b,0xc5] + addq.ph $3, $4, $5 # CHECK: addq.ph $3, $4, $5 # encoding: [0x00,0xa4,0x18,0x0d] + addq_s.ph $3, $4, $5 # CHECK: addq_s.ph $3, $4, $5 # encoding: [0x00,0xa4,0x1c,0x0d] + addq_s.w $3, $4, $5 # CHECK: addq_s.w $3, $4, $5 # encoding: [0x00,0xa4,0x1b,0x05] dpa.w.ph $ac0, $3, $2 # CHECK: dpa.w.ph $ac0, $3, $2 # encoding: [0x00,0x43,0x00,0xbc] + dpaq_s.w.ph $ac1, $5, $3 # CHECK: dpaq_s.w.ph $ac1, $5, $3 # encoding: [0x00,0x65,0x42,0xbc] + dpaq_sa.l.w $ac2, $4, $3 # CHECK: dpaq_sa.l.w $ac2, $4, $3 # encoding: [0x00,0x64,0x92,0xbc] dpaqx_s.w.ph $ac3, $12, $7 # CHECK: dpaqx_s.w.ph $ac3, $12, $7 # encoding: [0x00,0xec,0xe2,0xbc] dpaqx_sa.w.ph $ac0, $5, $6 # CHECK: dpaqx_sa.w.ph $ac0, $5, $6 # encoding: [0x00,0xc5,0x32,0xbc] + dpau.h.qbl $ac1, $3, $4 # CHECK: dpau.h.qbl $ac1, $3, $4 # encoding: [0x00,0x83,0x60,0xbc] + dpau.h.qbr $ac2, $20, $21 # CHECK: dpau.h.qbr $ac2, $20, $21 # encoding: [0x02,0xb4,0xb0,0xbc] dpax.w.ph $ac3, $2, $1 # CHECK: dpax.w.ph $ac3, $2, $1 # encoding: [0x00,0x22,0xd0,0xbc] + insv $3, $4 # CHECK: insv $3, $4 # encoding: [0x00,0x64,0x41,0x3c] + madd $ac1, $6, $7 # CHECK: madd $ac1, $6, $7 # encoding: [0x00,0xe6,0x4a,0xbc] + maddu $ac0, $8, $9 # CHECK: maddu $ac0, $8, $9 # encoding: [0x01,0x28,0x1a,0xbc] + msub $ac3, $10, $11 # CHECK: msub $ac3, $10, $11 # encoding: [0x01,0x6a,0xea,0xbc] + msubu $ac2, $12, $13 # CHECK: msubu $ac2, $12, $13 # encoding: [0x01,0xac,0xba,0xbc] + mult $ac3, $2, $3 # CHECK: mult $ac3, $2, $3 # encoding: [0x00,0x62,0xcc,0xbc] + multu $ac2, $4, $5 # CHECK: multu $ac2, $4, $5 # encoding: [0x00,0xa4,0x9c,0xbc] + shll.ph $3, $4, 5 # CHECK: shll.ph $3, $4, 5 # encoding: [0x00,0x64,0x53,0xb5] + shll_s.ph $3, $4, 5 # CHECK: shll_s.ph $3, $4, 5 # encoding: [0x00,0x64,0x5b,0xb5] + shll.qb $3, $4, 5 # CHECK: shll.qb $3, $4, 5 # encoding: [0x00,0x64,0xa8,0x7c] + shllv.ph $3, $4, $5 # CHECK: shllv.ph $3, $4, $5 # encoding: [0x00,0x85,0x18,0x0e] + shllv_s.ph $3, $4, $5 # CHECK: shllv_s.ph $3, $4, $5 # encoding: [0x00,0x85,0x1c,0x0e] + shllv.qb $3, $4, $5 # CHECK: shllv.qb $3, $4, $5 # encoding: [0x00,0x85,0x1b,0x95] + shllv_s.w $3, $4, $5 # CHECK: shllv_s.w $3, $4, $5 # encoding: [0x00,0x85,0x1b,0xd5] + shll_s.w $3, $4, 5 # CHECK: shll_s.w $3, $4, 5 # encoding: [0x00,0x64,0x2b,0xf5] + shra.ph $3, $4, 5 # CHECK: shra.ph $3, $4, 5 # encoding: [0x00,0x64,0x53,0x35] shra.qb $3, $4, 5 # CHECK: shra.qb $3, $4, 5 # encoding: [0x00,0x64,0xa1,0xfc] + shra_r.ph $3, $4, 5 # CHECK: shra_r.ph $3, $4, 5 # encoding: [0x00,0x64,0x57,0x35] shra_r.qb $3, $4, 5 # CHECK: shra_r.qb $3, $4, 5 # encoding: [0x00,0x64,0xb1,0xfc] + shrav.ph $3, $4, $5 # CHECK: shrav.ph $3, $4, $5 # encoding: [0x00,0x85,0x19,0x8d] shrav.qb $3, $4, $5 # CHECK: shrav.qb $3, $4, $5 # encoding: [0x00,0x85,0x19,0xcd] + shrav_r.ph $3, $4, $5 # CHECK: shrav_r.ph $3, $4, $5 # encoding: [0x00,0x85,0x1d,0x8d] shrav_r.qb $3, $4, $5 # CHECK: shrav_r.qb $3, $4, $5 # encoding: [0x00,0x85,0x1d,0xcd] + shrav_r.w $3, $4, $5 # CHECK: shrav_r.w $3, $4, $5 # encoding: [0x00,0x85,0x1a,0xd5] + shra_r.w $3, $4, 5 # CHECK: shra_r.w $3, $4, 5 # encoding: [0x00,0x64,0x2a,0xf5] shrl.ph $3, $4, 5 # CHECK: shrl.ph $3, $4, 5 # encoding: [0x00,0x64,0x53,0xfc] + shrl.qb $3, $4, 5 # CHECK: shrl.qb $3, $4, 5 # encoding: [0x00,0x64,0xb8,0x7c] shrlv.ph $3, $4, $5 # CHECK: shrlv.ph $3, $4, $5 # encoding: [0x00,0x85,0x1b,0x15] + shrlv.qb $3, $4, $5 # CHECK: shrlv.qb $3, $4, $5 # encoding: [0x00,0x85,0x1b,0x55]