OLD | NEW |
1 //Original:/testcases/core/c_dsp32shiftim_amix/c_dsp32shiftim_amix.dsp | 1 //Original:/testcases/core/c_dsp32shiftim_amix/c_dsp32shiftim_amix.dsp |
2 # mach: bfin | 2 # mach: bfin |
3 | 3 |
4 .include "testutils.inc" | 4 .include "testutils.inc" |
5 start | 5 start |
6 | 6 |
7 | 7 |
8 // Spec Reference: dsp32shiftimm ashift: mix | 8 // Spec Reference: dsp32shiftimm ashift: mix |
9 | 9 |
10 | 10 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 CHECKREG r6, 0x80fe00f0; | 107 CHECKREG r6, 0x80fe00f0; |
108 CHECKREG r7, 0x81fc01e0; | 108 CHECKREG r7, 0x81fc01e0; |
109 | 109 |
110 imm32 r0, 0xc80fe00f; | 110 imm32 r0, 0xc80fe00f; |
111 imm32 r2, 0xe40fe00f; | 111 imm32 r2, 0xe40fe00f; |
112 R6 = R0 << 4 (S); /* r6 = 0x80000000 zero bubble tru MSB */ | 112 R6 = R0 << 4 (S); /* r6 = 0x80000000 zero bubble tru MSB */ |
113 R7 = R2 << 5 (S); /* r7 = 0x80000000 */ | 113 R7 = R2 << 5 (S); /* r7 = 0x80000000 */ |
114 CHECKREG r6, 0x80000000; | 114 CHECKREG r6, 0x80000000; |
115 CHECKREG r7, 0x80000000; | 115 CHECKREG r7, 0x80000000; |
116 | 116 |
| 117 imm32 r0, 0xFFFFFFF4; |
| 118 imm32 r2, 0xFFF00001; |
| 119 R6 = R0 << 31 (S); /* r6 = 0x80000000 */ |
| 120 R7 = R2 << 31 (S); /* r7 = 0x80000000 */ |
| 121 CHECKREG r6, 0x80000000; |
| 122 CHECKREG r7, 0x80000000; |
| 123 |
117 | 124 |
118 // Ashift : NEGATIVE data, count (-)=right (half reg) Working ok | 125 // Ashift : NEGATIVE data, count (-)=right (half reg) Working ok |
119 imm32 r0, 0x80f080f0; | 126 imm32 r0, 0x80f080f0; |
120 imm32 r1, -1; | 127 imm32 r1, -1; |
121 imm32 r2, 0x80f080f0; | 128 imm32 r2, 0x80f080f0; |
122 imm32 r3, -2; | 129 imm32 r3, -2; |
123 R4.H = R0.H >>> 1; | 130 R4.H = R0.H >>> 1; |
124 R4.L = R0.L >>> 1; /* r4 = 0xc078c078 */ | 131 R4.L = R0.L >>> 1; /* r4 = 0xc078c078 */ |
125 R5.H = R2.H >>> 2; | 132 R5.H = R2.H >>> 2; |
126 R5.L = R2.L >>> 2; /* r4 = 0xe03ce03c */ | 133 R5.L = R2.L >>> 2; /* r4 = 0xe03ce03c */ |
127 CHECKREG r4, 0xc078c078; | 134 CHECKREG r4, 0xc078c078; |
128 CHECKREG r5, 0xe03ce03c; | 135 CHECKREG r5, 0xe03ce03c; |
129 R6 = R0 >>> 1 (V); /* r6 = 0xc078c078 */ | 136 R6 = R0 >>> 1 (V); /* r6 = 0xc078c078 */ |
130 R7 = R2 >>> 2 (V); /* r7 = 0xe03ce03c */ | 137 R7 = R2 >>> 2 (V); /* r7 = 0xe03ce03c */ |
131 CHECKREG r6, 0xc078c078; | 138 CHECKREG r6, 0xc078c078; |
132 CHECKREG r7, 0xe03ce03c; | 139 CHECKREG r7, 0xe03ce03c; |
133 | 140 |
134 imm32 r1, -3; | 141 imm32 r1, -3; |
135 imm32 r3, -4; | 142 imm32 r3, -4; |
136 R6 = R0 >>> 3; /* r6 = 0xf01e101e */ | 143 R6 = R0 >>> 3; /* r6 = 0xf01e101e */ |
137 R7 = R2 >>> 4; /* r7 = 0xf80f080f */ | 144 R7 = R2 >>> 4; /* r7 = 0xf80f080f */ |
138 CHECKREG r6, 0xf01e101e; | 145 CHECKREG r6, 0xf01e101e; |
139 CHECKREG r7, 0xf80f080f; | 146 CHECKREG r7, 0xf80f080f; |
140 | 147 |
141 | 148 |
142 pass | 149 pass |
OLD | NEW |