| //Original:/testcases/core/c_dsp32alu_rrpmmp/c_dsp32alu_rrpmmp.dsp |
| // Spec Reference: dsp32alu (dreg, dreg) = +/-, -/+ (dreg, dreg) amod0 |
| # mach: bfin |
| |
| .include "testutils.inc" |
| start |
| |
| |
| |
| |
| imm32 r0, 0x35678911; |
| imm32 r1, 0x2489ab1d; |
| imm32 r2, 0x34545515; |
| imm32 r3, 0x46667717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x67889b1d; |
| imm32 r2, 0x74445915; |
| imm32 r3, 0x86667797; |
| R0 = R0 +|- R0 , R7 = R0 -|+ R0; |
| R1 = R0 +|- R1 , R6 = R0 -|+ R1; |
| R2 = R0 +|- R2 , R5 = R0 -|+ R2; |
| R3 = R0 +|- R3 , R4 = R0 -|+ R3; |
| R4 = R0 +|- R4 , R3 = R0 -|+ R4; |
| R5 = R0 +|- R5 , R2 = R0 -|+ R5; |
| R6 = R0 +|- R6 , R1 = R0 -|+ R6; |
| R7 = R0 +|- R7 , R0 = R0 -|+ R7; |
| CHECKREG r0, 0xAACE1236; |
| CHECKREG r1, 0x67889B1D; |
| CHECKREG r2, 0x74445915; |
| CHECKREG r3, 0x86667797; |
| CHECKREG r4, 0xCF368869; |
| CHECKREG r5, 0xE158A6EB; |
| CHECKREG r6, 0xEE1464E3; |
| CHECKREG r7, 0xAACEEDCA; |
| |
| imm32 r0, 0xe5678911; |
| imm32 r1, 0x2e89ab1d; |
| imm32 r2, 0x34e45515; |
| imm32 r3, 0x466e7717; |
| imm32 r0, 0x5567ee1b; |
| imm32 r1, 0x6789abed; |
| imm32 r2, 0x7444551e; |
| imm32 r3, 0x86e67777; |
| R0 = R1 +|- R0 , R7 = R1 -|+ R0; |
| R1 = R1 +|- R1 , R6 = R1 -|+ R1; |
| R2 = R1 +|- R2 , R5 = R1 -|+ R2; |
| R3 = R1 +|- R3 , R4 = R1 -|+ R3; |
| R4 = R1 +|- R4 , R3 = R1 -|+ R4; |
| R5 = R1 +|- R5 , R2 = R1 -|+ R5; |
| R6 = R1 +|- R6 , R1 = R1 -|+ R6; |
| R7 = R1 +|- R7 , R0 = R1 -|+ R7; |
| CHECKREG r0, 0xBCF0F1E2; |
| CHECKREG r1, 0xCF1257DA; |
| CHECKREG r2, 0x7444551E; |
| CHECKREG r3, 0x86E67777; |
| CHECKREG r4, 0x173E8889; |
| CHECKREG r5, 0x29E0AAE2; |
| CHECKREG r6, 0xCF12A826; |
| CHECKREG r7, 0xE134BDD2; |
| |
| imm32 r0, 0x15678911; |
| imm32 r1, 0x2789ab1d; |
| imm32 r2, 0x34445515; |
| imm32 r3, 0x46667717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x6789ab1d; |
| imm32 r2, 0x74445515; |
| imm32 r3, 0x86667777; |
| R0 = R2 +|- R0 , R7 = R2 -|+ R0; |
| R1 = R2 +|- R1 , R6 = R2 -|+ R1; |
| R2 = R2 +|- R2 , R5 = R2 -|+ R2; |
| R3 = R2 +|- R3 , R4 = R2 -|+ R3; |
| R4 = R2 +|- R4 , R3 = R2 -|+ R4; |
| R5 = R2 +|- R5 , R2 = R2 -|+ R5; |
| R6 = R2 +|- R6 , R1 = R2 -|+ R6; |
| R7 = R2 +|- R7 , R0 = R2 -|+ R7; |
| CHECKREG r0, 0xC9AB885A; |
| CHECKREG r1, 0xDBCDAA5C; |
| CHECKREG r2, 0xE888AA2A; |
| CHECKREG r3, 0x86667777; |
| CHECKREG r4, 0x4AAA8889; |
| CHECKREG r5, 0xE88855D6; |
| CHECKREG r6, 0xF543A9F8; |
| CHECKREG r7, 0x0765CBFA; |
| |
| imm32 r0, 0x85678911; |
| imm32 r1, 0x2889ab1d; |
| imm32 r2, 0x34445515; |
| imm32 r3, 0x46667717; |
| imm32 r0, 0x5587891b; |
| imm32 r1, 0x6788ab1d; |
| imm32 r2, 0x74448515; |
| imm32 r3, 0x86667877; |
| R0 = R3 +|- R0 , R7 = R3 -|+ R0; |
| R1 = R3 +|- R1 , R6 = R3 -|+ R1; |
| R2 = R3 +|- R2 , R5 = R3 -|+ R2; |
| R3 = R3 +|- R3 , R4 = R3 -|+ R3; |
| R4 = R3 +|- R4 , R3 = R3 -|+ R4; |
| R5 = R3 +|- R5 , R2 = R3 -|+ R5; |
| R6 = R3 +|- R6 , R1 = R3 -|+ R6; |
| R7 = R3 +|- R7 , R0 = R3 -|+ R7; |
| CHECKREG r0, 0xDBEDF280; |
| CHECKREG r1, 0xEDEE1482; |
| CHECKREG r2, 0xFAAAEE7A; |
| CHECKREG r3, 0x0CCCF0EE; |
| CHECKREG r4, 0x0CCC0F12; |
| CHECKREG r5, 0x1EEEF362; |
| CHECKREG r6, 0x2BAACD5A; |
| CHECKREG r7, 0x3DABEF5C; |
| |
| imm32 r0, 0x15678911; |
| imm32 r1, 0x2789ab1d; |
| imm32 r2, 0x34445515; |
| imm32 r3, 0x46667717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x6789ab1d; |
| imm32 r2, 0x74445515; |
| imm32 r3, 0x86667777; |
| R0 = R4 +|- R0 , R7 = R4 -|+ R0; |
| R1 = R4 +|- R1 , R6 = R4 -|+ R1; |
| R2 = R4 +|- R2 , R5 = R4 -|+ R2; |
| R3 = R4 +|- R3 , R4 = R4 -|+ R3; |
| R4 = R4 +|- R4 , R3 = R4 -|+ R4; |
| R5 = R4 +|- R5 , R2 = R4 -|+ R5; |
| R6 = R4 +|- R6 , R1 = R4 -|+ R6; |
| R7 = R4 +|- R7 , R0 = R4 -|+ R7; |
| CHECKREG r0, 0x5567982D; |
| CHECKREG r1, 0x6789BA2F; |
| CHECKREG r2, 0x74446427; |
| CHECKREG r3, 0x00000D12; |
| CHECKREG r4, 0x0CCC0000; |
| CHECKREG r5, 0xA5549BD9; |
| CHECKREG r6, 0xB20F45D1; |
| CHECKREG r7, 0xC43167D3; |
| |
| imm32 r0, 0x95678911; |
| imm32 r1, 0x2789ab1d; |
| imm32 r2, 0x39445515; |
| imm32 r3, 0x46967717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x6789ab1d; |
| imm32 r2, 0x74495515; |
| imm32 r3, 0x86669777; |
| R0 = R5 +|- R0 , R7 = R5 -|+ R0; |
| R1 = R5 +|- R1 , R6 = R5 -|+ R1; |
| R2 = R5 +|- R2 , R5 = R5 -|+ R2; |
| R3 = R5 +|- R3 , R4 = R5 -|+ R3; |
| R4 = R5 +|- R4 , R3 = R5 -|+ R4; |
| R5 = R5 +|- R5 , R2 = R5 -|+ R5; |
| R6 = R5 +|- R6 , R1 = R5 -|+ R6; |
| R7 = R5 +|- R7 , R0 = R5 -|+ R7; |
| CHECKREG r0, 0x122924F4; |
| CHECKREG r1, 0x244B46F6; |
| CHECKREG r2, 0x0000E1DC; |
| CHECKREG r3, 0x86667953; |
| CHECKREG r4, 0xDBB06889; |
| CHECKREG r5, 0x62160000; |
| CHECKREG r6, 0x9FE1B90A; |
| CHECKREG r7, 0xB203DB0C; |
| |
| imm32 r0, 0x15678911; |
| imm32 r1, 0x2789ab1d; |
| imm32 r2, 0x34445515; |
| imm32 r3, 0x46667717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x6789ab1d; |
| imm32 r2, 0x74445515; |
| imm32 r3, 0x86667777; |
| R0 = R6 +|- R0 , R7 = R6 -|+ R0; |
| R1 = R6 +|- R1 , R6 = R6 -|+ R1; |
| R2 = R6 +|- R2 , R5 = R6 -|+ R2; |
| R3 = R6 +|- R3 , R4 = R6 -|+ R3; |
| R4 = R6 +|- R4 , R3 = R6 -|+ R4; |
| R5 = R6 +|- R5 , R2 = R6 -|+ R5; |
| R6 = R6 +|- R6 , R1 = R6 -|+ R6; |
| R7 = R6 +|- R7 , R0 = R6 -|+ R7; |
| CHECKREG r0, 0x26364225; |
| CHECKREG r1, 0x0000C84E; |
| CHECKREG r2, 0x74441D63; |
| CHECKREG r3, 0x86663FC5; |
| CHECKREG r4, 0xEA4A8889; |
| CHECKREG r5, 0xFC6CAAEB; |
| CHECKREG r6, 0x70B00000; |
| CHECKREG r7, 0xBB2ABDDB; |
| |
| imm32 r0, 0x67898911; |
| imm32 r1, 0xb789ab1d; |
| imm32 r2, 0x3b445515; |
| imm32 r3, 0x46b67717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x678bab1d; |
| imm32 r2, 0x7444b515; |
| imm32 r3, 0x86667b77; |
| R0 = R7 +|- R0 , R7 = R7 -|+ R0; |
| R1 = R7 +|- R1 , R6 = R7 -|+ R1; |
| R2 = R7 +|- R2 , R5 = R7 -|+ R2; |
| R3 = R7 +|- R3 , R4 = R7 -|+ R3; |
| R4 = R7 +|- R4 , R3 = R7 -|+ R4; |
| R5 = R7 +|- R5 , R2 = R7 -|+ R5; |
| R6 = R7 +|- R6 , R1 = R7 -|+ R6; |
| R7 = R7 +|- R7 , R0 = R7 -|+ R7; |
| CHECKREG r0, 0x00008DEC; |
| CHECKREG r1, 0x678B3909; |
| CHECKREG r2, 0x74444301; |
| CHECKREG r3, 0x86660963; |
| CHECKREG r4, 0x45208489; |
| CHECKREG r5, 0x57424AEB; |
| CHECKREG r6, 0x63FB54E3; |
| CHECKREG r7, 0xCB860000; |
| |
| imm32 r0, 0xe5678911; |
| imm32 r1, 0x2e89ab1d; |
| imm32 r2, 0x34ee5515; |
| imm32 r3, 0x4666e717; |
| imm32 r0, 0x5567891b; |
| imm32 r1, 0x6789ae1d; |
| imm32 r2, 0x744455e5; |
| imm32 r3, 0x8666777e; |
| R4 = R2 +|- R5 , R3 = R2 -|+ R5 (S); |
| R0 = R5 +|- R3 , R5 = R5 -|+ R3 (CO); |
| R2 = R6 +|- R2 , R0 = R6 -|+ R2 (SCO); |
| R3 = R4 +|- R0 , R2 = R4 -|+ R0 (S); |
| R7 = R7 +|- R6 , R6 = R7 -|+ R6 (CO); |
| R6 = R1 +|- R7 , R1 = R1 -|+ R7 (SCO); |
| R5 = R0 +|- R4 , R7 = R0 -|+ R4 (S); |
| R1 = R3 +|- R1 , R4 = R3 -|+ R1 (CO); |
| CHECKREG r0, 0x7FFFEFB7; |
| CHECKREG r1, 0xFFFFE33B; |
| CHECKREG r2, 0x0000FAB1; |
| CHECKREG r3, 0x7FFF1B43; |
| CHECKREG r4, 0x534BFFFF; |
| CHECKREG r5, 0x7FFFE4BD; |
| CHECKREG r6, 0x7FFF0300; |
| CHECKREG r7, 0x0000FAB1; |
| |
| imm32 r0, 0xff678911; |
| imm32 r1, 0x2789ab1d; |
| imm32 r2, 0x3f445515; |
| imm32 r3, 0x46f67717; |
| imm32 r0, 0x556f891b; |
| imm32 r1, 0x6789fb1d; |
| imm32 r2, 0x74445f15; |
| imm32 r3, 0x866677f7; |
| R4 = R3 +|- R3 , R5 = R3 -|+ R3 (SCO); |
| R1 = R6 +|- R1 , R6 = R6 -|+ R1 (SCO); |
| R6 = R1 +|- R4 , R4 = R1 -|+ R4 (S); |
| R7 = R4 +|- R2 , R0 = R4 -|+ R2 (S); |
| R2 = R2 +|- R6 , R1 = R2 -|+ R6 (CO); |
| R3 = R5 +|- R5 , R7 = R5 -|+ R5 (CO); |
| R5 = R7 +|- R7 , R3 = R7 -|+ R7 (SCO); |
| R0 = R0 +|- R0 , R2 = R0 -|+ R0 (SCO); |
| CHECKREG r0, 0x17760000; |
| CHECKREG r1, 0x66F87445; |
| CHECKREG r2, 0x7FFF0000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x7FFF07E3; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0xFFFF07E3; |
| CHECKREG r7, 0x00000000; |
| |
| |
| |
| pass |