1 1.1 christos //Original:/proj/frio/dv/testcases/core/c_compi2opd_flags/c_compi2opd_flags.dsp 2 1.1 christos // Spec Reference: compi2opd dregs += imm7 flags (az, an, ac, av0) 3 1.1 christos # mach: bfin 4 1.1 christos 5 1.1 christos #include "test.h" 6 1.1 christos .include "testutils.inc" 7 1.1 christos start 8 1.1 christos 9 1.1 christos INIT_R_REGS 0; 10 1.1 christos ASTAT = R0; // initialize astat 11 1.1 christos 12 1.1 christos // AZ for R0 13 1.1 christos imm32 r0, 0x00000000; 14 1.1 christos R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0 15 1.1 christos R7 = ASTAT; 16 1.1 christos R0 += 1; // az = 0 an = 0 ac = 0 av0 = 0 17 1.1 christos R6 = ASTAT; 18 1.1 christos R0 += -1; // az = 1 an = 0 ac = 1 av0 = 0 19 1.1 christos R5 = ASTAT; 20 1.1 christos R1 = R0; 21 1.1 christos R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0 22 1.1 christos R4 = ASTAT; 23 1.1 christos R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0 24 1.1 christos R3 = ASTAT; 25 1.1 christos CHECKREG r0, 0x00000000; 26 1.1 christos CHECKREG r1, 0x00000000; 27 1.1 christos CHECKREG r3, (_AC0|_AC0_COPY|_AZ); 28 1.1 christos CHECKREG r4, (_AN); 29 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 30 1.1 christos CHECKREG r6, 0x00000000; 31 1.1 christos CHECKREG r7, (_AZ); 32 1.1 christos 33 1.1 christos // AN, AC for R0 34 1.1 christos imm32 r0, 0xffffffff; 35 1.1 christos R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0 36 1.1 christos R7 = ASTAT; 37 1.1 christos R1 = R0; 38 1.1 christos R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0 39 1.1 christos R6 = ASTAT; 40 1.1 christos R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0 41 1.1 christos R5 = ASTAT; 42 1.1 christos CHECKREG r0, 0xFFFFFFFF; 43 1.1 christos CHECKREG r1, 0x00000000; 44 1.1 christos CHECKREG r5, (_AN); 45 1.1 christos CHECKREG r6, (_AZ); 46 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 47 1.1 christos 48 1.1 christos // AC, AV0 for R0 49 1.1 christos imm32 r0, 0x7fffffff; 50 1.1 christos R0 += 1; // az = 0 an = 1 ac = 0 av0 = 1 51 1.1 christos R7 = ASTAT; 52 1.1 christos R1 = R0; 53 1.1 christos R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1 54 1.1 christos R6 = ASTAT; 55 1.1 christos R2 = R0; 56 1.1 christos R0 += -1; // az = 0 an = 0 ac = 1 av0 = 0 57 1.1 christos R5 = ASTAT; 58 1.1 christos CHECKREG r0, 0x7FFFFFFE; 59 1.1 christos CHECKREG r1, 0x80000000; 60 1.1 christos CHECKREG r2, 0x7FFFFFFF; 61 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 62 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); //C 63 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); // A 64 1.1 christos 65 1.1 christos // AZ, AN, AC, AV0 for R0 66 1.1 christos R0 = 0; 67 1.1 christos ASTAT = R0; 68 1.1 christos imm32 r0, 0x80000000; 69 1.1 christos R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1 70 1.1 christos R7 = ASTAT; 71 1.1 christos R1 = R0; 72 1.1 christos R0 += 1; // az = 1 an = 1 ac = 0 av0 = 1 73 1.1 christos R6 = ASTAT; 74 1.1 christos R2 = R0; 75 1.1 christos R0 += 1; // az = 0 an = 1 ac = 0 av0 = 0 76 1.1 christos R5 = ASTAT; 77 1.1 christos CHECKREG r0, 0x80000001; 78 1.1 christos CHECKREG r1, 0x7FFFFFFF; 79 1.1 christos CHECKREG r2, 0x80000000; 80 1.1 christos CHECKREG r5, (_VS|_AN); 81 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 82 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 83 1.1 christos 84 1.1 christos // AZ for R0 85 1.1 christos R1 = 0; 86 1.1 christos ASTAT = R1; 87 1.1 christos imm32 r1, 0x00000000; 88 1.1 christos R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0 89 1.1 christos R7 = ASTAT; 90 1.1 christos R1 += 1; // az = 0 an = 0 ac = 0 av0 = 0 91 1.1 christos R6 = ASTAT; 92 1.1 christos R1 += -1; // az = 1 an = 0 ac = 1 av0 = 0 93 1.1 christos R5 = ASTAT; 94 1.1 christos R0 = R1; 95 1.1 christos R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0 96 1.1 christos R4 = ASTAT; 97 1.1 christos R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0 98 1.1 christos R3 = ASTAT; 99 1.1 christos CHECKREG r0, 0x00000000; 100 1.1 christos CHECKREG r1, 0x00000000; 101 1.1 christos CHECKREG r3, (_AC0|_AC0_COPY|_AZ); 102 1.1 christos CHECKREG r4, (_AN); 103 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 104 1.1 christos CHECKREG r6, 0x00000000; 105 1.1 christos CHECKREG r7, (_AZ); 106 1.1 christos 107 1.1 christos // AN, AC for R1 108 1.1 christos imm32 r1, 0xffffffff; 109 1.1 christos R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0 110 1.1 christos R7 = ASTAT; 111 1.1 christos R0 = R1; 112 1.1 christos R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0 113 1.1 christos R6 = ASTAT; 114 1.1 christos R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0 115 1.1 christos R5 = ASTAT; 116 1.1 christos CHECKREG r0, 0x00000000; 117 1.1 christos CHECKREG r1, 0xFFFFFFFF; 118 1.1 christos CHECKREG r5, (_AN); 119 1.1 christos CHECKREG r6, (_AZ); 120 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 121 1.1 christos 122 1.1 christos // AC, AV0 for R1 123 1.1 christos imm32 r1, 0x7fffffff; 124 1.1 christos R1 += 1; // az = 0 an = 1 ac = 0 av0 = 1 125 1.1 christos R7 = ASTAT; 126 1.1 christos R0 = R1; 127 1.1 christos R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1 128 1.1 christos R6 = ASTAT; 129 1.1 christos R2 = R1; 130 1.1 christos R1 += -1; // az = 0 an = 0 ac = 1 av0 = 0 131 1.1 christos R5 = ASTAT; 132 1.1 christos CHECKREG r0, 0x80000000; 133 1.1 christos CHECKREG r1, 0x7FFFFFFE; 134 1.1 christos CHECKREG r2, 0x7FFFFFFF; 135 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 136 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 137 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); 138 1.1 christos 139 1.1 christos // AZ, AN, AC, AV0 for R1 140 1.1 christos R1 = 0; 141 1.1 christos ASTAT = R1; 142 1.1 christos imm32 r1, 0x80000000; 143 1.1 christos R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1 144 1.1 christos R7 = ASTAT; 145 1.1 christos R0 = R1; 146 1.1 christos R1 += 1; // az = 1 an = 1 ac = 0 av0 = 1 147 1.1 christos R6 = ASTAT; 148 1.1 christos R2 = R1; 149 1.1 christos R1 += 1; // az = 0 an = 1 ac = 0 av0 = 0 150 1.1 christos R5 = ASTAT; 151 1.1 christos CHECKREG r0, 0x7FFFFFFF; 152 1.1 christos CHECKREG r1, 0x80000001; 153 1.1 christos CHECKREG r2, 0x80000000; 154 1.1 christos CHECKREG r5, (_VS|_AN); 155 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 156 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 157 1.1 christos 158 1.1 christos // AZ for R2 159 1.1 christos imm32 r2, 0x00000000; 160 1.1 christos ASTAT = R2; 161 1.1 christos R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0 162 1.1 christos R7 = ASTAT; 163 1.1 christos R2 += 1; // az = 0 an = 0 ac = 0 av0 = 0 164 1.1 christos R6 = ASTAT; 165 1.1 christos R2 += -1; // az = 1 an = 0 ac = 1 av0 = 0 166 1.1 christos R5 = ASTAT; 167 1.1 christos R1 = R2; 168 1.1 christos R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0 169 1.1 christos R4 = ASTAT; 170 1.1 christos R2 += 1; // az = 1 an = 0 ac = 1 av0 = 0 171 1.1 christos R3 = ASTAT; 172 1.1 christos CHECKREG r1, 0x00000000; 173 1.1 christos CHECKREG r2, 0x00000000; 174 1.1 christos CHECKREG r3, (_AC0|_AC0_COPY|_AZ); 175 1.1 christos CHECKREG r4, (_AN); 176 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 177 1.1 christos CHECKREG r6, 0x00000000; 178 1.1 christos CHECKREG r7, (_AZ); 179 1.1 christos 180 1.1 christos // AN, AC for R2 181 1.1 christos imm32 r2, 0xffffffff; 182 1.1 christos R2 += 1; // az = 1 an = 0 ac = 1 av0 = 0 183 1.1 christos R7 = ASTAT; 184 1.1 christos R1 = R2; 185 1.1 christos R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0 186 1.1 christos R6 = ASTAT; 187 1.1 christos R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0 188 1.1 christos R5 = ASTAT; 189 1.1 christos CHECKREG r2, 0xFFFFFFFF; 190 1.1 christos CHECKREG r1, 0x00000000; 191 1.1 christos CHECKREG r5, (_AN); 192 1.1 christos CHECKREG r6, (_AZ); 193 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 194 1.1 christos 195 1.1 christos // AC, AV0 for R2 196 1.1 christos imm32 r2, 0x7fffffff; 197 1.1 christos R2 += 1; // az = 0 an = 1 ac = 0 av0 = 1 198 1.1 christos R7 = ASTAT; 199 1.1 christos R0 = R2; 200 1.1 christos R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1 201 1.1 christos R6 = ASTAT; 202 1.1 christos R1 = R2; 203 1.1 christos R2 += -1; // az = 0 an = 0 ac = 1 av0 = 0 204 1.1 christos R5 = ASTAT; 205 1.1 christos CHECKREG r0, 0x80000000; 206 1.1 christos CHECKREG r1, 0x7FFFFFFF; 207 1.1 christos CHECKREG r2, 0x7FFFFFFE; 208 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 209 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 210 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); 211 1.1 christos 212 1.1 christos // AZ, AN, AC, AV0 for R2 213 1.1 christos R2 = 0; 214 1.1 christos ASTAT = R2; 215 1.1 christos imm32 r2, 0x80000000; 216 1.1 christos R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1 217 1.1 christos R7 = ASTAT; 218 1.1 christos R0 = R2; 219 1.1 christos R2 += 1; // az = 1 an = 1 ac = 0 av0 = 1 220 1.1 christos R6 = ASTAT; 221 1.1 christos R1 = R2; 222 1.1 christos R2 += 1; // az = 0 an = 1 ac = 0 av0 = 0 223 1.1 christos R5 = ASTAT; 224 1.1 christos CHECKREG r0, 0x7FFFFFFF; 225 1.1 christos CHECKREG r1, 0x80000000; 226 1.1 christos CHECKREG r2, 0x80000001; 227 1.1 christos CHECKREG r5, (_VS|_AN); 228 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 229 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 230 1.1 christos 231 1.1 christos // AZ for R3 232 1.1 christos imm32 r3, 0x00000000; 233 1.1 christos ASTAT = R3; 234 1.1 christos R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0 235 1.1 christos R7 = ASTAT; 236 1.1 christos R3 += 1; // az = 0 an = 0 ac = 0 av0 = 0 237 1.1 christos R6 = ASTAT; 238 1.1 christos R3 += -1; // az = 1 an = 0 ac = 1 av0 = 0 239 1.1 christos R5 = ASTAT; 240 1.1 christos R0 = R3; 241 1.1 christos R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0 242 1.1 christos R4 = ASTAT; 243 1.1 christos R3 += 1; // az = 1 an = 0 ac = 1 av0 = 0 244 1.1 christos R2 = ASTAT; 245 1.1 christos CHECKREG r0, 0x00000000; 246 1.1 christos CHECKREG r2, (_AC0|_AC0_COPY|_AZ); 247 1.1 christos CHECKREG r3, 0x00000000; 248 1.1 christos CHECKREG r4, (_AN); 249 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 250 1.1 christos CHECKREG r6, 0x00000000; 251 1.1 christos CHECKREG r7, (_AZ); 252 1.1 christos 253 1.1 christos // AN, AC for R3 254 1.1 christos imm32 r3, 0xffffffff; 255 1.1 christos R3 += 1; // az = 1 an = 0 ac = 1 av0 = 0 256 1.1 christos R7 = ASTAT; 257 1.1 christos R0 = R3; 258 1.1 christos R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0 259 1.1 christos R6 = ASTAT; 260 1.1 christos R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0 261 1.1 christos R5 = ASTAT; 262 1.1 christos CHECKREG r0, 0x00000000; 263 1.1 christos CHECKREG r3, 0xFFFFFFFF; 264 1.1 christos CHECKREG r5, (_AN); 265 1.1 christos CHECKREG r6, (_AZ); 266 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 267 1.1 christos 268 1.1 christos // AC, AV0 for R3 269 1.1 christos imm32 r3, 0x7fffffff; 270 1.1 christos R3 += 1; // az = 0 an = 1 ac = 0 av0 = 1 271 1.1 christos R7 = ASTAT; 272 1.1 christos R0 = R3; 273 1.1 christos R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1 274 1.1 christos R6 = ASTAT; 275 1.1 christos R1 = R3; 276 1.1 christos R3 += -1; // az = 0 an = 0 ac = 1 av0 = 0 277 1.1 christos R5 = ASTAT; 278 1.1 christos CHECKREG r0, 0x80000000; 279 1.1 christos CHECKREG r1, 0x7FFFFFFF; 280 1.1 christos CHECKREG r3, 0x7FFFFFFE; 281 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 282 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 283 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); 284 1.1 christos 285 1.1 christos // AZ, AN, AC, AV0 for R3 286 1.1 christos R3 = 0; 287 1.1 christos ASTAT = R3; 288 1.1 christos imm32 r3, 0x80000000; 289 1.1 christos R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1 290 1.1 christos R7 = ASTAT; 291 1.1 christos R0 = R3; 292 1.1 christos R3 += 1; // az = 1 an = 1 ac = 0 av0 = 1 293 1.1 christos R6 = ASTAT; 294 1.1 christos R1 = R3; 295 1.1 christos R3 += 1; // az = 0 an = 1 ac = 0 av0 = 0 296 1.1 christos R5 = ASTAT; 297 1.1 christos CHECKREG r0, 0x7FFFFFFF; 298 1.1 christos CHECKREG r1, 0x80000000; 299 1.1 christos CHECKREG r3, 0x80000001; 300 1.1 christos CHECKREG r5, (_VS|_AN); 301 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 302 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 303 1.1 christos 304 1.1 christos // AZ for R4 305 1.1 christos imm32 r4, 0x00000000; 306 1.1 christos ASTAT = R4; 307 1.1 christos R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0 308 1.1 christos R7 = ASTAT; 309 1.1 christos R4 += 1; // az = 0 an = 0 ac = 0 av0 = 0 310 1.1 christos R6 = ASTAT; 311 1.1 christos R4 += -1; // az = 1 an = 0 ac = 1 av0 = 0 312 1.1 christos R5 = ASTAT; 313 1.1 christos R1 = R4; 314 1.1 christos R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0 315 1.1 christos R3 = ASTAT; 316 1.1 christos R4 += 1; // az = 1 an = 0 ac = 1 av0 = 0 317 1.1 christos R2 = ASTAT; 318 1.1 christos CHECKREG r1, 0x00000000; 319 1.1 christos CHECKREG r2, (_AC0|_AC0_COPY|_AZ); 320 1.1 christos CHECKREG r3, (_AN); 321 1.1 christos CHECKREG r4, 0x00000000; 322 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 323 1.1 christos CHECKREG r6, 0x00000000; 324 1.1 christos CHECKREG r7, (_AZ); 325 1.1 christos 326 1.1 christos // AN, AC for R4 327 1.1 christos imm32 r4, 0xffffffff; 328 1.1 christos R4 += 1; // az = 1 an = 0 ac = 1 av0 = 0 329 1.1 christos R7 = ASTAT; 330 1.1 christos R1 = R4; 331 1.1 christos R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0 332 1.1 christos R6 = ASTAT; 333 1.1 christos R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0 334 1.1 christos R5 = ASTAT; 335 1.1 christos CHECKREG r1, 0x00000000; 336 1.1 christos CHECKREG r4, 0xFFFFFFFF; 337 1.1 christos CHECKREG r5, (_AN); 338 1.1 christos CHECKREG r6, (_AZ); 339 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 340 1.1 christos 341 1.1 christos // AC, AV0 for R4 342 1.1 christos imm32 r4, 0x7fffffff; 343 1.1 christos R4 += 1; // az = 0 an = 1 ac = 0 av0 = 1 344 1.1 christos R7 = ASTAT; 345 1.1 christos R1 = R4; 346 1.1 christos R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1 347 1.1 christos R6 = ASTAT; 348 1.1 christos R2 = R4; 349 1.1 christos R4 += -1; // az = 0 an = 0 ac = 1 av0 = 0 350 1.1 christos R5 = ASTAT; 351 1.1 christos CHECKREG r1, 0x80000000; 352 1.1 christos CHECKREG r2, 0x7FFFFFFF; 353 1.1 christos CHECKREG r4, 0x7FFFFFFE; 354 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 355 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 356 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); 357 1.1 christos 358 1.1 christos // AZ, AN, AC, AV0 for R4 359 1.1 christos R4 = 0; 360 1.1 christos ASTAT = R4; 361 1.1 christos imm32 r4, 0x80000000; 362 1.1 christos R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1 363 1.1 christos R7 = ASTAT; 364 1.1 christos R1 = R4; 365 1.1 christos R4 += 1; // az = 1 an = 1 ac = 0 av0 = 1 366 1.1 christos R6 = ASTAT; 367 1.1 christos R2 = R4; 368 1.1 christos R4 += 1; // az = 0 an = 1 ac = 0 av0 = 0 369 1.1 christos R5 = ASTAT; 370 1.1 christos CHECKREG r1, 0x7FFFFFFF; 371 1.1 christos CHECKREG r2, 0x80000000; 372 1.1 christos CHECKREG r4, 0x80000001; 373 1.1 christos CHECKREG r5, (_VS|_AN); 374 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 375 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 376 1.1 christos 377 1.1 christos // AZ for R5 378 1.1 christos imm32 r5, 0x00000000; 379 1.1 christos ASTAT = R5; 380 1.1 christos R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0 381 1.1 christos R7 = ASTAT; 382 1.1 christos R5 += 1; // az = 0 an = 0 ac = 0 av0 = 0 383 1.1 christos R6 = ASTAT; 384 1.1 christos R5 += -1; // az = 1 an = 0 ac = 1 av0 = 0 385 1.1 christos R2 = ASTAT; 386 1.1 christos R0 = R5; 387 1.1 christos R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0 388 1.1 christos R4 = ASTAT; 389 1.1 christos R5 += 1; // az = 1 an = 0 ac = 1 av0 = 0 390 1.1 christos R3 = ASTAT; 391 1.1 christos CHECKREG r0, 0x00000000; 392 1.1 christos CHECKREG r2, (_AC0|_AC0_COPY|_AZ); 393 1.1 christos CHECKREG r3, (_AC0|_AC0_COPY|_AZ); 394 1.1 christos CHECKREG r4, (_AN); 395 1.1 christos CHECKREG r5, 0x00000000; 396 1.1 christos CHECKREG r6, 0x00000000; 397 1.1 christos CHECKREG r7, (_AZ); 398 1.1 christos 399 1.1 christos // AN, AC for R5 400 1.1 christos imm32 r5, 0xffffffff; 401 1.1 christos R5 += 1; // az = 1 an = 0 ac = 1 av0 = 0 402 1.1 christos R7 = ASTAT; 403 1.1 christos R0 = R5; 404 1.1 christos R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0 405 1.1 christos R6 = ASTAT; 406 1.1 christos R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0 407 1.1 christos R4 = ASTAT; 408 1.1 christos CHECKREG r0, 0x00000000; 409 1.1 christos CHECKREG r4, (_AN); 410 1.1 christos CHECKREG r5, 0xFFFFFFFF; 411 1.1 christos CHECKREG r6, (_AZ); 412 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 413 1.1 christos 414 1.1 christos // AC, AV0 for R5 415 1.1 christos imm32 r5, 0x7fffffff; 416 1.1 christos R5 += 1; // az = 0 an = 1 ac = 0 av0 = 1 417 1.1 christos R7 = ASTAT; 418 1.1 christos R0 = R5; 419 1.1 christos R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1 420 1.1 christos R6 = ASTAT; 421 1.1 christos R2 = R5; 422 1.1 christos R5 += -1; // az = 0 an = 0 ac = 1 av0 = 0 423 1.1 christos R4 = ASTAT; 424 1.1 christos CHECKREG r0, 0x80000000; 425 1.1 christos CHECKREG r2, 0x7FFFFFFF; 426 1.1 christos CHECKREG r4, (_VS|_AC0|_AC0_COPY); 427 1.1 christos CHECKREG r5, 0x7FFFFFFE; 428 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 429 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); 430 1.1 christos 431 1.1 christos // AZ, AN, AC, AV0 for R5 432 1.1 christos R5 = 0; 433 1.1 christos ASTAT = R5; 434 1.1 christos imm32 r5, 0x80000000; 435 1.1 christos R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1 436 1.1 christos R7 = ASTAT; 437 1.1 christos R0 = R5; 438 1.1 christos R5 += 1; // az = 1 an = 1 ac = 0 av0 = 1 439 1.1 christos R6 = ASTAT; 440 1.1 christos R2 = R5; 441 1.1 christos R5 += 1; // az = 0 an = 1 ac = 0 av0 = 0 442 1.1 christos R4 = ASTAT; 443 1.1 christos CHECKREG r0, 0x7FFFFFFF; 444 1.1 christos CHECKREG r2, 0x80000000; 445 1.1 christos CHECKREG r4, (_VS|_AN); 446 1.1 christos CHECKREG r5, 0x80000001; 447 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 448 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 449 1.1 christos 450 1.1 christos // AZ for R6 451 1.1 christos imm32 r6, 0x00000000; 452 1.1 christos ASTAT = R6; 453 1.1 christos R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0 454 1.1 christos R7 = ASTAT; 455 1.1 christos R6 += 1; // az = 0 an = 0 ac = 0 av0 = 0 456 1.1 christos R0 = ASTAT; 457 1.1 christos R6 += -1; // az = 1 an = 0 ac = 1 av0 = 0 458 1.1 christos R5 = ASTAT; 459 1.1 christos R1 = R6; 460 1.1 christos R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0 461 1.1 christos R4 = ASTAT; 462 1.1 christos R6 += 1; // az = 1 an = 0 ac = 1 av0 = 0 463 1.1 christos R3 = ASTAT; 464 1.1 christos CHECKREG r0, 0x00000000; 465 1.1 christos CHECKREG r1, 0x00000000; 466 1.1 christos CHECKREG r3, (_AC0|_AC0_COPY|_AZ); 467 1.1 christos CHECKREG r4, (_AN); 468 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 469 1.1 christos CHECKREG r6, 0x00000000; 470 1.1 christos CHECKREG r7, (_AZ); 471 1.1 christos 472 1.1 christos // AN, AC for R6 473 1.1 christos imm32 r6, 0xffffffff; 474 1.1 christos R6 += 1; // az = 1 an = 0 ac = 1 av0 = 0 475 1.1 christos R7 = ASTAT; 476 1.1 christos R1 = R6; 477 1.1 christos R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0 478 1.1 christos R4 = ASTAT; 479 1.1 christos R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0 480 1.1 christos R5 = ASTAT; 481 1.1 christos CHECKREG r1, 0x00000000; 482 1.1 christos CHECKREG r4, (_AZ); 483 1.1 christos CHECKREG r5, (_AN); 484 1.1 christos CHECKREG r6, 0xFFFFFFFF; 485 1.1 christos CHECKREG r7, (_AC0|_AC0_COPY|_AZ); 486 1.1 christos 487 1.1 christos // AC, AV0 for R6 488 1.1 christos R6 = 0; 489 1.1 christos ASTAT = R6; 490 1.1 christos imm32 r6, 0x7fffffff; 491 1.1 christos R6 += 1; // az = 0 an = 1 ac = 0 av0 = 1 492 1.1 christos R7 = ASTAT; 493 1.1 christos R0 = R6; 494 1.1 christos R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1 495 1.1 christos R4 = ASTAT; 496 1.1 christos R1 = R6; 497 1.1 christos R6 += -1; // az = 0 an = 0 ac = 1 av0 = 0 498 1.1 christos R5 = ASTAT; 499 1.1 christos CHECKREG r0, 0x80000000; 500 1.1 christos CHECKREG r1, 0x7FFFFFFF; 501 1.1 christos CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 502 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 503 1.1 christos CHECKREG r6, 0x7FFFFFFE; 504 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AN); 505 1.1 christos 506 1.1 christos // AZ, AN, AC, AV0 for R6 507 1.1 christos R6 = 0; 508 1.1 christos ASTAT = R6; 509 1.1 christos imm32 r6, 0x80000000; 510 1.1 christos R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1 511 1.1 christos R7 = ASTAT; 512 1.1 christos R0 = R6; 513 1.1 christos R6 += 1; // az = 1 an = 1 ac = 0 av0 = 1 514 1.1 christos R4 = ASTAT; 515 1.1 christos R1 = R6; 516 1.1 christos R6 += 1; // az = 0 an = 1 ac = 0 av0 = 0 517 1.1 christos R5 = ASTAT; 518 1.1 christos CHECKREG r0, 0x7FFFFFFF; 519 1.1 christos CHECKREG r1, 0x80000000; 520 1.1 christos CHECKREG r4, (_VS|_V|_V_COPY|_AN); 521 1.1 christos CHECKREG r5, (_VS|_AN); 522 1.1 christos CHECKREG r6, 0x80000001; 523 1.1 christos CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 524 1.1 christos 525 1.1 christos // AZ for R7 526 1.1 christos imm32 r7, 0x00000000; 527 1.1 christos ASTAT = R7; 528 1.1 christos R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0 529 1.1 christos R1 = ASTAT; 530 1.1 christos R7 += 1; // az = 0 an = 0 ac = 0 av0 = 0 531 1.1 christos R6 = ASTAT; 532 1.1 christos R7 += -1; // az = 1 an = 0 ac = 1 av0 = 0 533 1.1 christos R5 = ASTAT; 534 1.1 christos R0 = R7; 535 1.1 christos R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0 536 1.1 christos R4 = ASTAT; 537 1.1 christos R7 += 1; // az = 1 an = 0 ac = 1 av0 = 0 538 1.1 christos R2 = ASTAT; 539 1.1 christos CHECKREG r0, 0x00000000; 540 1.1 christos CHECKREG r1, (_AZ); 541 1.1 christos CHECKREG r2, (_AC0|_AC0_COPY|_AZ); 542 1.1 christos CHECKREG r4, (_AN); 543 1.1 christos CHECKREG r5, (_AC0|_AC0_COPY|_AZ); 544 1.1 christos CHECKREG r6, 0x00000000; 545 1.1 christos CHECKREG r7, 0x00000000; 546 1.1 christos 547 1.1 christos // AN, AC for R7 548 1.1 christos imm32 r7, 0xffffffff; 549 1.1 christos R7 += 1; // az = 1 an = 0 ac = 1 av0 = 0 550 1.1 christos R4 = ASTAT; 551 1.1 christos R0 = R7; 552 1.1 christos R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0 553 1.1 christos R6 = ASTAT; 554 1.1 christos R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0 555 1.1 christos R5 = ASTAT; 556 1.1 christos CHECKREG r0, 0x00000000; 557 1.1 christos CHECKREG r4, (_AC0|_AC0_COPY|_AZ); 558 1.1 christos CHECKREG r5, (_AN); 559 1.1 christos CHECKREG r6, (_AZ); 560 1.1 christos CHECKREG r7, 0xFFFFFFFF; 561 1.1 christos 562 1.1 christos // AC, AV0 for R7 563 1.1 christos R7 = 0; 564 1.1 christos ASTAT = R7; 565 1.1 christos imm32 r7, 0x7fffffff; 566 1.1 christos R7 += 1; // az = 0 an = 1 ac = 0 av0 = 1 567 1.1 christos R4 = ASTAT; 568 1.1 christos R0 = R7; 569 1.1 christos R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1 570 1.1 christos R6 = ASTAT; 571 1.1 christos R1 = R7; 572 1.1 christos R7 += -1; // az = 0 an = 0 ac = 1 av0 = 0 573 1.1 christos R5 = ASTAT; 574 1.1 christos CHECKREG r0, 0x80000000; 575 1.1 christos CHECKREG r1, 0x7FFFFFFF; 576 1.1 christos CHECKREG r4, (_VS|_V|_V_COPY|_AN); 577 1.1 christos CHECKREG r5, (_VS|_AC0|_AC0_COPY); 578 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 579 1.1 christos CHECKREG r7, 0x7FFFFFFE; 580 1.1 christos 581 1.1 christos // AZ, AN, AC, AV0 for R7 582 1.1 christos R7 = 0; 583 1.1 christos ASTAT = R7; 584 1.1 christos imm32 r7, 0x80000000; 585 1.1 christos R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1 586 1.1 christos R4 = ASTAT; 587 1.1 christos R0 = R7; 588 1.1 christos R7 += 1; // az = 1 an = 1 ac = 0 av0 = 1 589 1.1 christos R6 = ASTAT; 590 1.1 christos R1 = R7; 591 1.1 christos R7 += 1; // az = 0 an = 1 ac = 0 av0 = 0 592 1.1 christos R5 = ASTAT; 593 1.1 christos CHECKREG r0, 0x7FFFFFFF; 594 1.1 christos CHECKREG r1, 0x80000000; 595 1.1 christos CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); 596 1.1 christos CHECKREG r5, (_VS|_AN); 597 1.1 christos CHECKREG r6, (_VS|_V|_V_COPY|_AN); 598 1.1 christos CHECKREG r7, 0x80000001; 599 1.1 christos 600 1.1 christos pass 601