1//Original:/proj/frio/dv/testcases/core/c_dsp32alu_rh_rnd12_m/c_dsp32alu_rh_rnd12_m.dsp 2// Spec Reference: dsp32alu dreg (half) 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 imm32 r0, 0x45678ad1; 9 imm32 r1, 0x2789ab1d; 10 imm32 r2, 0xf4445545; 11 imm32 r3, 0x46667767; 12 imm32 r4, 0xe678891b; 13 imm32 r5, 0x6f89ab1d; 14 imm32 r6, 0x7444d565; 15 imm32 r7, 0x8666b797; 16 R0.H = R0 - R0 (RND12); 17 R1.H = R0 - R1 (RND12); 18 R2.H = R0 - R2 (RND12); 19 R3.H = R0 - R3 (RND12); 20 R4.H = R0 - R4 (RND12); 21 R5.H = R0 - R5 (RND12); 22 R6.H = R0 - R6 (RND12); 23 R7.H = R0 - R7 (RND12); 24 CHECKREG r0, 0x00008AD1; 25 CHECKREG r1, 0x8000AB1D; 26 CHECKREG r2, 0x7fff5545; 27 CHECKREG r3, 0x80007767; 28 CHECKREG r4, 0x7fff891B; 29 CHECKREG r5, 0x8000AB1D; 30 CHECKREG r6, 0x8000D565; 31 CHECKREG r7, 0x7fffB797; 32 33 imm32 r0, 0xd5678911; 34 imm32 r1, 0x2789ab1d; 35 imm32 r2, 0xa4445515; 36 imm32 r3, 0x46667717; 37 imm32 r4, 0x5b78891b; 38 imm32 r5, 0x6789ab1d; 39 imm32 r6, 0x74e45515; 40 imm32 r7, 0x86a6b777; 41 R0.H = R1 - R0 (RND12); 42 R1.H = R1 - R1 (RND12); 43 R2.H = R1 - R2 (RND12); 44 R3.H = R1 - R3 (RND12); 45 R4.H = R1 - R4 (RND12); 46 R5.H = R1 - R5 (RND12); 47 R6.H = R1 - R6 (RND12); 48 R7.H = R1 - R7 (RND12); 49 CHECKREG r0, 0x7fff8911; 50 CHECKREG r1, 0x0000AB1D; 51 CHECKREG r2, 0x7fff5515; 52 CHECKREG r3, 0x80007717; 53 CHECKREG r4, 0x8000891B; 54 CHECKREG r5, 0x8000AB1D; 55 CHECKREG r6, 0x80005515; 56 CHECKREG r7, 0x7fffB777; 57 58 imm32 r0, 0xa5678091; 59 imm32 r1, 0x2789ab1d; 60 imm32 r2, 0xb4445515; 61 imm32 r3, 0x46667717; 62 imm32 r4, 0xd678891b; 63 imm32 r5, 0x6e89ab4d; 64 imm32 r6, 0x74445567; 65 imm32 r7, 0x86967757; 66 R0.H = R2 - R0 (RND12); 67 R1.H = R2 - R1 (RND12); 68 R2.H = R2 - R2 (RND12); 69 R3.H = R2 - R3 (RND12); 70 R4.H = R2 - R4 (RND12); 71 R5.H = R2 - R5 (RND12); 72 R6.H = R2 - R6 (RND12); 73 R7.H = R2 - R7 (RND12); 74 CHECKREG r0, 0x7fff8091; 75 CHECKREG r1, 0x8000AB1D; 76 CHECKREG r2, 0x00005515; 77 CHECKREG r3, 0x80007717; 78 CHECKREG r4, 0x7fff891B; 79 CHECKREG r5, 0x8000AB4D; 80 CHECKREG r6, 0x80005567; 81 CHECKREG r7, 0x7fff7757; 82 83 imm32 r0, 0x35678991; 84 imm32 r1, 0x2789ab8d; 85 imm32 r2, 0xd4445515; 86 imm32 r3, 0x46667737; 87 imm32 r4, 0x5678891b; 88 imm32 r5, 0xeab9ab4d; 89 imm32 r6, 0x744e5515; 90 imm32 r7, 0x866e747f; 91 R0.H = R3 - R0 (RND12); 92 R1.H = R3 - R1 (RND12); 93 R2.H = R3 - R2 (RND12); 94 R3.H = R3 - R3 (RND12); 95 R4.H = R3 - R4 (RND12); 96 R5.H = R3 - R5 (RND12); 97 R6.H = R3 - R6 (RND12); 98 R7.H = R3 - R7 (RND12); 99 CHECKREG r0, 0x7fff8991; 100 CHECKREG r1, 0x7fffAB8D; 101 CHECKREG r2, 0x7fff5515; 102 CHECKREG r3, 0x00007737; 103 CHECKREG r4, 0x8000891B; 104 CHECKREG r5, 0x7fffAB4D; 105 CHECKREG r6, 0x80005515; 106 CHECKREG r7, 0x7fff747F; 107 108 imm32 r0, 0xe5678931; 109 imm32 r1, 0x2789ab1d; 110 imm32 r2, 0x34e45555; 111 imm32 r3, 0xd6667767; 112 imm32 r4, 0x5675891b; 113 imm32 r5, 0x6789abfd; 114 imm32 r6, 0xa4465515; 115 imm32 r7, 0x8b66e7b7; 116 R0.H = R4 - R0 (RND12); 117 R1.H = R4 - R1 (RND12); 118 R2.H = R4 - R2 (RND12); 119 R3.H = R4 - R3 (RND12); 120 R4.H = R4 - R4 (RND12); 121 R5.H = R4 - R5 (RND12); 122 R6.H = R4 - R6 (RND12); 123 R7.H = R4 - R7 (RND12); 124 CHECKREG r0, 0x7fff8931; 125 CHECKREG r1, 0x7fffAB1D; 126 CHECKREG r2, 0x7fff5555; 127 CHECKREG r3, 0x7fff7767; 128 CHECKREG r4, 0x0000891B; 129 CHECKREG r5, 0x8000ABFD; 130 CHECKREG r6, 0x7fff5515; 131 CHECKREG r7, 0x7fffE7B7; 132 133 imm32 r0, 0x35678931; 134 imm32 r1, 0x2789ab4d; 135 imm32 r2, 0x3e445585; 136 imm32 r3, 0x46667717; 137 imm32 r4, 0xe6f8899b; 138 imm32 r5, 0x6789db1d; 139 imm32 r6, 0xf44a5515; 140 imm32 r7, 0x866b77b7; 141 R0.H = R5 - R0 (RND12); 142 R1.H = R5 - R1 (RND12); 143 R2.H = R5 - R2 (RND12); 144 R3.H = R5 - R3 (RND12); 145 R4.H = R5 - R4 (RND12); 146 R5.H = R5 - R5 (RND12); 147 R6.H = R5 - R6 (RND12); 148 R7.H = R5 - R7 (RND12); 149 CHECKREG r0, 0x7fff8931; 150 CHECKREG r1, 0x7fffAB4D; 151 CHECKREG r2, 0x7fff5585; 152 CHECKREG r3, 0x7fff7717; 153 CHECKREG r4, 0x7fff899B; 154 CHECKREG r5, 0x0000DB1D; 155 CHECKREG r6, 0x7fff5515; 156 CHECKREG r7, 0x7fff77B7; 157 158 imm32 r0, 0xb5678911; 159 imm32 r1, 0xc789ab1d; 160 imm32 r2, 0x3ab45515; 161 imm32 r3, 0x466b7717; 162 imm32 r4, 0x4678e91b; 163 imm32 r5, 0x6789af1d; 164 imm32 r6, 0xf4445515; 165 imm32 r7, 0x86e6f777; 166 R0.H = R6 - R0 (RND12); 167 R1.H = R6 - R1 (RND12); 168 R2.H = R6 - R2 (RND12); 169 R3.H = R6 - R3 (RND12); 170 R4.H = R6 - R4 (RND12); 171 R5.H = R6 - R5 (RND12); 172 R6.H = R6 - R6 (RND12); 173 R7.H = R6 - R7 (RND12); 174 CHECKREG r0, 0x7fff8911; 175 CHECKREG r1, 0x7fffAB1D; 176 CHECKREG r2, 0x80005515; 177 CHECKREG r3, 0x80007717; 178 CHECKREG r4, 0x8000E91B; 179 CHECKREG r5, 0x8000AF1D; 180 CHECKREG r6, 0x00005515; 181 CHECKREG r7, 0x7fffF777; 182 183 imm32 r0, 0xab678051; 184 imm32 r1, 0x2c89a26d; 185 imm32 r2, 0x34d455f5; 186 imm32 r3, 0x466e7717; 187 imm32 r4, 0x567f89bb; 188 imm32 r5, 0x6789ab1d; 189 imm32 r6, 0x744e55a5; 190 imm32 r7, 0x8666ab77; 191 R0.H = R7 - R0 (RND12); 192 R1.H = R7 - R1 (RND12); 193 R2.H = R7 - R2 (RND12); 194 R3.H = R7 - R3 (RND12); 195 R4.H = R7 - R4 (RND12); 196 R5.H = R7 - R5 (RND12); 197 R6.H = R7 - R6 (RND12); 198 R7.H = R7 - R7 (RND12); 199 CHECKREG r0, 0x80008051; 200 CHECKREG r1, 0x8000A26D; 201 CHECKREG r2, 0x800055F5; 202 CHECKREG r3, 0x80007717; 203 CHECKREG r4, 0x800089BB; 204 CHECKREG r5, 0x8000AB1D; 205 CHECKREG r6, 0x800055A5; 206 CHECKREG r7, 0x0000AB77; 207 208 imm32 r0, 0x15678901; 209 imm32 r1, 0x2789abad; 210 imm32 r2, 0x34445515; 211 imm32 r3, 0x466677d7; 212 imm32 r4, 0x5678891b; 213 imm32 r5, 0x6789ab1d; 214 imm32 r6, 0x74445535; 215 imm32 r7, 0x86667747; 216 R6.H = R2 - R3 (RND12); 217 R1.H = R4 - R5 (RND12); 218 R5.H = R7 - R2 (RND12); 219 R3.H = R0 - R0 (RND12); 220 R0.H = R3 - R4 (RND12); 221 R2.H = R5 - R7 (RND12); 222 R7.H = R6 - R7 (RND12); 223 R4.H = R1 - R6 (RND12); 224 CHECKREG r0, 0x80008901; 225 CHECKREG r1, 0x8000ABAD; 226 CHECKREG r2, 0x99a35515; 227 CHECKREG r3, 0x000077D7; 228 CHECKREG r4, 0x0005891B; 229 CHECKREG r5, 0x8000AB1D; 230 CHECKREG r6, 0x80005535; 231 CHECKREG r7, 0x999e7747; 232 233 imm32 r0, 0x15678121; 234 imm32 r1, 0x2789ab3d; 235 imm32 r2, 0x34445565; 236 imm32 r3, 0x4d667797; 237 imm32 r4, 0x567889ab; 238 imm32 r5, 0x67beabbd; 239 imm32 r6, 0x7b445515; 240 imm32 r7, 0x86d6e777; 241 R3.H = R4 - R0 (RND12); 242 R1.H = R6 - R3 (RND12); 243 R4.H = R3 - R2 (RND12); 244 R6.H = R7 - R1 (RND12); 245 R2.H = R5 - R4 (RND12); 246 R7.H = R2 - R7 (RND12); 247 R0.H = R1 - R6 (RND12); 248 R5.H = R0 - R5 (RND12); 249 CHECKREG r0, 0x7fff8121; 250 CHECKREG r1, 0xb44eAB3D; 251 CHECKREG r2, 0x80005565; 252 CHECKREG r3, 0x7fff7797; 253 CHECKREG r4, 0x7fff89AB; 254 CHECKREG r5, 0x7fffABBD; 255 CHECKREG r6, 0x80005515; 256 CHECKREG r7, 0x9297E777; 257 258 pass 259