diff options
Diffstat (limited to 'sim/testsuite/bfin/c_dsp32alu_byteop2.s')
-rw-r--r-- | sim/testsuite/bfin/c_dsp32alu_byteop2.s | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/c_dsp32alu_byteop2.s b/sim/testsuite/bfin/c_dsp32alu_byteop2.s new file mode 100644 index 0000000..544a5bd --- /dev/null +++ b/sim/testsuite/bfin/c_dsp32alu_byteop2.s @@ -0,0 +1,76 @@ +//Original:/proj/frio/dv/testcases/core/c_dsp32alu_byteop2/c_dsp32alu_byteop2.dsp +// Spec Reference: dsp32alu byteop2 +# mach: bfin + +.include "testutils.inc" + start + + imm32 r0, 0x15678911; + imm32 r1, 0x2789ab1d; + imm32 r2, 0x34445515; + imm32 r3, 0x46667717; + imm32 r4, 0x5567891b; + imm32 r5, 0x6789ab1d; + imm32 r6, 0x74445515; + imm32 r7, 0x86667777; + R4 = BYTEOP2P ( R1:0 , R3:2 ) (RNDL); + R5 = BYTEOP2P ( R1:0 , R3:2 ) (RNDL , R); + R6 = BYTEOP2P ( R1:0 , R3:2 ) (RNDH); + R7 = BYTEOP2P ( R1:0 , R3:2 ) (RNDH , R); + CHECKREG r4, 0x003D0041; + CHECKREG r5, 0x00570056; + CHECKREG r6, 0x3D004100; + CHECKREG r7, 0x57005600; + + imm32 r0, 0x1567892b; + imm32 r1, 0x2789ab2d; + imm32 r2, 0x34445525; + imm32 r3, 0x46667727; + imm32 r4, 0x58889929; + imm32 r5, 0x6aaabb2b; + imm32 r6, 0x7cccdd2d; + imm32 r7, 0x8eeeffff; + R0 = BYTEOP2P ( R3:2 , R1:0 ) (RNDL); + R1 = BYTEOP2P ( R3:2 , R1:0 ) (RNDL , R); + R2 = BYTEOP2P ( R3:2 , R1:0 ) (RNDH); + R3 = BYTEOP2P ( R3:2 , R1:0 ) (RNDH , R); + CHECKREG r0, 0x003D004C; + CHECKREG r1, 0x0057005E; + CHECKREG r2, 0x2D003200; + CHECKREG r3, 0x41003F00; + + imm32 r0, 0x716789ab; + imm32 r1, 0x8289abcd; + imm32 r2, 0x93445555; + imm32 r3, 0xa4667777; + imm32 r4, 0xb56789ab; + imm32 r5, 0xd689abcd; + imm32 r6, 0xe7445555; + imm32 r7, 0x6f661235; + R4 = BYTEOP2P ( R1:0 , R3:2 ) (TL); + R5 = BYTEOP2P ( R1:0 , R3:2 ) (TL , R); + R6 = BYTEOP2P ( R1:0 , R3:2 ) (TH); + R7 = BYTEOP2P ( R1:0 , R3:2 ) (TH , R); + CHECKREG r4, 0x006B0077; + CHECKREG r5, 0x00850099; + CHECKREG r6, 0x6B007700; + CHECKREG r7, 0x85009900; + + imm32 r0, 0x416789ab; + imm32 r1, 0x6289abcd; + imm32 r2, 0x43445555; + imm32 r3, 0x64667777; + imm32 r4, 0x456789ab; + imm32 r5, 0x6689abcd; + imm32 r6, 0x47445555; + imm32 r7, 0x68667777; + R0 = BYTEOP2P ( R3:2 , R1:0 ) (TL); + R1 = BYTEOP2P ( R3:2 , R1:0 ) (TL , R); + R2 = BYTEOP2P ( R3:2 , R1:0 ) (TH); + R3 = BYTEOP2P ( R3:2 , R1:0 ) (TH , R); + CHECKREG r0, 0x004B0077; + CHECKREG r1, 0x006D0099; + CHECKREG r2, 0x34004800; + CHECKREG r3, 0x4D006100; + + pass |