1 //Original:/testcases/core/c_dsp32shift_align24/c_dsp32shift_align24.dsp 2 // Spec Reference: dsp32shift align24 3 # mach: bfin 4 5 .include "testutils.inc" 6 start 7 8 imm32 r0, 0x00000001; 9 imm32 r1, 0x01000801; 10 imm32 r2, 0x08200802; 11 imm32 r3, 0x08030803; 12 imm32 r4, 0x08004804; 13 imm32 r5, 0x08000505; 14 imm32 r6, 0x08000866; 15 imm32 r7, 0x08000807; 16 R1 = ALIGN24 ( R1 , R0 ); 17 R2 = ALIGN24 ( R2 , R0 ); 18 R3 = ALIGN24 ( R3 , R0 ); 19 R4 = ALIGN24 ( R4 , R0 ); 20 R5 = ALIGN24 ( R5 , R0 ); 21 R6 = ALIGN24 ( R6 , R0 ); 22 R7 = ALIGN24 ( R7 , R0 ); 23 R0 = ALIGN24 ( R0 , R0 ); 24 CHECKREG r0, 0x00000100; 25 CHECKREG r1, 0x00080100; 26 CHECKREG r2, 0x20080200; 27 CHECKREG r3, 0x03080300; 28 CHECKREG r4, 0x00480400; 29 CHECKREG r5, 0x00050500; 30 CHECKREG r6, 0x00086600; 31 CHECKREG r7, 0x00080700; 32 33 imm32 r0, 0x0900d001; 34 imm32 r1, 0x09000002; 35 imm32 r2, 0x09400002; 36 imm32 r3, 0x09100003; 37 imm32 r4, 0x09020004; 38 imm32 r5, 0x09003005; 39 imm32 r6, 0x09000406; 40 imm32 r7, 0x09000057; 41 R0 = ALIGN24 ( R0 , R1 ); 42 R2 = ALIGN24 ( R2 , R1 ); 43 R3 = ALIGN24 ( R3 , R1 ); 44 R4 = ALIGN24 ( R4 , R1 ); 45 R5 = ALIGN24 ( R5 , R1 ); 46 R6 = ALIGN24 ( R6 , R1 ); 47 R7 = ALIGN24 ( R7 , R1 ); 48 R1 = ALIGN24 ( R1 , R1 ); 49 CHECKREG r0, 0x00D00109; 50 CHECKREG r1, 0x00000209; 51 CHECKREG r2, 0x40000209; 52 CHECKREG r3, 0x10000309; 53 CHECKREG r4, 0x02000409; 54 CHECKREG r5, 0x00300509; 55 CHECKREG r6, 0x00040609; 56 CHECKREG r7, 0x00005709; 57 58 59 imm32 r0, 0x0a00e001; 60 imm32 r1, 0x0a00e001; 61 imm32 r2, 0x0a00000f; 62 imm32 r3, 0x0a400010; 63 imm32 r4, 0x0a05e004; 64 imm32 r5, 0x0a006005; 65 imm32 r6, 0x0a00e706; 66 imm32 r7, 0x0a00e087; 67 R0 = ALIGN24 ( R0 , R2 ); 68 R1 = ALIGN24 ( R1 , R2 ); 69 R3 = ALIGN24 ( R3 , R2 ); 70 R4 = ALIGN24 ( R4 , R2 ); 71 R5 = ALIGN24 ( R5 , R2 ); 72 R6 = ALIGN24 ( R6 , R2 ); 73 R7 = ALIGN24 ( R7 , R2 ); 74 R2 = ALIGN24 ( R2 , R2 ); 75 CHECKREG r0, 0x00E0010A; 76 CHECKREG r1, 0x00E0010A; 77 CHECKREG r2, 0x00000F0A; 78 CHECKREG r3, 0x4000100A; 79 CHECKREG r4, 0x05E0040A; 80 CHECKREG r5, 0x0060050A; 81 CHECKREG r6, 0x00E7060A; 82 CHECKREG r7, 0x00E0870A; 83 84 imm32 r0, 0x2b00f001; 85 imm32 r1, 0x0300f001; 86 imm32 r2, 0x0b40f002; 87 imm32 r3, 0x0b050010; 88 imm32 r4, 0x0b006004; 89 imm32 r5, 0x0b00f705; 90 imm32 r6, 0x0b00f086; 91 imm32 r7, 0x0b00f009; 92 R0 = ALIGN24 ( R0 , R3 ); 93 R1 = ALIGN24 ( R1 , R3 ); 94 R2 = ALIGN24 ( R2 , R3 ); 95 R4 = ALIGN24 ( R4 , R3 ); 96 R5 = ALIGN24 ( R5 , R3 ); 97 R6 = ALIGN24 ( R6 , R3 ); 98 R7 = ALIGN24 ( R7 , R3 ); 99 R3 = ALIGN24 ( R3 , R3 ); 100 CHECKREG r0, 0x00F0010B; 101 CHECKREG r1, 0x00F0010B; 102 CHECKREG r2, 0x40F0020B; 103 CHECKREG r3, 0x0500100B; 104 CHECKREG r4, 0x0060040B; 105 CHECKREG r5, 0x00F7050B; 106 CHECKREG r6, 0x00F0860B; 107 CHECKREG r7, 0x00F0090B; 108 109 imm32 r0, 0x4c0000c0; 110 imm32 r1, 0x050100c0; 111 imm32 r2, 0x0c6200c0; 112 imm32 r3, 0x0c0700c0; 113 imm32 r4, 0x0c04800c; 114 imm32 r5, 0x0c0509c0; 115 imm32 r6, 0x0c060000; 116 imm32 r7, 0x0c0700ca; 117 R0 = ALIGN24 ( R0 , R4 ); 118 R1 = ALIGN24 ( R1 , R4 ); 119 R2 = ALIGN24 ( R2 , R4 ); 120 R3 = ALIGN24 ( R3 , R4 ); 121 R5 = ALIGN24 ( R5 , R4 ); 122 R6 = ALIGN24 ( R6 , R4 ); 123 R7 = ALIGN24 ( R7 , R4 ); 124 R4 = ALIGN24 ( R4 , R4 ); 125 CHECKREG r0, 0x0000C00C; 126 CHECKREG r1, 0x0100C00C; 127 CHECKREG r2, 0x6200C00C; 128 CHECKREG r3, 0x0700C00C; 129 CHECKREG r4, 0x04800C0C; 130 CHECKREG r5, 0x0509C00C; 131 CHECKREG r6, 0x0600000C; 132 CHECKREG r7, 0x0700CA0C; 133 134 imm32 r0, 0xa00100d0; 135 imm32 r1, 0xa00100d1; 136 imm32 r2, 0xa00200d0; 137 imm32 r3, 0xa00300d0; 138 imm32 r4, 0xa00400d0; 139 imm32 r5, 0xa0050007; 140 imm32 r6, 0xa00600d0; 141 imm32 r7, 0xa00700d0; 142 R0 = ALIGN24 ( R0 , R5 ); 143 R1 = ALIGN24 ( R1 , R5 ); 144 R2 = ALIGN24 ( R2 , R5 ); 145 R3 = ALIGN24 ( R3 , R5 ); 146 R4 = ALIGN24 ( R4 , R5 ); 147 R6 = ALIGN24 ( R6 , R5 ); 148 R7 = ALIGN24 ( R7 , R5 ); 149 R5 = ALIGN24 ( R5 , R5 ); 150 CHECKREG r0, 0x0100D0A0; 151 CHECKREG r1, 0x0100D1A0; 152 CHECKREG r2, 0x0200D0A0; 153 CHECKREG r3, 0x0300D0A0; 154 CHECKREG r4, 0x0400D0A0; 155 CHECKREG r5, 0x050007A0; 156 CHECKREG r6, 0x0600D0A0; 157 CHECKREG r7, 0x0700D0A0; 158 159 imm32 r0, 0xb2010000; 160 imm32 r1, 0xb0310000; 161 imm32 r2, 0xb042000f; 162 imm32 r3, 0xbf030000; 163 imm32 r4, 0xba040000; 164 imm32 r5, 0xbb050000; 165 imm32 r6, 0xbc060009; 166 imm32 r7, 0xb0e70000; 167 R0 = ALIGN24 ( R0 , R6 ); 168 R1 = ALIGN24 ( R1 , R6 ); 169 R2 = ALIGN24 ( R2 , R6 ); 170 R3 = ALIGN24 ( R3 , R6 ); 171 R4 = ALIGN24 ( R4 , R6 ); 172 R5 = ALIGN24 ( R5 , R6 ); 173 R6 = ALIGN24 ( R6 , R6 ); 174 R7 = ALIGN24 ( R7 , R6 ); 175 CHECKREG r0, 0x010000BC; 176 CHECKREG r1, 0x310000BC; 177 CHECKREG r2, 0x42000FBC; 178 CHECKREG r3, 0x030000BC; 179 CHECKREG r4, 0x040000BC; 180 CHECKREG r5, 0x050000BC; 181 CHECKREG r6, 0x060009BC; 182 CHECKREG r7, 0xE7000006; 183 184 imm32 r0, 0xd23100e0; 185 imm32 r1, 0xd04500e0; 186 imm32 r2, 0xde32f0e0; 187 imm32 r3, 0xd90300e0; 188 imm32 r4, 0xd07400e0; 189 imm32 r5, 0xdef500e0; 190 imm32 r6, 0xd06600e0; 191 imm32 r7, 0xd0080023; 192 R1 = ALIGN24 ( R0 , R7 ); 193 R2 = ALIGN24 ( R1 , R7 ); 194 R3 = ALIGN24 ( R2 , R7 ); 195 R4 = ALIGN24 ( R3 , R7 ); 196 R5 = ALIGN24 ( R4 , R7 ); 197 R6 = ALIGN24 ( R5 , R7 ); 198 R7 = ALIGN24 ( R6 , R7 ); 199 R0 = ALIGN24 ( R7 , R7 ); 200 CHECKREG r0, 0xD0D0D0D0; 201 CHECKREG r1, 0x3100E0D0; 202 CHECKREG r2, 0x00E0D0D0; 203 CHECKREG r3, 0xE0D0D0D0; 204 CHECKREG r4, 0xD0D0D0D0; 205 CHECKREG r5, 0xD0D0D0D0; 206 CHECKREG r6, 0xD0D0D0D0; 207 CHECKREG r7, 0xD0D0D0D0; 208 209 210 pass 211