1 1.1 christos # MDMX .OB op tests. 2 1.1 christos # mach: mips64 sb1 3 1.1 christos # as: -mabi=eabi 4 1.1 christos # as(mips64): -mabi=eabi -mdmx 5 1.1 christos # ld: -N -Ttext=0x80010000 6 1.1 christos # output: *\\npass\\n 7 1.1 christos 8 1.1 christos .include "testutils.inc" 9 1.1 christos .include "utils-mdmx.inc" 10 1.1 christos 11 1.1 christos setup 12 1.1 christos 13 1.1 christos .set noreorder 14 1.1 christos 15 1.1 christos .ent DIAG 16 1.1 christos DIAG: 17 1.1 christos 18 1.1 christos enable_mdmx 19 1.1 christos 20 1.1 christos 21 1.1 christos ### 22 1.1 christos ### Non-accumulator, non-CC-using .ob format ops. 23 1.1 christos ### 24 1.1 christos ### Key: v = vector 25 1.1 christos ### ev = vector of single element 26 1.1 christos ### cv = vector of constant. 27 1.1 christos ### 28 1.1 christos 29 1.1 christos 30 1.1 christos writemsg "add.ob (v)" 31 1.1 christos ld_ob $f8, 0x1122334455667788 32 1.1 christos ld_ob $f9, 0x66778899aabbccdd 33 1.1 christos add.ob $f10, $f8, $f9 34 1.1 christos ck_ob $f10, 0x7799bbddffffffff 35 1.1 christos 36 1.1 christos writemsg "add.ob (ev)" 37 1.1 christos ld_ob $f8, 0x1122334455667788 38 1.1 christos ld_ob $f9, 0x66778899aabbccdd 39 1.1 christos add.ob $f10, $f8, $f9[6] 40 1.1 christos ck_ob $f10, 0x8899aabbccddeeff 41 1.1 christos 42 1.1 christos writemsg "add.ob (cv)" 43 1.1 christos ld_ob $f8, 0x1122334455667788 44 1.1 christos add.ob $f10, $f8, 0x10 45 1.1 christos ck_ob $f10, 0x2132435465768798 46 1.1 christos 47 1.1 christos 48 1.1 christos writemsg "alni.ob" 49 1.1 christos ld_ob $f8, 0x1122334455667788 50 1.1 christos ld_ob $f9, 0x66778899aabbccdd 51 1.1 christos alni.ob $f10, $f8, $f9, 3 52 1.1 christos ck_ob $f10, 0x4455667788667788 53 1.1 christos 54 1.1 christos 55 1.1 christos writemsg "alnv.ob" 56 1.1 christos ld_ob $f8, 0x1122334455667788 57 1.1 christos ld_ob $f9, 0x66778899aabbccdd 58 1.1 christos li $4, 5 59 1.1 christos alnv.ob $f10, $f8, $f9, $4 60 1.1 christos ck_ob $f10, 0x66778866778899aa 61 1.1 christos 62 1.1 christos 63 1.1 christos writemsg "and.ob (v)" 64 1.1 christos ld_ob $f8, 0x1122334455667788 65 1.1 christos ld_ob $f9, 0x66778899aabbccdd 66 1.1 christos and.ob $f10, $f8, $f9 67 1.1 christos ck_ob $f10, 0x0022000000224488 68 1.1 christos 69 1.1 christos writemsg "and.ob (ev)" 70 1.1 christos ld_ob $f8, 0x1122334455667788 71 1.1 christos ld_ob $f9, 0x66778899aabbccdd 72 1.1 christos and.ob $f10, $f8, $f9[4] 73 1.1 christos ck_ob $f10, 0x1100110011001188 74 1.1 christos 75 1.1 christos writemsg "and.ob (cv)" 76 1.1 christos ld_ob $f8, 0x1122334455667788 77 1.1 christos and.ob $f10, $f8, 0x1e 78 1.1 christos ck_ob $f10, 0x1002120414061608 79 1.1 christos 80 1.1 christos 81 1.1 christos writemsg "max.ob (v)" 82 1.1 christos ld_ob $f8, 0x1122334455667788 83 1.1 christos ld_ob $f9, 0x66778899aabbccdd 84 1.1 christos max.ob $f10, $f8, $f9 85 1.1 christos ck_ob $f10, 0x66778899aabbccdd 86 1.1 christos 87 1.1 christos writemsg "max.ob (ev)" 88 1.1 christos ld_ob $f8, 0x1122334455667788 89 1.1 christos ld_ob $f9, 0x66778899aabbccdd 90 1.1 christos max.ob $f10, $f8, $f9[7] 91 1.1 christos ck_ob $f10, 0x6666666666667788 92 1.1 christos 93 1.1 christos writemsg "max.ob (cv)" 94 1.1 christos ld_ob $f8, 0x1122334455667788 95 1.1 christos max.ob $f10, $f8, 0x15 96 1.1 christos ck_ob $f10, 0x1522334455667788 97 1.1 christos 98 1.1 christos 99 1.1 christos writemsg "min.ob (v)" 100 1.1 christos ld_ob $f8, 0x1122334455667788 101 1.1 christos ld_ob $f9, 0x66778899aabbccdd 102 1.1 christos min.ob $f10, $f8, $f9 103 1.1 christos ck_ob $f10, 0x1122334455667788 104 1.1 christos 105 1.1 christos writemsg "min.ob (ev)" 106 1.1 christos ld_ob $f8, 0x1122334455667788 107 1.1 christos ld_ob $f9, 0x66778899aabbccdd 108 1.1 christos min.ob $f10, $f8, $f9[7] 109 1.1 christos ck_ob $f10, 0x1122334455666666 110 1.1 christos 111 1.1 christos writemsg "min.ob (cv)" 112 1.1 christos ld_ob $f8, 0x1122334455667788 113 1.1 christos min.ob $f10, $f8, 0x15 114 1.1 christos ck_ob $f10, 0x1115151515151515 115 1.1 christos 116 1.1 christos 117 1.1 christos writemsg "mul.ob (v)" 118 1.1 christos ld_ob $f8, 0x1122334455667788 119 1.1 christos ld_ob $f9, 0x0001020304050607 120 1.1 christos mul.ob $f10, $f8, $f9 121 1.1 christos ck_ob $f10, 0x002266ccffffffff 122 1.1 christos 123 1.1 christos writemsg "mul.ob (ev)" 124 1.1 christos ld_ob $f8, 0x1122334455667788 125 1.1 christos ld_ob $f9, 0x0001020304050607 126 1.1 christos mul.ob $f10, $f8, $f9[4] 127 1.1 christos ck_ob $f10, 0x336699ccffffffff 128 1.1 christos 129 1.1 christos writemsg "mul.ob (cv)" 130 1.1 christos ld_ob $f8, 0x1122334455667788 131 1.1 christos mul.ob $f10, $f8, 2 132 1.1 christos ck_ob $f10, 0x22446688aacceeff 133 1.1 christos 134 1.1 christos 135 1.1 christos writemsg "nor.ob (v)" 136 1.1 christos ld_ob $f8, 0x1122334455667788 137 1.1 christos ld_ob $f9, 0x66778899aabbccdd 138 1.1 christos nor.ob $f10, $f8, $f9 139 1.1 christos ck_ob $f10, 0x8888442200000022 140 1.1 christos 141 1.1 christos writemsg "nor.ob (ev)" 142 1.1 christos ld_ob $f8, 0x1122334455667788 143 1.1 christos ld_ob $f9, 0x66778899aabbccdd 144 1.1 christos nor.ob $f10, $f8, $f9[6] 145 1.1 christos ck_ob $f10, 0x8888888888888800 146 1.1 christos 147 1.1 christos writemsg "nor.ob (cv)" 148 1.1 christos ld_ob $f8, 0x1122334455667788 149 1.1 christos nor.ob $f10, $f8, 0x08 150 1.1 christos ck_ob $f10, 0xe6d5c4b3a2918077 151 1.1 christos 152 1.1 christos 153 1.1 christos writemsg "or.ob (v)" 154 1.1 christos ld_ob $f8, 0x1122334455667788 155 1.1 christos ld_ob $f9, 0x66778899aabbccdd 156 1.1 christos or.ob $f10, $f8, $f9 157 1.1 christos ck_ob $f10, 0x7777bbddffffffdd 158 1.1 christos 159 1.1 christos writemsg "or.ob (ev)" 160 1.1 christos ld_ob $f8, 0x1122334455667788 161 1.1 christos ld_ob $f9, 0x66778899aabbccdd 162 1.1 christos or.ob $f10, $f8, $f9[6] 163 1.1 christos ck_ob $f10, 0x77777777777777ff 164 1.1 christos 165 1.1 christos writemsg "or.ob (cv)" 166 1.1 christos ld_ob $f8, 0x1122334455667788 167 1.1 christos or.ob $f10, $f8, 0x08 168 1.1 christos ck_ob $f10, 0x192a3b4c5d6e7f88 169 1.1 christos 170 1.1 christos 171 1.1 christos writemsg "shfl.mixh.ob" 172 1.1 christos ld_ob $f8, 0x1122334455667788 173 1.1 christos ld_ob $f9, 0x66778899aabbccdd 174 1.1 christos shfl.mixh.ob $f10, $f8, $f9 175 1.1 christos ck_ob $f10, 0x1166227733884499 176 1.1 christos 177 1.1 christos 178 1.1 christos writemsg "shfl.mixl.ob" 179 1.1 christos ld_ob $f8, 0x1122334455667788 180 1.1 christos ld_ob $f9, 0x66778899aabbccdd 181 1.1 christos shfl.mixl.ob $f10, $f8, $f9 182 1.1 christos ck_ob $f10, 0x55aa66bb77cc88dd 183 1.1 christos 184 1.1 christos 185 1.1 christos writemsg "shfl.pach.ob" 186 1.1 christos ld_ob $f8, 0x1122334455667788 187 1.1 christos ld_ob $f9, 0x66778899aabbccdd 188 1.1 christos shfl.pach.ob $f10, $f8, $f9 189 1.1 christos ck_ob $f10, 0x113355776688aacc 190 1.1 christos 191 1.1 christos 192 1.1 christos writemsg "shfl.upsl.ob" 193 1.1 christos ld_ob $f8, 0x1122334455667788 194 1.1 christos shfl.upsl.ob $f10, $f8, $f8 195 1.1 christos ck_ob $f10, 0x005500660077ff88 196 1.1 christos 197 1.1 christos 198 1.1 christos writemsg "sll.ob (v)" 199 1.1 christos ld_ob $f8, 0x1122334455667788 200 1.1 christos ld_ob $f9, 0x0001020304050607 201 1.1 christos sll.ob $f10, $f8, $f9 202 1.1 christos ck_ob $f10, 0x1144cc2050c0c000 203 1.1 christos 204 1.1 christos writemsg "sll.ob (ev)" 205 1.1 christos ld_ob $f8, 0x1122334455667788 206 1.1 christos ld_ob $f9, 0x0001020304050607 207 1.1 christos sll.ob $f10, $f8, $f9[3] 208 1.1 christos ck_ob $f10, 0x1020304050607080 209 1.1 christos 210 1.1 christos writemsg "sll.ob (cv)" 211 1.1 christos ld_ob $f8, 0x1122334455667788 212 1.1 christos sll.ob $f10, $f8, 1 213 1.1 christos ck_ob $f10, 0x22446688aaccee10 214 1.1 christos 215 1.1 christos 216 1.1 christos writemsg "srl.ob (v)" 217 1.1 christos ld_ob $f8, 0x1122334455667788 218 1.1 christos ld_ob $f9, 0x0001020304050607 219 1.1 christos srl.ob $f10, $f8, $f9 220 1.1 christos ck_ob $f10, 0x11110c0805030101 221 1.1 christos 222 1.1 christos writemsg "srl.ob (ev)" 223 1.1 christos ld_ob $f8, 0x1122334455667788 224 1.1 christos ld_ob $f9, 0x0001020304050607 225 1.1 christos srl.ob $f10, $f8, $f9[3] 226 1.1 christos ck_ob $f10, 0x0102030405060708 227 1.1 christos 228 1.1 christos writemsg "srl.ob (cv)" 229 1.1 christos ld_ob $f8, 0x1122334455667788 230 1.1 christos srl.ob $f10, $f8, 1 231 1.1 christos ck_ob $f10, 0x081119222a333b44 232 1.1 christos 233 1.1 christos 234 1.1 christos writemsg "sub.ob (v)" 235 1.1 christos ld_ob $f8, 0x1122334455667788 236 1.1 christos ld_ob $f9, 0x0001020304050607 237 1.1 christos sub.ob $f10, $f8, $f9 238 1.1 christos ck_ob $f10, 0x1121314151617181 239 1.1 christos 240 1.1 christos writemsg "sub.ob (ev)" 241 1.1 christos ld_ob $f8, 0x1122334455667788 242 1.1 christos ld_ob $f9, 0x66778899aabbccdd 243 1.1 christos sub.ob $f10, $f8, $f9[7] 244 1.1 christos ck_ob $f10, 0x0000000000001122 245 1.1 christos 246 1.1 christos writemsg "sub.ob (cv)" 247 1.1 christos ld_ob $f8, 0x1122334455667788 248 1.1 christos sub.ob $f10, $f8, 0x10 249 1.1 christos ck_ob $f10, 0x0112233445566778 250 1.1 christos 251 1.1 christos 252 1.1 christos writemsg "xor.ob (v)" 253 1.1 christos ld_ob $f8, 0x1122334455667788 254 1.1 christos ld_ob $f9, 0x66778899aabbccdd 255 1.1 christos xor.ob $f10, $f8, $f9 256 1.1 christos ck_ob $f10, 0x7755bbddffddbb55 257 1.1 christos 258 1.1 christos writemsg "xor.ob (ev)" 259 1.1 christos ld_ob $f8, 0x1122334455667788 260 1.1 christos ld_ob $f9, 0x66778899aabbccdd 261 1.1 christos xor.ob $f10, $f8, $f9[6] 262 1.1 christos ck_ob $f10, 0x66554433221100ff 263 1.1 christos 264 1.1 christos writemsg "xor.ob (cv)" 265 1.1 christos ld_ob $f8, 0x1122334455667788 266 1.1 christos xor.ob $f10, $f8, 0x08 267 1.1 christos ck_ob $f10, 0x192a3b4c5d6e7f80 268 1.1 christos 269 1.1 christos 270 1.1 christos ### 271 1.1 christos ### Accumulator .ob format ops (in order: rd/wr, math, scale/round) 272 1.1 christos ### 273 1.1 christos ### Key: v = vector 274 1.1 christos ### ev = vector of single element 275 1.1 christos ### cv = vector of constant. 276 1.1 christos ### 277 1.1 christos 278 1.1 christos 279 1.1 christos writemsg "wacl.ob / rac[hml].ob" 280 1.1 christos ld_ob $f8, 0x8001028304850687 281 1.1 christos ld_ob $f9, 0x1011121314151617 282 1.1 christos wacl.ob $f8, $f9 283 1.1 christos ck_acc_ob 0xff0000ff00ff00ff, 0x8001028304850687, 0x1011121314151617 284 1.1 christos 285 1.1 christos # Note: relies on data left in accumulator by previous test. 286 1.1 christos writemsg "wach.ob / rac[hml].ob" 287 1.1 christos ld_ob $f8, 0x2021222324252627 288 1.1 christos wach.ob $f8 289 1.1 christos ck_acc_ob 0x2021222324252627, 0x8001028304850687, 0x1011121314151617 290 1.1 christos 291 1.1 christos 292 1.1 christos writemsg "adda.ob (v)" 293 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 294 1.1 christos ld_ob $f8, 0x1122334455667788 295 1.1 christos ld_ob $f9, 0x66778899aabbccdd 296 1.1 christos adda.ob $f8, $f9 297 1.1 christos ck_acc_ob 0x0001020304050607, 0x0000000000010101, 0x7799bbddff214365 298 1.1 christos 299 1.1 christos writemsg "adda.ob (ev)" 300 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 301 1.1 christos ld_ob $f8, 0x1122334455667788 302 1.1 christos ld_ob $f9, 0x66778899aabbccdd 303 1.1 christos adda.ob $f8, $f9[2] 304 1.1 christos ck_acc_ob 0x0001020304050607, 0x0000000001010101, 0xccddeeff10213243 305 1.1 christos 306 1.1 christos writemsg "adda.ob (cv)" 307 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 308 1.1 christos ld_ob $f8, 0x1122334455667788 309 1.1 christos adda.ob $f8, 0x1f 310 1.1 christos ck_acc_ob 0x0001020304050607, 0x0000000000000000, 0x30415263748596a7 311 1.1 christos 312 1.1 christos 313 1.1 christos writemsg "addl.ob (v)" 314 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 315 1.1 christos ld_ob $f8, 0x1122334455667788 316 1.1 christos ld_ob $f9, 0x66778899aabbccdd 317 1.1 christos addl.ob $f8, $f9 318 1.1 christos ck_acc_ob 0x0000000000000000, 0x0000000000010101, 0x7799bbddff214365 319 1.1 christos 320 1.1 christos writemsg "addl.ob (ev)" 321 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 322 1.1 christos ld_ob $f8, 0x1122334455667788 323 1.1 christos ld_ob $f9, 0x66778899aabbccdd 324 1.1 christos addl.ob $f8, $f9[2] 325 1.1 christos ck_acc_ob 0x0000000000000000, 0x0000000001010101, 0xccddeeff10213243 326 1.1 christos 327 1.1 christos writemsg "addl.ob (cv)" 328 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 329 1.1 christos ld_ob $f8, 0x1122334455667788 330 1.1 christos addl.ob $f8, 0x1f 331 1.1 christos ck_acc_ob 0x0000000000000000, 0x0000000000000000, 0x30415263748596a7 332 1.1 christos 333 1.1 christos 334 1.1 christos writemsg "mula.ob (v)" 335 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 336 1.1 christos ld_ob $f8, 0x1122334455667788 337 1.1 christos ld_ob $f9, 0x66778899aabbccdd 338 1.1 christos mula.ob $f8, $f9 339 1.1 christos ck_acc_ob 0x0001020304050607, 0x060f1b28384a5e75, 0xc6ce18a47282d468 340 1.1 christos 341 1.1 christos writemsg "mula.ob (ev)" 342 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 343 1.1 christos ld_ob $f8, 0x1122334455667788 344 1.1 christos ld_ob $f9, 0x66778899aabbccdd 345 1.1 christos mula.ob $f8, $f9[2] 346 1.1 christos ck_acc_ob 0x0001020304050607, 0x0c1825313e4a5663, 0x6bd641ac1782ed58 347 1.1 christos 348 1.1 christos writemsg "mula.ob (cv)" 349 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 350 1.1 christos ld_ob $f8, 0x1122334455667788 351 1.1 christos mula.ob $f8, 0x1f 352 1.1 christos ck_acc_ob 0x0001020304050607, 0x020406080a0c0e10, 0x0f1e2d3c4b5a6978 353 1.1 christos 354 1.1 christos 355 1.1 christos writemsg "mull.ob (v)" 356 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 357 1.1 christos ld_ob $f8, 0x1122334455667788 358 1.1 christos ld_ob $f9, 0x66778899aabbccdd 359 1.1 christos mull.ob $f8, $f9 360 1.1 christos ck_acc_ob 0x0000000000000000, 0x060f1b28384a5e75, 0xc6ce18a47282d468 361 1.1 christos 362 1.1 christos writemsg "mull.ob (ev)" 363 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 364 1.1 christos ld_ob $f8, 0x1122334455667788 365 1.1 christos ld_ob $f9, 0x66778899aabbccdd 366 1.1 christos mull.ob $f8, $f9[2] 367 1.1 christos ck_acc_ob 0x0000000000000000, 0x0c1825313e4a5663, 0x6bd641ac1782ed58 368 1.1 christos 369 1.1 christos writemsg "mull.ob (cv)" 370 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 371 1.1 christos ld_ob $f8, 0x1122334455667788 372 1.1 christos mull.ob $f8, 0x1f 373 1.1 christos ck_acc_ob 0x0000000000000000, 0x020406080a0c0e10, 0x0f1e2d3c4b5a6978 374 1.1 christos 375 1.1 christos 376 1.1 christos writemsg "muls.ob (v)" 377 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 378 1.1 christos ld_ob $f8, 0x1122334455667788 379 1.1 christos ld_ob $f9, 0x66778899aabbccdd 380 1.1 christos muls.ob $f8, $f9 381 1.1 christos ck_acc_ob 0xff00010203040506, 0xf9f0e4d7c7b5a18a, 0x3a32e85c8e7e2c98 382 1.1 christos 383 1.1 christos writemsg "muls.ob (ev)" 384 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 385 1.1 christos ld_ob $f8, 0x1122334455667788 386 1.1 christos ld_ob $f9, 0x66778899aabbccdd 387 1.1 christos muls.ob $f8, $f9[2] 388 1.1 christos ck_acc_ob 0xff00010203040506, 0xf3e7dacec1b5a99c, 0x952abf54e97e13a8 389 1.1 christos 390 1.1 christos writemsg "muls.ob (cv)" 391 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 392 1.1 christos ld_ob $f8, 0x1122334455667788 393 1.1 christos muls.ob $f8, 0x1f 394 1.1 christos ck_acc_ob 0xff00010203040506, 0xfdfbf9f7f5f3f1ef, 0xf1e2d3c4b5a69788 395 1.1 christos 396 1.1 christos 397 1.1 christos writemsg "mulsl.ob (v)" 398 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 399 1.1 christos ld_ob $f8, 0x1122334455667788 400 1.1 christos ld_ob $f9, 0x66778899aabbccdd 401 1.1 christos mulsl.ob $f8, $f9 402 1.1 christos ck_acc_ob 0xffffffffffffffff, 0xf9f0e4d7c7b5a18a, 0x3a32e85c8e7e2c98 403 1.1 christos 404 1.1 christos writemsg "mulsl.ob (ev)" 405 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 406 1.1 christos ld_ob $f8, 0x1122334455667788 407 1.1 christos ld_ob $f9, 0x66778899aabbccdd 408 1.1 christos mulsl.ob $f8, $f9[2] 409 1.1 christos ck_acc_ob 0xffffffffffffffff, 0xf3e7dacec1b5a99c, 0x952abf54e97e13a8 410 1.1 christos 411 1.1 christos writemsg "mulsl.ob (cv)" 412 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 413 1.1 christos ld_ob $f8, 0x1122334455667788 414 1.1 christos mulsl.ob $f8, 0x1f 415 1.1 christos ck_acc_ob 0xffffffffffffffff, 0xfdfbf9f7f5f3f1ef, 0xf1e2d3c4b5a69788 416 1.1 christos 417 1.1 christos 418 1.1 christos writemsg "suba.ob (v)" 419 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 420 1.1 christos ld_ob $f8, 0x1122334455667788 421 1.1 christos ld_ob $f9, 0x66778899aabbccdd 422 1.1 christos suba.ob $f8, $f9 423 1.1 christos ck_acc_ob 0xff00010203040506, 0xffffffffffffffff, 0xabababababababab 424 1.1 christos 425 1.1 christos writemsg "suba.ob (ev)" 426 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 427 1.1 christos ld_ob $f8, 0x1122334455667788 428 1.1 christos ld_ob $f9, 0x66778899aabbccdd 429 1.1 christos suba.ob $f8, $f9[2] 430 1.1 christos ck_acc_ob 0xff00010203040506, 0xffffffffffffffff, 0x566778899aabbccd 431 1.1 christos 432 1.1 christos writemsg "suba.ob (cv)" 433 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 434 1.1 christos ld_ob $f8, 0x1122334455667788 435 1.1 christos suba.ob $f8, 0x1f 436 1.1 christos ck_acc_ob 0xff01020304050607, 0xff00000000000000, 0xf203142536475869 437 1.1 christos 438 1.1 christos 439 1.1 christos writemsg "subl.ob (v)" 440 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 441 1.1 christos ld_ob $f8, 0x1122334455667788 442 1.1 christos ld_ob $f9, 0x66778899aabbccdd 443 1.1 christos subl.ob $f8, $f9 444 1.1 christos ck_acc_ob 0xffffffffffffffff, 0xffffffffffffffff, 0xabababababababab 445 1.1 christos 446 1.1 christos writemsg "subl.ob (ev)" 447 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 448 1.1 christos ld_ob $f8, 0x1122334455667788 449 1.1 christos ld_ob $f9, 0x66778899aabbccdd 450 1.1 christos subl.ob $f8, $f9[2] 451 1.1 christos ck_acc_ob 0xffffffffffffffff, 0xffffffffffffffff, 0x566778899aabbccd 452 1.1 christos 453 1.1 christos writemsg "subl.ob (cv)" 454 1.1 christos ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000 455 1.1 christos ld_ob $f8, 0x1122334455667788 456 1.1 christos subl.ob $f8, 0x1f 457 1.1 christos ck_acc_ob 0xff00000000000000, 0xff00000000000000, 0xf203142536475869 458 1.1 christos 459 1.1 christos 460 1.1 christos writemsg "rnau.ob (v)" 461 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 462 1.1 christos ld_ob $f8, 0x0001020304050607 463 1.1 christos rnau.ob $f9, $f8 464 1.1 christos ck_ob $f9, 0x4021110940201008 465 1.1 christos 466 1.1 christos writemsg "rnau.ob (ev)" 467 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 468 1.1 christos ld_ob $f8, 0x0001020304050607 469 1.1 christos rnau.ob $f9, $f8[4] 470 1.1 christos ck_ob $f9, 0x080809097f7f8080 471 1.1 christos 472 1.1 christos writemsg "rnau.ob (cv)" 473 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 474 1.1 christos rnau.ob $f9, 2 475 1.1 christos ck_ob $f9, 0x10111112feffffff 476 1.1 christos 477 1.1 christos 478 1.1 christos writemsg "rneu.ob (v)" 479 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 480 1.1 christos ld_ob $f8, 0x0001020304050607 481 1.1 christos rneu.ob $f9, $f8 482 1.1 christos ck_ob $f9, 0x4021110940201008 483 1.1 christos 484 1.1 christos writemsg "rneu.ob (ev)" 485 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 486 1.1 christos ld_ob $f8, 0x0001020304050607 487 1.1 christos rneu.ob $f9, $f8[4] 488 1.1 christos ck_ob $f9, 0x080808097f7f8080 489 1.1 christos 490 1.1 christos writemsg "rneu.ob (cv)" 491 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 492 1.1 christos rneu.ob $f9, 2 493 1.1 christos ck_ob $f9, 0x10101112fefeffff 494 1.1 christos 495 1.1 christos 496 1.1 christos writemsg "rzu.ob (v)" 497 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 498 1.1 christos ld_ob $f8, 0x0001020304050607 499 1.1 christos rzu.ob $f9, $f8 500 1.1 christos ck_ob $f9, 0x402111083f1f0f07 501 1.1 christos 502 1.1 christos writemsg "rzu.ob (ev)" 503 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 504 1.1 christos ld_ob $f8, 0x0001020304050607 505 1.1 christos rzu.ob $f9, $f8[4] 506 1.1 christos ck_ob $f9, 0x080808087f7f7f7f 507 1.1 christos 508 1.1 christos writemsg "rzu.ob (cv)" 509 1.1 christos ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe 510 1.1 christos rzu.ob $f9, 2 511 1.1 christos ck_ob $f9, 0x10101111fefeffff 512 1.1 christos 513 1.1 christos 514 1.1 christos ### 515 1.1 christos ### CC-using .ob format ops. 516 1.1 christos ### 517 1.1 christos ### Key: v = vector 518 1.1 christos ### ev = vector of single element 519 1.1 christos ### cv = vector of constant. 520 1.1 christos ### 521 1.1 christos 522 1.1 christos 523 1.1 christos writemsg "c.eq.ob (v)" 524 1.1 christos ld_ob $f8, 0x0001010202030304 525 1.1 christos ld_ob $f9, 0x0101020203030404 526 1.1 christos clr_fp_cc 0xff 527 1.1 christos c.eq.ob $f8, $f9 528 1.1 christos ck_fp_cc 0x55 529 1.1 christos 530 1.1 christos writemsg "c.eq.ob (ev)" 531 1.1 christos ld_ob $f8, 0x0001010202030304 532 1.1 christos ld_ob $f9, 0x0101020203030404 533 1.1 christos clr_fp_cc 0xff 534 1.1 christos c.eq.ob $f8, $f9[5] 535 1.1 christos ck_fp_cc 0x18 536 1.1 christos 537 1.1 christos writemsg "c.eq.ob (cv)" 538 1.1 christos ld_ob $f8, 0x0001010202030304 539 1.1 christos clr_fp_cc 0xff 540 1.1 christos c.eq.ob $f8, 0x03 541 1.1 christos ck_fp_cc 0x06 542 1.1 christos 543 1.1 christos 544 1.1 christos writemsg "c.le.ob (v)" 545 1.1 christos ld_ob $f8, 0x0001010202030304 546 1.1 christos ld_ob $f9, 0x0101020203030404 547 1.1 christos clr_fp_cc 0xff 548 1.1 christos c.le.ob $f8, $f9 549 1.1 christos ck_fp_cc 0xff 550 1.1 christos 551 1.1 christos writemsg "c.le.ob (ev)" 552 1.1 christos ld_ob $f8, 0x0001010202030304 553 1.1 christos ld_ob $f9, 0x0101020203030404 554 1.1 christos clr_fp_cc 0xff 555 1.1 christos c.le.ob $f8, $f9[5] 556 1.1 christos ck_fp_cc 0xf8 557 1.1 christos 558 1.1 christos writemsg "c.le.ob (cv)" 559 1.1 christos ld_ob $f8, 0x0001010202030304 560 1.1 christos clr_fp_cc 0xff 561 1.1 christos c.le.ob $f8, 0x03 562 1.1 christos ck_fp_cc 0xfe 563 1.1 christos 564 1.1 christos 565 1.1 christos writemsg "c.lt.ob (v)" 566 1.1 christos ld_ob $f8, 0x0001010202030304 567 1.1 christos ld_ob $f9, 0x0101020203030404 568 1.1 christos clr_fp_cc 0xff 569 1.1 christos c.lt.ob $f8, $f9 570 1.1 christos ck_fp_cc 0xaa 571 1.1 christos 572 1.1 christos writemsg "c.lt.ob (ev)" 573 1.1 christos ld_ob $f8, 0x0001010202030304 574 1.1 christos ld_ob $f9, 0x0101020203030404 575 1.1 christos clr_fp_cc 0xff 576 1.1 christos c.lt.ob $f8, $f9[5] 577 1.1 christos ck_fp_cc 0xe0 578 1.1 christos 579 1.1 christos writemsg "c.lt.ob (cv)" 580 1.1 christos ld_ob $f8, 0x0001010202030304 581 1.1 christos clr_fp_cc 0xff 582 1.1 christos c.lt.ob $f8, 0x03 583 1.1 christos ck_fp_cc 0xf8 584 1.1 christos 585 1.1 christos 586 1.1 christos writemsg "pickf.ob (v)" 587 1.1 christos ld_ob $f8, 0x0001020304050607 588 1.1 christos ld_ob $f9, 0x08090a0b0c0d0e0f 589 1.1 christos clrset_fp_cc 0xff, 0xaa 590 1.1 christos pickf.ob $f10, $f8, $f9 591 1.1 christos ck_ob $f10, 0x08010a030c050e07 592 1.1 christos 593 1.1 christos writemsg "pickf.ob (ev)" 594 1.1 christos ld_ob $f8, 0x0001020304050607 595 1.1 christos ld_ob $f9, 0x08090a0b0c0d0e0f 596 1.1 christos clrset_fp_cc 0xff, 0xaa 597 1.1 christos pickf.ob $f10, $f8, $f9[4] 598 1.1 christos ck_ob $f10, 0x0b010b030b050b07 599 1.1 christos 600 1.1 christos writemsg "pickf.ob (cv)" 601 1.1 christos ld_ob $f8, 0x0001020304050607 602 1.1 christos clrset_fp_cc 0xff, 0xaa 603 1.1 christos pickf.ob $f10, $f8, 0x10 604 1.1 christos ck_ob $f10, 0x1001100310051007 605 1.1 christos 606 1.1 christos 607 1.1 christos writemsg "pickt.ob (v)" 608 1.1 christos ld_ob $f8, 0x0001020304050607 609 1.1 christos ld_ob $f9, 0x08090a0b0c0d0e0f 610 1.1 christos clrset_fp_cc 0xff, 0xaa 611 1.1 christos pickt.ob $f10, $f8, $f9 612 1.1 christos ck_ob $f10, 0x0009020b040d060f 613 1.1 christos 614 1.1 christos writemsg "pickt.ob (ev)" 615 1.1 christos ld_ob $f8, 0x0001020304050607 616 1.1 christos ld_ob $f9, 0x08090a0b0c0d0e0f 617 1.1 christos clrset_fp_cc 0xff, 0xaa 618 1.1 christos pickt.ob $f10, $f8, $f9[5] 619 1.1 christos ck_ob $f10, 0x000a020a040a060a 620 1.1 christos 621 1.1 christos writemsg "pickt.ob (cv)" 622 1.1 christos ld_ob $f8, 0x0001020304050607 623 1.1 christos clrset_fp_cc 0xff, 0xaa 624 1.1 christos pickt.ob $f10, $f8, 0x10 625 1.1 christos ck_ob $f10, 0x0010021004100610 626 1.1 christos 627 1.1 christos 628 1.1 christos pass 629 1.1 christos 630 1.1 christos .end DIAG 631