| //Original:/proj/frio/dv/testcases/core/c_dsp32alu_rrppmm_sft_x/c_dsp32alu_rrppmm_sft_x.dsp |
| // Spec Reference: dsp32alu (dreg, dreg) = +/+, -/- (dreg, dreg) >>, << X |
| # mach: bfin |
| |
| .include "testutils.inc" |
| start |
| |
| R0 = 0; |
| ASTAT = R0; |
| |
| imm32 r0, 0x95679911; |
| imm32 r1, 0x2789ab1d; |
| imm32 r2, 0x34945515; |
| imm32 r3, 0x46967717; |
| imm32 r4, 0x5597891b; |
| imm32 r5, 0x6989ab1d; |
| imm32 r6, 0x94445515; |
| imm32 r7, 0x96667777; |
| R0 = R0 +|+ R0, R7 = R0 -|- R0 (CO , ASR); |
| R1 = R0 +|+ R1, R6 = R0 -|- R1 (CO , ASL); |
| R2 = R0 +|+ R2, R5 = R0 -|- R2 (CO , ASR); |
| R3 = R0 +|+ R3, R4 = R0 -|- R3 (CO , ASR); |
| R4 = R0 +|+ R4, R3 = R0 -|- R4 (CO , ASL); |
| R5 = R0 +|+ R5, R2 = R0 -|- R5 (CO , ASR); |
| R6 = R0 +|+ R6, R1 = R0 -|- R6 (CO , ASL); |
| R7 = R0 +|+ R7, R0 = R0 -|- R7 (CO , ASR); |
| CHECKREG r0, 0xcC88cAB3; |
| CHECKREG r1, 0x7AAA72FE; |
| CHECKREG r2, 0xf454f9B4; |
| CHECKREG r3, 0xe35208D4; |
| CHECKREG r4, 0x4CC880F2; |
| CHECKREG r5, 0x9BB2a4BD; |
| CHECKREG r6, 0xE29EE99A; |
| CHECKREG r7, 0xcAB3cC88; |
| |
| imm32 r0, 0x11678911; |
| imm32 r1, 0xa719ab1d; |
| imm32 r2, 0x3a415515; |
| imm32 r3, 0x46a67717; |
| imm32 r4, 0x556a891b; |
| imm32 r5, 0x6789ab1d; |
| imm32 r6, 0x74445a15; |
| imm32 r7, 0x866677a7; |
| R0 = R1 +|+ R0, R7 = R1 -|- R0 (CO , ASR); |
| R1 = R1 +|+ R1, R6 = R1 -|- R1 (CO , ASR); |
| R2 = R1 +|+ R2, R5 = R1 -|- R2 (CO , ASL); |
| R3 = R1 +|+ R3, R4 = R1 -|- R3 (CO , ASR); |
| R4 = R1 +|+ R4, R3 = R1 -|- R4 (CO , ASR); |
| R5 = R1 +|+ R5, R2 = R1 -|- R5 (CO , ASR); |
| R6 = R1 +|+ R6, R1 = R1 -|- R6 (CO , ASL); |
| R7 = R1 +|+ R7, R0 = R1 -|- R7 (CO , ASR); |
| CHECKREG r0, 0x41AC229A; |
| CHECKREG r1, 0x563A4E32; |
| CHECKREG r2, 0xe8B6fD84; |
| CHECKREG r3, 0xfD72068B; |
| CHECKREG r4, 0xa08EaDAB; |
| CHECKREG r5, 0xa994c266; |
| CHECKREG r6, 0x4E32563A; |
| CHECKREG r7, 0x33A00C85; |
| |
| imm32 r0, 0xb567891b; |
| imm32 r1, 0x2b89abbd; |
| imm32 r2, 0x34b45b15; |
| imm32 r3, 0x466bb717; |
| imm32 r4, 0x556bb91b; |
| imm32 r5, 0x67b9ab1d; |
| imm32 r6, 0x7b4455b5; |
| imm32 r7, 0xb666777b; |
| R0 = R2 +|+ R0, R7 = R2 -|- R0 (CO , ASR); |
| R1 = R2 +|+ R1, R6 = R2 -|- R1 (CO , ASR); |
| R2 = R2 +|+ R2, R5 = R2 -|- R2 (CO , ASR); |
| R3 = R2 +|+ R3, R4 = R2 -|- R3 (CO , ASL); |
| R4 = R2 +|+ R4, R3 = R2 -|- R4 (CO , ASR); |
| R5 = R2 +|+ R5, R2 = R2 -|- R5 (CO , ASR); |
| R6 = R2 +|+ R6, R1 = R2 -|- R6 (CO , ASL); |
| R7 = R2 +|+ R7, R0 = R2 -|- R7 (CO , ASR); |
| CHECKREG r0, 0xED5Ae246; |
| CHECKREG r1, 0x2B8AaBBC; |
| CHECKREG r2, 0x2D8A1A5A; |
| CHECKREG r3, 0x3F41F65C; |
| CHECKREG r4, 0x3E581BD3; |
| CHECKREG r5, 0x1A5A2D8A; |
| CHECKREG r6, 0x0A6C3DDE; |
| CHECKREG r7, 0x4B432D00; |
| |
| imm32 r0, 0xbc678c11; |
| imm32 r1, 0x27c9cb1d; |
| imm32 r2, 0x344c5515; |
| imm32 r3, 0x46c6c717; |
| imm32 r4, 0x55678c1b; |
| imm32 r5, 0x6c89abcd; |
| imm32 r6, 0x7444551c; |
| imm32 r7, 0x8c667777; |
| R0 = R3 +|+ R0, R7 = R3 -|- R0 (CO , ASL); |
| R1 = R3 +|+ R1, R6 = R3 -|- R1 (CO , ASR); |
| R2 = R3 +|+ R2, R5 = R3 -|- R2 (CO , ASR); |
| R3 = R3 +|+ R3, R4 = R3 -|- R3 (CO , ASR); |
| R4 = R3 +|+ R4, R3 = R3 -|- R4 (CO , ASL); |
| R5 = R3 +|+ R5, R2 = R3 -|- R5 (CO , ASR); |
| R6 = R3 +|+ R6, R1 = R3 -|- R6 (CO , ASR); |
| R7 = R3 +|+ R7, R0 = R3 -|- R7 (CO , ASL); |
| CHECKREG r0, 0xF19C3044; |
| CHECKREG r1, 0xbF07C818; |
| CHECKREG r2, 0xC227eA96; |
| CHECKREG r3, 0x8E2E8D8C; |
| CHECKREG r4, 0x8D8C8E2E; |
| CHECKREG r5, 0xa397CB64; |
| CHECKREG r6, 0xC615CE85; |
| CHECKREG r7, 0x08744494; |
| |
| imm32 r0, 0xd56789d1; |
| imm32 r1, 0x2d89abdd; |
| imm32 r2, 0x34d455d5; |
| imm32 r3, 0x4d667717; |
| imm32 r4, 0x5dd7891b; |
| imm32 r5, 0x6789ab1d; |
| imm32 r6, 0xd44d5515; |
| imm32 r7, 0xd666d777; |
| R0 = R4 +|+ R0, R7 = R4 -|- R0 (CO , ASR); |
| R1 = R4 +|+ R1, R6 = R4 -|- R1 (CO , ASR); |
| R2 = R4 +|+ R2, R5 = R4 -|- R2 (CO , ASR); |
| R3 = R4 +|+ R3, R4 = R4 -|- R3 (CO , ASL); |
| R4 = R4 +|+ R4, R3 = R4 -|- R4 (CO , ASR); |
| R5 = R4 +|+ R5, R2 = R4 -|- R5 (CO , ASL); |
| R6 = R4 +|+ R6, R1 = R4 -|- R6 (CO , ASR); |
| R7 = R4 +|+ R7, R0 = R4 -|- R7 (CO , ASR); |
| CHECKREG r0, 0xeE551231; |
| CHECKREG r1, 0x045D1AB4; |
| CHECKREG r2, 0x18C214CA; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x240820E2; |
| CHECKREG r5, 0x7B566AC6; |
| CHECKREG r6, 0x09531C84; |
| CHECKREG r7, 0x11D6328D; |
| |
| imm32 r0, 0xc567a911; |
| imm32 r1, 0x278aab1d; |
| imm32 r2, 0x3c445515; |
| imm32 r3, 0x46a67717; |
| imm32 r4, 0x55c7891b; |
| imm32 r5, 0x6a8cab1d; |
| imm32 r6, 0x7444c515; |
| imm32 r7, 0xa6667c77; |
| R0 = R5 +|+ R0, R7 = R5 -|- R0 (CO , ASR); |
| R1 = R5 +|+ R1, R6 = R5 -|- R1 (CO , ASL); |
| R2 = R5 +|+ R2, R5 = R5 -|- R2 (CO , ASR); |
| R3 = R5 +|+ R3, R4 = R5 -|- R3 (CO , ASR); |
| R4 = R5 +|+ R4, R3 = R5 -|- R4 (CO , ASR); |
| R5 = R5 +|+ R5, R2 = R5 -|- R5 (CO , ASL); |
| R6 = R5 +|+ R6, R1 = R5 -|- R6 (CO , ASR); |
| R7 = R5 +|+ R7, R0 = R5 -|- R7 (CO , ASR); |
| CHECKREG r0, 0x04FFD585; |
| CHECKREG r1, 0x6B46D608; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x327AeD7F; |
| CHECKREG r4, 0xbD85e4A9; |
| CHECKREG r5, 0xAC105C90; |
| CHECKREG r6, 0xD608F14A; |
| CHECKREG r7, 0xD68B5791; |
| |
| imm32 r0, 0xd5678911; |
| imm32 r1, 0x2ddddd1d; |
| imm32 r2, 0x34ddd515; |
| imm32 r3, 0x46d67717; |
| imm32 r4, 0x5d6d891b; |
| imm32 r5, 0x6789db1d; |
| imm32 r6, 0x74445d15; |
| imm32 r7, 0xd66677d7; |
| R0 = R6 +|+ R0, R7 = R6 -|- R0 (CO , ASR); |
| R1 = R6 +|+ R1, R6 = R6 -|- R1 (CO , ASR); |
| R2 = R6 +|+ R2, R5 = R6 -|- R2 (CO , ASR); |
| R3 = R6 +|+ R3, R4 = R6 -|- R3 (CO , ASL); |
| R4 = R6 +|+ R4, R3 = R6 -|- R4 (CO , ASR); |
| R5 = R6 +|+ R5, R2 = R6 -|- R5 (CO , ASR); |
| R6 = R6 +|+ R6, R1 = R6 -|- R6 (CO , ASL); |
| R7 = R6 +|+ R7, R0 = R6 -|- R7 (CO , ASR); |
| CHECKREG r0, 0x9EAFcAF7; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x0ED20C76; |
| CHECKREG r3, 0x1873F3E2; |
| CHECKREG r4, 0x4C1A0ABF; |
| CHECKREG r5, 0x33851461; |
| CHECKREG r6, 0xFFF08CCC; |
| CHECKREG r7, 0x34F9eE1D; |
| |
| imm32 r0, 0xf567a911; |
| imm32 r1, 0x2f8aab1d; |
| imm32 r2, 0x34a45515; |
| imm32 r3, 0x4a6f7717; |
| imm32 r4, 0x5567f91b; |
| imm32 r5, 0xa789af1d; |
| imm32 r6, 0x74445515; |
| imm32 r7, 0x866677f7; |
| R0 = R7 +|+ R0, R7 = R7 -|- R0 (CO , ASR); |
| R1 = R7 +|+ R1, R6 = R7 -|- R1 (CO , ASL); |
| R2 = R7 +|+ R2, R5 = R7 -|- R2 (CO , ASR); |
| R3 = R7 +|+ R3, R4 = R7 -|- R3 (CO , ASR); |
| R4 = R7 +|+ R4, R3 = R7 -|- R4 (CO , ASL); |
| R5 = R7 +|+ R5, R2 = R7 -|- R5 (CO , ASL); |
| R6 = R7 +|+ R6, R1 = R7 -|- R6 (CO , ASR); |
| R7 = R7 +|+ R7, R0 = R7 -|- R7 (CO , ASL); |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0xaC561657; |
| CHECKREG r2, 0x5E305B7C; |
| CHECKREG r3, 0x73FA7D7E; |
| CHECKREG r4, 0x204EaE02; |
| CHECKREG r5, 0x4250c3CC; |
| CHECKREG r6, 0x511B1C28; |
| CHECKREG r7, 0x9DCC21FC; |
| |
| imm32 r0, 0xe5678911; |
| imm32 r1, 0x2e89ab1d; |
| imm32 r2, 0x34e45515; |
| imm32 r3, 0x46667717; |
| imm32 r4, 0x556e891b; |
| imm32 r5, 0x6789ab1d; |
| imm32 r6, 0x7444e515; |
| imm32 r7, 0x86667e77; |
| R4 = R2 +|+ R5, R3 = R2 -|- R5 (CO , ASR); |
| R0 = R5 +|+ R3, R5 = R5 -|- R3 (CO , ASL); |
| R2 = R6 +|+ R2, R0 = R6 -|- R2 (CO , ASL); |
| R3 = R4 +|+ R0, R2 = R4 -|- R0 (CO , ASR); |
| R7 = R7 +|+ R6, R6 = R7 -|- R6 (CO , ASL); |
| R6 = R1 +|+ R7, R1 = R1 -|- R7 (CO , ASL); |
| R5 = R0 +|+ R4, R7 = R0 -|- R4 (CO , ASR); |
| R1 = R3 +|+ R1, R4 = R3 -|- R1 (CO , ASR); |
| CHECKREG r0, 0x20007EC0; |
| CHECKREG r1, 0xfF9258EB; |
| CHECKREG r2, 0xC0AC171B; |
| CHECKREG r3, 0x371B3F6C; |
| CHECKREG r4, 0xE6813788; |
| CHECKREG r5, 0x371B3F6C; |
| CHECKREG r6, 0x47BAE46A; |
| CHECKREG r7, 0x3F53e8E5; |
| |
| imm32 r0, 0xd5678911; |
| imm32 r1, 0xff89ab1d; |
| imm32 r2, 0x34f45515; |
| imm32 r3, 0x46667717; |
| imm32 r4, 0x556f891b; |
| imm32 r5, 0x6789fb1d; |
| imm32 r6, 0x74445f15; |
| imm32 r7, 0x866677f7; |
| R4 = R3 +|+ R3, R5 = R3 -|- R3 (CO , ASR); |
| R1 = R6 +|+ R1, R6 = R6 -|- R1 (CO , ASL); |
| R6 = R1 +|+ R4, R4 = R1 -|- R4 (CO , ASL); |
| R7 = R4 +|+ R2, R0 = R4 -|- R2 (CO , ASR); |
| R2 = R2 +|+ R6, R1 = R2 -|- R6 (CO , ASR); |
| R3 = R5 +|+ R5, R7 = R5 -|- R5 (CO , ASL); |
| R5 = R7 +|+ R7, R3 = R7 -|- R7 (CO , ASL); |
| R0 = R0 +|+ R0, R2 = R0 -|- R0 (CO , ASR); |
| CHECKREG r0, 0xF6A902D3; |
| CHECKREG r1, 0x1F0FEC7A; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x3A9A4268; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x5C0016F6; |
| CHECKREG r7, 0x00000000; |
| |
| pass |