1# frv testcase for cfsubs $FRi,$FRj,$FRk,$CCi,$cond 2# mach: fr500 fr550 frv 3 4 .include "testutils.inc" 5 6 float_constants 7 start 8 load_float_constants 9 10 .global cfsubs 11cfsubs: 12 set_spr_immed 0x1b1b,cccr 13 14 cfsubs fr0,fr16,fr1,cc0,1 15 test_fr_fr fr1,fr0 16 cfsubs fr4,fr16,fr1,cc0,1 17 test_fr_fr fr1,fr4 18 cfsubs fr8,fr16,fr1,cc0,1 19 test_fr_fr fr1,fr8 20 cfsubs fr12,fr16,fr1,cc0,1 21 test_fr_fr fr1,fr12 22 cfsubs fr16,fr16,fr1,cc0,1 23 test_fr_fr fr1,fr16 24 test_fr_fr fr1,fr20 25 cfsubs fr20,fr16,fr1,cc0,1 26 test_fr_fr fr1,fr16 27 test_fr_fr fr1,fr20 28 cfsubs fr24,fr16,fr1,cc0,1 29 test_fr_fr fr1,fr24 30 cfsubs fr28,fr16,fr1,cc0,1 31 test_fr_fr fr1,fr28 32 cfsubs fr32,fr16,fr1,cc0,1 33 test_fr_fr fr1,fr32 34 cfsubs fr36,fr16,fr1,cc0,1 35 test_fr_fr fr1,fr36 36 cfsubs fr40,fr16,fr1,cc0,1 37 test_fr_fr fr1,fr40 38 cfsubs fr44,fr16,fr1,cc0,1 39 test_fr_fr fr1,fr44 40 cfsubs fr48,fr16,fr1,cc0,1 41 test_fr_fr fr1,fr48 42 cfsubs fr52,fr16,fr1,cc0,1 43 test_fr_fr fr1,fr52 44 45 cfsubs fr0,fr20,fr1,cc0,1 46 test_fr_fr fr1,fr0 47 cfsubs fr4,fr20,fr1,cc4,1 48 test_fr_fr fr1,fr4 49 cfsubs fr8,fr20,fr1,cc4,1 50 test_fr_fr fr1,fr8 51 cfsubs fr12,fr20,fr1,cc4,1 52 test_fr_fr fr1,fr12 53 cfsubs fr16,fr20,fr1,cc4,1 54 test_fr_fr fr1,fr16 55 test_fr_fr fr1,fr20 56 cfsubs fr20,fr20,fr1,cc4,1 57 test_fr_fr fr1,fr16 58 test_fr_fr fr1,fr20 59 cfsubs fr24,fr20,fr1,cc4,1 60 test_fr_fr fr1,fr24 61 cfsubs fr28,fr20,fr1,cc4,1 62 test_fr_fr fr1,fr28 63 cfsubs fr32,fr20,fr1,cc4,1 64 test_fr_fr fr1,fr32 65 cfsubs fr36,fr20,fr1,cc4,1 66 test_fr_fr fr1,fr36 67 cfsubs fr40,fr20,fr1,cc4,1 68 test_fr_fr fr1,fr40 69 cfsubs fr44,fr20,fr1,cc4,1 70 test_fr_fr fr1,fr44 71 cfsubs fr48,fr20,fr1,cc4,1 72 test_fr_fr fr1,fr48 73 cfsubs fr52,fr20,fr1,cc4,1 74 test_fr_fr fr1,fr52 75 76 cfsubs fr32,fr36,fr1,cc4,1 77 test_fr_fr fr1,fr8 78 79 cfsubs fr44,fr40,fr1,cc4,1 80 test_fr_fr fr1,fr36 81; 82 cfsubs fr0,fr16,fr1,cc1,0 83 test_fr_fr fr1,fr0 84 cfsubs fr4,fr16,fr1,cc1,0 85 test_fr_fr fr1,fr4 86 cfsubs fr8,fr16,fr1,cc1,0 87 test_fr_fr fr1,fr8 88 cfsubs fr12,fr16,fr1,cc1,0 89 test_fr_fr fr1,fr12 90 cfsubs fr16,fr16,fr1,cc1,0 91 test_fr_fr fr1,fr16 92 test_fr_fr fr1,fr20 93 cfsubs fr20,fr16,fr1,cc1,0 94 test_fr_fr fr1,fr16 95 test_fr_fr fr1,fr20 96 cfsubs fr24,fr16,fr1,cc1,0 97 test_fr_fr fr1,fr24 98 cfsubs fr28,fr16,fr1,cc1,0 99 test_fr_fr fr1,fr28 100 cfsubs fr32,fr16,fr1,cc1,0 101 test_fr_fr fr1,fr32 102 cfsubs fr36,fr16,fr1,cc1,0 103 test_fr_fr fr1,fr36 104 cfsubs fr40,fr16,fr1,cc1,0 105 test_fr_fr fr1,fr40 106 cfsubs fr44,fr16,fr1,cc1,0 107 test_fr_fr fr1,fr44 108 cfsubs fr48,fr16,fr1,cc1,0 109 test_fr_fr fr1,fr48 110 cfsubs fr52,fr16,fr1,cc1,0 111 test_fr_fr fr1,fr52 112 113 cfsubs fr0,fr20,fr1,cc1,0 114 test_fr_fr fr1,fr0 115 cfsubs fr4,fr20,fr1,cc5,0 116 test_fr_fr fr1,fr4 117 cfsubs fr8,fr20,fr1,cc5,0 118 test_fr_fr fr1,fr8 119 cfsubs fr12,fr20,fr1,cc5,0 120 test_fr_fr fr1,fr12 121 cfsubs fr16,fr20,fr1,cc5,0 122 test_fr_fr fr1,fr16 123 test_fr_fr fr1,fr20 124 cfsubs fr20,fr20,fr1,cc5,0 125 test_fr_fr fr1,fr16 126 test_fr_fr fr1,fr20 127 cfsubs fr24,fr20,fr1,cc5,0 128 test_fr_fr fr1,fr24 129 cfsubs fr28,fr20,fr1,cc5,0 130 test_fr_fr fr1,fr28 131 cfsubs fr32,fr20,fr1,cc5,0 132 test_fr_fr fr1,fr32 133 cfsubs fr36,fr20,fr1,cc5,0 134 test_fr_fr fr1,fr36 135 cfsubs fr40,fr20,fr1,cc5,0 136 test_fr_fr fr1,fr40 137 cfsubs fr44,fr20,fr1,cc5,0 138 test_fr_fr fr1,fr44 139 cfsubs fr48,fr20,fr1,cc5,0 140 test_fr_fr fr1,fr48 141 cfsubs fr52,fr20,fr1,cc5,0 142 test_fr_fr fr1,fr52 143 144 cfsubs fr32,fr36,fr1,cc5,0 145 test_fr_fr fr1,fr8 146 147 cfsubs fr44,fr40,fr1,cc5,0 148 test_fr_fr fr1,fr36 149 150 set_fr_iimmed 0xdead,0xbeef,fr1 151 cfsubs fr0,fr16,fr1,cc0,0 152 test_fr_iimmed 0xdeadbeef,fr1 153 cfsubs fr4,fr16,fr1,cc0,0 154 test_fr_iimmed 0xdeadbeef,fr1 155 cfsubs fr8,fr16,fr1,cc0,0 156 test_fr_iimmed 0xdeadbeef,fr1 157 cfsubs fr12,fr16,fr1,cc0,0 158 test_fr_iimmed 0xdeadbeef,fr1 159 cfsubs fr16,fr16,fr1,cc0,0 160 test_fr_iimmed 0xdeadbeef,fr1 161 cfsubs fr20,fr16,fr1,cc0,0 162 test_fr_iimmed 0xdeadbeef,fr1 163 cfsubs fr24,fr16,fr1,cc0,0 164 test_fr_iimmed 0xdeadbeef,fr1 165 cfsubs fr28,fr16,fr1,cc0,0 166 test_fr_iimmed 0xdeadbeef,fr1 167 cfsubs fr32,fr16,fr1,cc0,0 168 test_fr_iimmed 0xdeadbeef,fr1 169 cfsubs fr36,fr16,fr1,cc0,0 170 test_fr_iimmed 0xdeadbeef,fr1 171 cfsubs fr40,fr16,fr1,cc0,0 172 test_fr_iimmed 0xdeadbeef,fr1 173 cfsubs fr44,fr16,fr1,cc0,0 174 test_fr_iimmed 0xdeadbeef,fr1 175 cfsubs fr48,fr16,fr1,cc0,0 176 test_fr_iimmed 0xdeadbeef,fr1 177 cfsubs fr52,fr16,fr1,cc0,0 178 test_fr_iimmed 0xdeadbeef,fr1 179 180 cfsubs fr0,fr20,fr1,cc0,0 181 test_fr_iimmed 0xdeadbeef,fr1 182 cfsubs fr4,fr20,fr1,cc4,0 183 test_fr_iimmed 0xdeadbeef,fr1 184 cfsubs fr8,fr20,fr1,cc4,0 185 test_fr_iimmed 0xdeadbeef,fr1 186 cfsubs fr12,fr20,fr1,cc4,0 187 test_fr_iimmed 0xdeadbeef,fr1 188 cfsubs fr16,fr20,fr1,cc4,0 189 test_fr_iimmed 0xdeadbeef,fr1 190 cfsubs fr20,fr20,fr1,cc4,0 191 test_fr_iimmed 0xdeadbeef,fr1 192 cfsubs fr24,fr20,fr1,cc4,0 193 test_fr_iimmed 0xdeadbeef,fr1 194 cfsubs fr28,fr20,fr1,cc4,0 195 test_fr_iimmed 0xdeadbeef,fr1 196 cfsubs fr32,fr20,fr1,cc4,0 197 test_fr_iimmed 0xdeadbeef,fr1 198 cfsubs fr36,fr20,fr1,cc4,0 199 test_fr_iimmed 0xdeadbeef,fr1 200 cfsubs fr40,fr20,fr1,cc4,0 201 test_fr_iimmed 0xdeadbeef,fr1 202 cfsubs fr44,fr20,fr1,cc4,0 203 test_fr_iimmed 0xdeadbeef,fr1 204 cfsubs fr48,fr20,fr1,cc4,0 205 test_fr_iimmed 0xdeadbeef,fr1 206 cfsubs fr52,fr20,fr1,cc4,0 207 test_fr_iimmed 0xdeadbeef,fr1 208 209 cfsubs fr32,fr36,fr1,cc4,0 210 test_fr_iimmed 0xdeadbeef,fr1 211 212 cfsubs fr44,fr40,fr1,cc4,0 213 test_fr_iimmed 0xdeadbeef,fr1 214; 215 set_fr_iimmed 0xdead,0xbeef,fr1 216 cfsubs fr0,fr16,fr1,cc1,1 217 test_fr_iimmed 0xdeadbeef,fr1 218 cfsubs fr4,fr16,fr1,cc1,1 219 test_fr_iimmed 0xdeadbeef,fr1 220 cfsubs fr8,fr16,fr1,cc1,1 221 test_fr_iimmed 0xdeadbeef,fr1 222 cfsubs fr12,fr16,fr1,cc1,1 223 test_fr_iimmed 0xdeadbeef,fr1 224 cfsubs fr16,fr16,fr1,cc1,1 225 test_fr_iimmed 0xdeadbeef,fr1 226 cfsubs fr20,fr16,fr1,cc1,1 227 test_fr_iimmed 0xdeadbeef,fr1 228 cfsubs fr24,fr16,fr1,cc1,1 229 test_fr_iimmed 0xdeadbeef,fr1 230 cfsubs fr28,fr16,fr1,cc1,1 231 test_fr_iimmed 0xdeadbeef,fr1 232 cfsubs fr32,fr16,fr1,cc1,1 233 test_fr_iimmed 0xdeadbeef,fr1 234 cfsubs fr36,fr16,fr1,cc1,1 235 test_fr_iimmed 0xdeadbeef,fr1 236 cfsubs fr40,fr16,fr1,cc1,1 237 test_fr_iimmed 0xdeadbeef,fr1 238 cfsubs fr44,fr16,fr1,cc1,1 239 test_fr_iimmed 0xdeadbeef,fr1 240 cfsubs fr48,fr16,fr1,cc1,1 241 test_fr_iimmed 0xdeadbeef,fr1 242 cfsubs fr52,fr16,fr1,cc1,1 243 test_fr_iimmed 0xdeadbeef,fr1 244 245 cfsubs fr0,fr20,fr1,cc1,1 246 test_fr_iimmed 0xdeadbeef,fr1 247 cfsubs fr4,fr20,fr1,cc5,1 248 test_fr_iimmed 0xdeadbeef,fr1 249 cfsubs fr8,fr20,fr1,cc5,1 250 test_fr_iimmed 0xdeadbeef,fr1 251 cfsubs fr12,fr20,fr1,cc5,1 252 test_fr_iimmed 0xdeadbeef,fr1 253 cfsubs fr16,fr20,fr1,cc5,1 254 test_fr_iimmed 0xdeadbeef,fr1 255 cfsubs fr20,fr20,fr1,cc5,1 256 test_fr_iimmed 0xdeadbeef,fr1 257 cfsubs fr24,fr20,fr1,cc5,1 258 test_fr_iimmed 0xdeadbeef,fr1 259 cfsubs fr28,fr20,fr1,cc5,1 260 test_fr_iimmed 0xdeadbeef,fr1 261 cfsubs fr32,fr20,fr1,cc5,1 262 test_fr_iimmed 0xdeadbeef,fr1 263 cfsubs fr36,fr20,fr1,cc5,1 264 test_fr_iimmed 0xdeadbeef,fr1 265 cfsubs fr40,fr20,fr1,cc5,1 266 test_fr_iimmed 0xdeadbeef,fr1 267 cfsubs fr44,fr20,fr1,cc5,1 268 test_fr_iimmed 0xdeadbeef,fr1 269 cfsubs fr48,fr20,fr1,cc5,1 270 test_fr_iimmed 0xdeadbeef,fr1 271 cfsubs fr52,fr20,fr1,cc5,1 272 test_fr_iimmed 0xdeadbeef,fr1 273 274 cfsubs fr32,fr36,fr1,cc5,1 275 test_fr_iimmed 0xdeadbeef,fr1 276 277 cfsubs fr44,fr40,fr1,cc5,1 278 test_fr_iimmed 0xdeadbeef,fr1 279; 280 set_fr_iimmed 0xdead,0xbeef,fr1 281 cfsubs fr0,fr16,fr1,cc2,0 282 test_fr_iimmed 0xdeadbeef,fr1 283 cfsubs fr4,fr16,fr1,cc2,1 284 test_fr_iimmed 0xdeadbeef,fr1 285 cfsubs fr8,fr16,fr1,cc2,0 286 test_fr_iimmed 0xdeadbeef,fr1 287 cfsubs fr12,fr16,fr1,cc2,1 288 test_fr_iimmed 0xdeadbeef,fr1 289 cfsubs fr16,fr16,fr1,cc2,0 290 test_fr_iimmed 0xdeadbeef,fr1 291 cfsubs fr20,fr16,fr1,cc2,1 292 test_fr_iimmed 0xdeadbeef,fr1 293 cfsubs fr24,fr16,fr1,cc2,0 294 test_fr_iimmed 0xdeadbeef,fr1 295 cfsubs fr28,fr16,fr1,cc2,1 296 test_fr_iimmed 0xdeadbeef,fr1 297 cfsubs fr32,fr16,fr1,cc2,0 298 test_fr_iimmed 0xdeadbeef,fr1 299 cfsubs fr36,fr16,fr1,cc2,1 300 test_fr_iimmed 0xdeadbeef,fr1 301 cfsubs fr40,fr16,fr1,cc2,0 302 test_fr_iimmed 0xdeadbeef,fr1 303 cfsubs fr44,fr16,fr1,cc2,1 304 test_fr_iimmed 0xdeadbeef,fr1 305 cfsubs fr48,fr16,fr1,cc2,0 306 test_fr_iimmed 0xdeadbeef,fr1 307 cfsubs fr52,fr16,fr1,cc2,1 308 test_fr_iimmed 0xdeadbeef,fr1 309 310 cfsubs fr0,fr20,fr1,cc2,0 311 test_fr_iimmed 0xdeadbeef,fr1 312 cfsubs fr4,fr20,fr1,cc6,1 313 test_fr_iimmed 0xdeadbeef,fr1 314 cfsubs fr8,fr20,fr1,cc6,0 315 test_fr_iimmed 0xdeadbeef,fr1 316 cfsubs fr12,fr20,fr1,cc6,1 317 test_fr_iimmed 0xdeadbeef,fr1 318 cfsubs fr16,fr20,fr1,cc6,0 319 test_fr_iimmed 0xdeadbeef,fr1 320 cfsubs fr20,fr20,fr1,cc6,1 321 test_fr_iimmed 0xdeadbeef,fr1 322 cfsubs fr24,fr20,fr1,cc6,0 323 test_fr_iimmed 0xdeadbeef,fr1 324 cfsubs fr28,fr20,fr1,cc6,1 325 test_fr_iimmed 0xdeadbeef,fr1 326 cfsubs fr32,fr20,fr1,cc6,0 327 test_fr_iimmed 0xdeadbeef,fr1 328 cfsubs fr36,fr20,fr1,cc6,1 329 test_fr_iimmed 0xdeadbeef,fr1 330 cfsubs fr40,fr20,fr1,cc6,0 331 test_fr_iimmed 0xdeadbeef,fr1 332 cfsubs fr44,fr20,fr1,cc6,1 333 test_fr_iimmed 0xdeadbeef,fr1 334 cfsubs fr48,fr20,fr1,cc6,0 335 test_fr_iimmed 0xdeadbeef,fr1 336 cfsubs fr52,fr20,fr1,cc6,1 337 test_fr_iimmed 0xdeadbeef,fr1 338 339 cfsubs fr32,fr36,fr1,cc6,0 340 test_fr_iimmed 0xdeadbeef,fr1 341 342 cfsubs fr44,fr40,fr1,cc6,1 343 test_fr_iimmed 0xdeadbeef,fr1 344; 345 set_fr_iimmed 0xdead,0xbeef,fr1 346 cfsubs fr0,fr16,fr1,cc3,0 347 test_fr_iimmed 0xdeadbeef,fr1 348 cfsubs fr4,fr16,fr1,cc3,1 349 test_fr_iimmed 0xdeadbeef,fr1 350 cfsubs fr8,fr16,fr1,cc3,0 351 test_fr_iimmed 0xdeadbeef,fr1 352 cfsubs fr12,fr16,fr1,cc3,1 353 test_fr_iimmed 0xdeadbeef,fr1 354 cfsubs fr16,fr16,fr1,cc3,0 355 test_fr_iimmed 0xdeadbeef,fr1 356 cfsubs fr20,fr16,fr1,cc3,1 357 test_fr_iimmed 0xdeadbeef,fr1 358 cfsubs fr24,fr16,fr1,cc3,0 359 test_fr_iimmed 0xdeadbeef,fr1 360 cfsubs fr28,fr16,fr1,cc3,1 361 test_fr_iimmed 0xdeadbeef,fr1 362 cfsubs fr32,fr16,fr1,cc3,0 363 test_fr_iimmed 0xdeadbeef,fr1 364 cfsubs fr36,fr16,fr1,cc3,1 365 test_fr_iimmed 0xdeadbeef,fr1 366 cfsubs fr40,fr16,fr1,cc3,0 367 test_fr_iimmed 0xdeadbeef,fr1 368 cfsubs fr44,fr16,fr1,cc3,1 369 test_fr_iimmed 0xdeadbeef,fr1 370 cfsubs fr48,fr16,fr1,cc3,0 371 test_fr_iimmed 0xdeadbeef,fr1 372 cfsubs fr52,fr16,fr1,cc3,1 373 test_fr_iimmed 0xdeadbeef,fr1 374 375 cfsubs fr0,fr20,fr1,cc3,0 376 test_fr_iimmed 0xdeadbeef,fr1 377 cfsubs fr4,fr20,fr1,cc7,1 378 test_fr_iimmed 0xdeadbeef,fr1 379 cfsubs fr8,fr20,fr1,cc7,0 380 test_fr_iimmed 0xdeadbeef,fr1 381 cfsubs fr12,fr20,fr1,cc7,1 382 test_fr_iimmed 0xdeadbeef,fr1 383 cfsubs fr16,fr20,fr1,cc7,0 384 test_fr_iimmed 0xdeadbeef,fr1 385 cfsubs fr20,fr20,fr1,cc7,1 386 test_fr_iimmed 0xdeadbeef,fr1 387 cfsubs fr24,fr20,fr1,cc7,0 388 test_fr_iimmed 0xdeadbeef,fr1 389 cfsubs fr28,fr20,fr1,cc7,1 390 test_fr_iimmed 0xdeadbeef,fr1 391 cfsubs fr32,fr20,fr1,cc7,0 392 test_fr_iimmed 0xdeadbeef,fr1 393 cfsubs fr36,fr20,fr1,cc7,1 394 test_fr_iimmed 0xdeadbeef,fr1 395 cfsubs fr40,fr20,fr1,cc7,0 396 test_fr_iimmed 0xdeadbeef,fr1 397 cfsubs fr44,fr20,fr1,cc7,1 398 test_fr_iimmed 0xdeadbeef,fr1 399 cfsubs fr48,fr20,fr1,cc7,0 400 test_fr_iimmed 0xdeadbeef,fr1 401 cfsubs fr52,fr20,fr1,cc7,1 402 test_fr_iimmed 0xdeadbeef,fr1 403 404 cfsubs fr32,fr36,fr1,cc7,0 405 test_fr_iimmed 0xdeadbeef,fr1 406 407 cfsubs fr44,fr40,fr1,cc7,1 408 test_fr_iimmed 0xdeadbeef,fr1 409 410 pass 411 412 413