| //Original:/testcases/core/c_dsp32shift_align24/c_dsp32shift_align24.dsp |
| // Spec Reference: dsp32shift align24 |
| # mach: bfin |
| |
| .include "testutils.inc" |
| start |
| |
| imm32 r0, 0x00000001; |
| imm32 r1, 0x01000801; |
| imm32 r2, 0x08200802; |
| imm32 r3, 0x08030803; |
| imm32 r4, 0x08004804; |
| imm32 r5, 0x08000505; |
| imm32 r6, 0x08000866; |
| imm32 r7, 0x08000807; |
| R1 = ALIGN24 ( R1 , R0 ); |
| R2 = ALIGN24 ( R2 , R0 ); |
| R3 = ALIGN24 ( R3 , R0 ); |
| R4 = ALIGN24 ( R4 , R0 ); |
| R5 = ALIGN24 ( R5 , R0 ); |
| R6 = ALIGN24 ( R6 , R0 ); |
| R7 = ALIGN24 ( R7 , R0 ); |
| R0 = ALIGN24 ( R0 , R0 ); |
| CHECKREG r0, 0x00000100; |
| CHECKREG r1, 0x00080100; |
| CHECKREG r2, 0x20080200; |
| CHECKREG r3, 0x03080300; |
| CHECKREG r4, 0x00480400; |
| CHECKREG r5, 0x00050500; |
| CHECKREG r6, 0x00086600; |
| CHECKREG r7, 0x00080700; |
| |
| imm32 r0, 0x0900d001; |
| imm32 r1, 0x09000002; |
| imm32 r2, 0x09400002; |
| imm32 r3, 0x09100003; |
| imm32 r4, 0x09020004; |
| imm32 r5, 0x09003005; |
| imm32 r6, 0x09000406; |
| imm32 r7, 0x09000057; |
| R0 = ALIGN24 ( R0 , R1 ); |
| R2 = ALIGN24 ( R2 , R1 ); |
| R3 = ALIGN24 ( R3 , R1 ); |
| R4 = ALIGN24 ( R4 , R1 ); |
| R5 = ALIGN24 ( R5 , R1 ); |
| R6 = ALIGN24 ( R6 , R1 ); |
| R7 = ALIGN24 ( R7 , R1 ); |
| R1 = ALIGN24 ( R1 , R1 ); |
| CHECKREG r0, 0x00D00109; |
| CHECKREG r1, 0x00000209; |
| CHECKREG r2, 0x40000209; |
| CHECKREG r3, 0x10000309; |
| CHECKREG r4, 0x02000409; |
| CHECKREG r5, 0x00300509; |
| CHECKREG r6, 0x00040609; |
| CHECKREG r7, 0x00005709; |
| |
| |
| imm32 r0, 0x0a00e001; |
| imm32 r1, 0x0a00e001; |
| imm32 r2, 0x0a00000f; |
| imm32 r3, 0x0a400010; |
| imm32 r4, 0x0a05e004; |
| imm32 r5, 0x0a006005; |
| imm32 r6, 0x0a00e706; |
| imm32 r7, 0x0a00e087; |
| R0 = ALIGN24 ( R0 , R2 ); |
| R1 = ALIGN24 ( R1 , R2 ); |
| R3 = ALIGN24 ( R3 , R2 ); |
| R4 = ALIGN24 ( R4 , R2 ); |
| R5 = ALIGN24 ( R5 , R2 ); |
| R6 = ALIGN24 ( R6 , R2 ); |
| R7 = ALIGN24 ( R7 , R2 ); |
| R2 = ALIGN24 ( R2 , R2 ); |
| CHECKREG r0, 0x00E0010A; |
| CHECKREG r1, 0x00E0010A; |
| CHECKREG r2, 0x00000F0A; |
| CHECKREG r3, 0x4000100A; |
| CHECKREG r4, 0x05E0040A; |
| CHECKREG r5, 0x0060050A; |
| CHECKREG r6, 0x00E7060A; |
| CHECKREG r7, 0x00E0870A; |
| |
| imm32 r0, 0x2b00f001; |
| imm32 r1, 0x0300f001; |
| imm32 r2, 0x0b40f002; |
| imm32 r3, 0x0b050010; |
| imm32 r4, 0x0b006004; |
| imm32 r5, 0x0b00f705; |
| imm32 r6, 0x0b00f086; |
| imm32 r7, 0x0b00f009; |
| R0 = ALIGN24 ( R0 , R3 ); |
| R1 = ALIGN24 ( R1 , R3 ); |
| R2 = ALIGN24 ( R2 , R3 ); |
| R4 = ALIGN24 ( R4 , R3 ); |
| R5 = ALIGN24 ( R5 , R3 ); |
| R6 = ALIGN24 ( R6 , R3 ); |
| R7 = ALIGN24 ( R7 , R3 ); |
| R3 = ALIGN24 ( R3 , R3 ); |
| CHECKREG r0, 0x00F0010B; |
| CHECKREG r1, 0x00F0010B; |
| CHECKREG r2, 0x40F0020B; |
| CHECKREG r3, 0x0500100B; |
| CHECKREG r4, 0x0060040B; |
| CHECKREG r5, 0x00F7050B; |
| CHECKREG r6, 0x00F0860B; |
| CHECKREG r7, 0x00F0090B; |
| |
| imm32 r0, 0x4c0000c0; |
| imm32 r1, 0x050100c0; |
| imm32 r2, 0x0c6200c0; |
| imm32 r3, 0x0c0700c0; |
| imm32 r4, 0x0c04800c; |
| imm32 r5, 0x0c0509c0; |
| imm32 r6, 0x0c060000; |
| imm32 r7, 0x0c0700ca; |
| R0 = ALIGN24 ( R0 , R4 ); |
| R1 = ALIGN24 ( R1 , R4 ); |
| R2 = ALIGN24 ( R2 , R4 ); |
| R3 = ALIGN24 ( R3 , R4 ); |
| R5 = ALIGN24 ( R5 , R4 ); |
| R6 = ALIGN24 ( R6 , R4 ); |
| R7 = ALIGN24 ( R7 , R4 ); |
| R4 = ALIGN24 ( R4 , R4 ); |
| CHECKREG r0, 0x0000C00C; |
| CHECKREG r1, 0x0100C00C; |
| CHECKREG r2, 0x6200C00C; |
| CHECKREG r3, 0x0700C00C; |
| CHECKREG r4, 0x04800C0C; |
| CHECKREG r5, 0x0509C00C; |
| CHECKREG r6, 0x0600000C; |
| CHECKREG r7, 0x0700CA0C; |
| |
| imm32 r0, 0xa00100d0; |
| imm32 r1, 0xa00100d1; |
| imm32 r2, 0xa00200d0; |
| imm32 r3, 0xa00300d0; |
| imm32 r4, 0xa00400d0; |
| imm32 r5, 0xa0050007; |
| imm32 r6, 0xa00600d0; |
| imm32 r7, 0xa00700d0; |
| R0 = ALIGN24 ( R0 , R5 ); |
| R1 = ALIGN24 ( R1 , R5 ); |
| R2 = ALIGN24 ( R2 , R5 ); |
| R3 = ALIGN24 ( R3 , R5 ); |
| R4 = ALIGN24 ( R4 , R5 ); |
| R6 = ALIGN24 ( R6 , R5 ); |
| R7 = ALIGN24 ( R7 , R5 ); |
| R5 = ALIGN24 ( R5 , R5 ); |
| CHECKREG r0, 0x0100D0A0; |
| CHECKREG r1, 0x0100D1A0; |
| CHECKREG r2, 0x0200D0A0; |
| CHECKREG r3, 0x0300D0A0; |
| CHECKREG r4, 0x0400D0A0; |
| CHECKREG r5, 0x050007A0; |
| CHECKREG r6, 0x0600D0A0; |
| CHECKREG r7, 0x0700D0A0; |
| |
| imm32 r0, 0xb2010000; |
| imm32 r1, 0xb0310000; |
| imm32 r2, 0xb042000f; |
| imm32 r3, 0xbf030000; |
| imm32 r4, 0xba040000; |
| imm32 r5, 0xbb050000; |
| imm32 r6, 0xbc060009; |
| imm32 r7, 0xb0e70000; |
| R0 = ALIGN24 ( R0 , R6 ); |
| R1 = ALIGN24 ( R1 , R6 ); |
| R2 = ALIGN24 ( R2 , R6 ); |
| R3 = ALIGN24 ( R3 , R6 ); |
| R4 = ALIGN24 ( R4 , R6 ); |
| R5 = ALIGN24 ( R5 , R6 ); |
| R6 = ALIGN24 ( R6 , R6 ); |
| R7 = ALIGN24 ( R7 , R6 ); |
| CHECKREG r0, 0x010000BC; |
| CHECKREG r1, 0x310000BC; |
| CHECKREG r2, 0x42000FBC; |
| CHECKREG r3, 0x030000BC; |
| CHECKREG r4, 0x040000BC; |
| CHECKREG r5, 0x050000BC; |
| CHECKREG r6, 0x060009BC; |
| CHECKREG r7, 0xE7000006; |
| |
| imm32 r0, 0xd23100e0; |
| imm32 r1, 0xd04500e0; |
| imm32 r2, 0xde32f0e0; |
| imm32 r3, 0xd90300e0; |
| imm32 r4, 0xd07400e0; |
| imm32 r5, 0xdef500e0; |
| imm32 r6, 0xd06600e0; |
| imm32 r7, 0xd0080023; |
| R1 = ALIGN24 ( R0 , R7 ); |
| R2 = ALIGN24 ( R1 , R7 ); |
| R3 = ALIGN24 ( R2 , R7 ); |
| R4 = ALIGN24 ( R3 , R7 ); |
| R5 = ALIGN24 ( R4 , R7 ); |
| R6 = ALIGN24 ( R5 , R7 ); |
| R7 = ALIGN24 ( R6 , R7 ); |
| R0 = ALIGN24 ( R7 , R7 ); |
| CHECKREG r0, 0xD0D0D0D0; |
| CHECKREG r1, 0x3100E0D0; |
| CHECKREG r2, 0x00E0D0D0; |
| CHECKREG r3, 0xE0D0D0D0; |
| CHECKREG r4, 0xD0D0D0D0; |
| CHECKREG r5, 0xD0D0D0D0; |
| CHECKREG r6, 0xD0D0D0D0; |
| CHECKREG r7, 0xD0D0D0D0; |
| |
| |
| pass |