1# frv testcase for scutss $FRj,$FRk 2# mach: fr405 fr450 3 4 .include "../testutils.inc" 5 6 start 7 8 .global scutss 9scutss: 10 set_spr_immed 0xffffffe7,iacc0h 11 set_spr_immed 0x89abcdef,iacc0l 12 13 set_gr_immed 0,gr10 14 scutss gr10,gr11 15 test_gr_limmed 0xffff,0xffe8,gr11 16 17 set_gr_immed 1,gr10 18 scutss gr10,gr11 19 test_gr_limmed 0xffff,0xffcf,gr11 20 21 set_gr_immed 2,gr10 22 scutss gr10,gr11 23 test_gr_limmed 0xffff,0xff9e,gr11 24 25 set_gr_immed 3,gr10 26 scutss gr10,gr11 27 test_gr_limmed 0xffff,0xff3c,gr11 28 29 set_gr_immed 4,gr10 30 scutss gr10,gr11 31 test_gr_limmed 0xffff,0xfe79,gr11 32 33 set_gr_immed 5,gr10 34 scutss gr10,gr11 35 test_gr_limmed 0xffff,0xfcf1,gr11 36 37 set_gr_immed 6,gr10 38 scutss gr10,gr11 39 test_gr_limmed 0xffff,0xf9e2,gr11 40 41 set_gr_immed 7,gr10 42 scutss gr10,gr11 43 test_gr_limmed 0xffff,0xf3c5,gr11 44 45 set_gr_immed 8,gr10 46 scutss gr10,gr11 47 test_gr_limmed 0xffff,0xe78a,gr11 48 49 set_gr_immed 9,gr10 50 scutss gr10,gr11 51 test_gr_limmed 0xffff,0xcf13,gr11 52 53 set_gr_immed 10,gr10 54 scutss gr10,gr11 55 test_gr_limmed 0xffff,0x9e27,gr11 56 57 set_gr_immed 11,gr10 58 scutss gr10,gr11 59 test_gr_limmed 0xffff,0x3c4d,gr11 60 61 set_gr_immed 12,gr10 62 scutss gr10,gr11 63 test_gr_limmed 0xfffe,0x789b,gr11 64 65 set_gr_immed 13,gr10 66 scutss gr10,gr11 67 test_gr_limmed 0xfffc,0xf135,gr11 68 69 set_gr_immed 14,gr10 70 scutss gr10,gr11 71 test_gr_limmed 0xfff9,0xe26b,gr11 72 73 set_gr_immed 15,gr10 74 scutss gr10,gr11 75 test_gr_limmed 0xfff3,0xc4d6,gr11 76 77 set_gr_immed 16,gr10 78 scutss gr10,gr11 79 test_gr_limmed 0xffe7,0x89ac,gr11 80 81 set_gr_immed 17,gr10 82 scutss gr10,gr11 83 test_gr_limmed 0xffcf,0x1358,gr11 84 85 set_gr_immed 18,gr10 86 scutss gr10,gr11 87 test_gr_limmed 0xff9e,0x26af,gr11 88 89 set_gr_immed 19,gr10 90 scutss gr10,gr11 91 test_gr_limmed 0xff3c,0x4d5e,gr11 92 93 set_gr_immed 20,gr10 94 scutss gr10,gr11 95 test_gr_limmed 0xfe78,0x9abd,gr11 96 97 set_gr_immed 21,gr10 98 scutss gr10,gr11 99 test_gr_limmed 0xfcf1,0x357a,gr11 100 101 set_gr_immed 22,gr10 102 scutss gr10,gr11 103 test_gr_limmed 0xf9e2,0x6af3,gr11 104 105 set_gr_immed 23,gr10 106 scutss gr10,gr11 107 test_gr_limmed 0xf3c4,0xd5e7,gr11 108 109 set_gr_immed 24,gr10 110 scutss gr10,gr11 111 test_gr_limmed 0xe789,0xabce,gr11 112 113 set_gr_immed 25,gr10 114 scutss gr10,gr11 115 test_gr_limmed 0xcf13,0x579c,gr11 116 117 set_gr_immed 26,gr10 118 scutss gr10,gr11 119 test_gr_limmed 0x9e26,0xaf38,gr11 120 121 set_gr_immed 27,gr10 122 scutss gr10,gr11 123 test_gr_limmed 0x8000,0x0000,gr11 124 125 set_gr_immed 28,gr10 126 scutss gr10,gr11 127 test_gr_limmed 0x8000,0x0000,gr11 128 129 set_gr_immed 29,gr10 130 scutss gr10,gr11 131 test_gr_limmed 0x8000,0x0000,gr11 132 133 set_gr_immed 30,gr10 134 scutss gr10,gr11 135 test_gr_limmed 0x8000,0x0000,gr11 136 137 set_gr_immed 31,gr10 138 scutss gr10,gr11 139 test_gr_limmed 0x8000,0x0000,gr11 140 141 set_gr_immed 32,gr10 142 scutss gr10,gr11 143 test_gr_limmed 0x8000,0x0000,gr11 144 145 set_gr_immed 33,gr10 146 scutss gr10,gr11 147 test_gr_limmed 0x8000,0x0000,gr11 148 149 set_gr_immed 34,gr10 150 scutss gr10,gr11 151 test_gr_limmed 0x8000,0x0000,gr11 152 153 set_gr_immed 35,gr10 154 scutss gr10,gr11 155 test_gr_limmed 0x8000,0x0000,gr11 156 157 set_gr_immed 36,gr10 158 scutss gr10,gr11 159 test_gr_limmed 0x8000,0x0000,gr11 160 161 set_gr_immed 37,gr10 162 scutss gr10,gr11 163 test_gr_limmed 0x8000,0x0000,gr11 164 165 set_gr_immed 38,gr10 166 scutss gr10,gr11 167 test_gr_limmed 0x8000,0x0000,gr11 168 169 set_gr_immed 39,gr10 170 scutss gr10,gr11 171 test_gr_limmed 0x8000,0x0000,gr11 172 173 set_gr_immed 40,gr10 174 scutss gr10,gr11 175 test_gr_limmed 0x8000,0x0000,gr11 176 177 set_gr_immed 41,gr10 178 scutss gr10,gr11 179 test_gr_limmed 0x8000,0x0000,gr11 180 181 set_gr_immed 42,gr10 182 scutss gr10,gr11 183 test_gr_limmed 0x8000,0x0000,gr11 184 185 set_gr_immed 43,gr10 186 scutss gr10,gr11 187 test_gr_limmed 0x8000,0x0000,gr11 188 189 set_gr_immed 44,gr10 190 scutss gr10,gr11 191 test_gr_limmed 0x8000,0x0000,gr11 192 193 set_gr_immed 45,gr10 194 scutss gr10,gr11 195 test_gr_limmed 0x8000,0x0000,gr11 196 197 set_gr_immed 46,gr10 198 scutss gr10,gr11 199 test_gr_limmed 0x8000,0x0000,gr11 200 201 set_gr_immed 47,gr10 202 scutss gr10,gr11 203 test_gr_limmed 0x8000,0x0000,gr11 204 205 set_gr_immed 48,gr10 206 scutss gr10,gr11 207 test_gr_limmed 0x8000,0x0000,gr11 208 209 set_gr_immed 49,gr10 210 scutss gr10,gr11 211 test_gr_limmed 0x8000,0x0000,gr11 212 213 set_gr_immed 50,gr10 214 scutss gr10,gr11 215 test_gr_limmed 0x8000,0x0000,gr11 216 217 set_gr_immed 51,gr10 218 scutss gr10,gr11 219 test_gr_limmed 0x8000,0x0000,gr11 220 221 set_gr_immed 52,gr10 222 scutss gr10,gr11 223 test_gr_limmed 0x8000,0x0000,gr11 224 225 set_gr_immed 53,gr10 226 scutss gr10,gr11 227 test_gr_limmed 0x8000,0x0000,gr11 228 229 set_gr_immed 54,gr10 230 scutss gr10,gr11 231 test_gr_limmed 0x8000,0x0000,gr11 232 233 set_gr_immed 55,gr10 234 scutss gr10,gr11 235 test_gr_limmed 0x8000,0x0000,gr11 236 237 set_gr_immed 56,gr10 238 scutss gr10,gr11 239 test_gr_limmed 0x8000,0x0000,gr11 240 241 set_gr_immed 57,gr10 242 scutss gr10,gr11 243 test_gr_limmed 0x8000,0x0000,gr11 244 245 set_gr_immed 58,gr10 246 scutss gr10,gr11 247 test_gr_limmed 0x8000,0x0000,gr11 248 249 set_gr_immed 59,gr10 250 scutss gr10,gr11 251 test_gr_limmed 0x8000,0x0000,gr11 252 253 set_gr_immed 60,gr10 254 scutss gr10,gr11 255 test_gr_limmed 0x8000,0x0000,gr11 256 257 set_gr_immed 61,gr10 258 scutss gr10,gr11 259 test_gr_limmed 0x8000,0x0000,gr11 260 261 set_gr_immed 62,gr10 262 scutss gr10,gr11 263 test_gr_limmed 0x8000,0x0000,gr11 264 265 set_gr_immed 63,gr10 266 scutss gr10,gr11 267 test_gr_limmed 0x8000,0x0000,gr11 268 269 set_gr_immed 64,gr10 ; same as -64 270 scutss gr10,gr11 271 test_gr_immed 0,gr11 272 273 set_gr_immed 128,gr10 ; same as 0 274 scutss gr10,gr11 275 test_gr_limmed 0xffff,0xffe8,gr11 276 277 .global scutss2 278scutss2: 279 set_spr_immed 0xe789abcd,iacc0h 280 set_spr_immed 0xefa5a5a5,iacc0l 281 282 set_gr_limmed 0xffff,0xffff,gr10 ; -1 283 scutss gr10,gr11 284 test_gr_limmed 0xf3c4,0xd5e7,gr11 285 286 set_gr_limmed 0x0000,0x007e,gr10 ; -2 (only lower 7 bits matter) 287 scutss gr10,gr11 288 test_gr_limmed 0xf9e2,0x6af3,gr11 289 290 set_gr_immed -3,gr10 291 scutss gr10,gr11 292 test_gr_limmed 0xfcf1,0x357a,gr11 293 294 set_gr_immed -4,gr10 295 scutss gr10,gr11 296 test_gr_limmed 0xfe78,0x9abd,gr11 297 298 set_gr_immed -5,gr10 299 scutss gr10,gr11 300 test_gr_limmed 0xff3c,0x4d5e,gr11 301 302 set_gr_immed -6,gr10 303 scutss gr10,gr11 304 test_gr_limmed 0xff9e,0x26af,gr11 305 306 set_gr_immed -7,gr10 307 scutss gr10,gr11 308 test_gr_limmed 0xffcf,0x1358,gr11 309 310 set_gr_immed -8,gr10 311 scutss gr10,gr11 312 test_gr_limmed 0xffe7,0x89ac,gr11 313 314 set_gr_immed -9,gr10 315 scutss gr10,gr11 316 test_gr_limmed 0xfff3,0xc4d6,gr11 317 318 set_gr_immed -10,gr10 319 scutss gr10,gr11 320 test_gr_limmed 0xfff9,0xe26b,gr11 321 322 set_gr_immed -11,gr10 323 scutss gr10,gr11 324 test_gr_limmed 0xfffc,0xf135,gr11 325 326 set_gr_immed -12,gr10 327 scutss gr10,gr11 328 test_gr_limmed 0xfffe,0x789b,gr11 329 330 set_gr_immed -13,gr10 331 scutss gr10,gr11 332 test_gr_limmed 0xffff,0x3c4d,gr11 333 334 set_gr_immed -14,gr10 335 scutss gr10,gr11 336 test_gr_limmed 0xffff,0x9e27,gr11 337 338 set_gr_immed -15,gr10 339 scutss gr10,gr11 340 test_gr_limmed 0xffff,0xcf13,gr11 341 342 set_gr_immed -16,gr10 343 scutss gr10,gr11 344 test_gr_limmed 0xffff,0xe78a,gr11 345 346 set_gr_immed -17,gr10 347 scutss gr10,gr11 348 test_gr_limmed 0xffff,0xf3c5,gr11 349 350 set_gr_immed -18,gr10 351 scutss gr10,gr11 352 test_gr_limmed 0xffff,0xf9e2,gr11 353 354 set_gr_immed -19,gr10 355 scutss gr10,gr11 356 test_gr_limmed 0xffff,0xfcf1,gr11 357 358 set_gr_immed -20,gr10 359 scutss gr10,gr11 360 test_gr_limmed 0xffff,0xfe79,gr11 361 362 set_gr_immed -21,gr10 363 scutss gr10,gr11 364 test_gr_limmed 0xffff,0xff3c,gr11 365 366 set_gr_immed -22,gr10 367 scutss gr10,gr11 368 test_gr_limmed 0xffff,0xff9e,gr11 369 370 set_gr_immed -23,gr10 371 scutss gr10,gr11 372 test_gr_limmed 0xffff,0xffcf,gr11 373 374 set_gr_immed -24,gr10 375 scutss gr10,gr11 376 test_gr_limmed 0xffff,0xffe8,gr11 377 378 set_gr_immed -25,gr10 379 scutss gr10,gr11 380 test_gr_limmed 0xffff,0xfff4,gr11 381 382 set_gr_immed -26,gr10 383 scutss gr10,gr11 384 test_gr_limmed 0xffff,0xfffa,gr11 385 386 set_gr_immed -27,gr10 387 scutss gr10,gr11 388 test_gr_limmed 0xffff,0xfffd,gr11 389 390 set_gr_immed -28,gr10 391 scutss gr10,gr11 392 test_gr_limmed 0xffff,0xfffe,gr11 393 394 set_gr_immed -29,gr10 395 scutss gr10,gr11 396 test_gr_limmed 0xffff,0xffff,gr11 397 398 set_gr_immed -30,gr10 399 scutss gr10,gr11 400 test_gr_immed 0,gr11 401 402 set_gr_immed -31,gr10 403 scutss gr10,gr11 404 test_gr_immed 0,gr11 405 406 set_gr_immed -32,gr10 407 scutss gr10,gr11 408 test_gr_immed 0,gr11 409 410 set_gr_limmed 0,64,gr10 ; same as -32 411 scutss gr10,gr11 412 test_gr_immed 0,gr11 413 414 set_spr_immed 0x6789abcd,iacc0h 415 set_spr_immed 0xefa5a5a5,iacc0l 416 417 set_gr_limmed 0xffff,0xffff,gr10 418 scutss gr10,gr11 419 test_gr_limmed 0x33c4,0xd5e7,gr11 420 421 set_gr_limmed 0x0000,0x007e,gr10 ; -2 (only lower 7 bits matter) 422 scutss gr10,gr11 423 test_gr_limmed 0x19e2,0x6af3,gr11 424 425 set_gr_immed -3,gr10 426 scutss gr10,gr11 427 test_gr_limmed 0x0cf1,0x357a,gr11 428 429 set_gr_immed -4,gr10 430 scutss gr10,gr11 431 test_gr_limmed 0x0678,0x9abd,gr11 432 433 set_gr_immed -5,gr10 434 scutss gr10,gr11 435 test_gr_limmed 0x033c,0x4d5e,gr11 436 437 set_gr_immed -6,gr10 438 scutss gr10,gr11 439 test_gr_limmed 0x019e,0x26af,gr11 440 441 set_gr_immed -7,gr10 442 scutss gr10,gr11 443 test_gr_limmed 0x00cf,0x1358,gr11 444 445 set_gr_immed -8,gr10 446 scutss gr10,gr11 447 test_gr_limmed 0x0067,0x89ac,gr11 448 449 set_gr_immed -9,gr10 450 scutss gr10,gr11 451 test_gr_limmed 0x0033,0xc4d6,gr11 452 453 set_gr_immed -10,gr10 454 scutss gr10,gr11 455 test_gr_limmed 0x0019,0xe26b,gr11 456 457 set_gr_immed -11,gr10 458 scutss gr10,gr11 459 test_gr_limmed 0x000c,0xf135,gr11 460 461 set_gr_immed -12,gr10 462 scutss gr10,gr11 463 test_gr_limmed 0x0006,0x789b,gr11 464 465 set_gr_immed -13,gr10 466 scutss gr10,gr11 467 test_gr_limmed 0x0003,0x3c4d,gr11 468 469 set_gr_immed -14,gr10 470 scutss gr10,gr11 471 test_gr_limmed 0x0001,0x9e27,gr11 472 473 set_gr_immed -15,gr10 474 scutss gr10,gr11 475 test_gr_limmed 0x0000,0xcf13,gr11 476 477 set_gr_immed -16,gr10 478 scutss gr10,gr11 479 test_gr_limmed 0x0000,0x678a,gr11 480 481 set_gr_immed -17,gr10 482 scutss gr10,gr11 483 test_gr_limmed 0x0000,0x33c5,gr11 484 485 set_gr_immed -18,gr10 486 scutss gr10,gr11 487 test_gr_limmed 0x0000,0x19e2,gr11 488 489 set_gr_immed -19,gr10 490 scutss gr10,gr11 491 test_gr_limmed 0x0000,0x0cf1,gr11 492 493 set_gr_immed -20,gr10 494 scutss gr10,gr11 495 test_gr_limmed 0x0000,0x0679,gr11 496 497 set_gr_immed -21,gr10 498 scutss gr10,gr11 499 test_gr_limmed 0x0000,0x033c,gr11 500 501 set_gr_immed -22,gr10 502 scutss gr10,gr11 503 test_gr_limmed 0x0000,0x019e,gr11 504 505 set_gr_immed -23,gr10 506 scutss gr10,gr11 507 test_gr_limmed 0x0000,0x00cf,gr11 508 509 set_gr_immed -24,gr10 510 scutss gr10,gr11 511 test_gr_limmed 0x0000,0x0068,gr11 512 513 set_gr_immed -25,gr10 514 scutss gr10,gr11 515 test_gr_limmed 0x0000,0x0034,gr11 516 517 set_gr_immed -26,gr10 518 scutss gr10,gr11 519 test_gr_limmed 0x0000,0x001a,gr11 520 521 set_gr_immed -27,gr10 522 scutss gr10,gr11 523 test_gr_limmed 0x0000,0x000d,gr11 524 525 set_gr_immed -28,gr10 526 scutss gr10,gr11 527 test_gr_limmed 0x0000,0x0006,gr11 528 529 set_gr_immed -29,gr10 530 scutss gr10,gr11 531 test_gr_limmed 0x0000,0x0003,gr11 532 533 set_gr_immed -30,gr10 534 scutss gr10,gr11 535 test_gr_limmed 0x0000,0x0002,gr11 536 537 set_gr_immed -31,gr10 538 scutss gr10,gr11 539 test_gr_limmed 0x0000,0x0001,gr11 540 541 set_gr_immed -32,gr10 542 scutss gr10,gr11 543 test_gr_limmed 0x0000,0x0000,gr11 544 545 set_gr_immed 64,gr10 ; same as -32 546 scutss gr10,gr11 547 test_gr_limmed 0x0000,0x0000,gr11 548 549 ; Examples from the customer (modified for iacc0) 550 set_spr_immed 0xffffffff,iacc0h 551 set_spr_immed 0xffe00000,iacc0l 552 553 set_gr_limmed 0,16,gr10 554 scutss gr10,gr11 555 test_gr_limmed 0xffff,0xffe0,gr11 556 557 set_gr_limmed 0,17,gr10 558 scutss gr10,gr11 559 test_gr_limmed 0xffff,0xffc0,gr11 560 561 set_gr_limmed 0,18,gr10 562 scutss gr10,gr11 563 test_gr_limmed 0xffff,0xff80,gr11 564 565 set_spr_immed 0,iacc0h 566 set_spr_immed 0x003fffff,iacc0l 567 568 set_gr_limmed 0,40,gr10 569 scutss gr10,gr11 570 test_gr_limmed 0x3fff,0xff00,gr11 571 572 set_gr_limmed 0,41,gr10 573 scutss gr10,gr11 574 test_gr_limmed 0x7fff,0xfe00,gr11 575 576 set_spr_immed 0x7f,iacc0h 577 set_spr_immed 0xffe00000,iacc0l 578 579 set_gr_limmed 0,40,gr10 580 scutss gr10,gr11 581 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated 582 583 set_gr_limmed 0,41,gr10 584 scutss gr10,gr11 585 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated 586 587 set_gr_limmed 0,42,gr10 588 scutss gr10,gr11 589 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated 590 591 set_spr_immed 0x08,iacc0h 592 set_spr_immed 0x003fffff,iacc0l 593 594 set_gr_limmed 0,40,gr10 595 scutss gr10,gr11 596 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated 597 598 set_gr_limmed 0,41,gr10 599 scutss gr10,gr11 600 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated 601 602 set_spr_immed 0xffffffff,iacc0h 603 set_spr_immed 0xefe00000,iacc0l 604 605 set_gr_limmed 0,40,gr10 606 scutss gr10,gr11 607 test_gr_limmed 0x8000,0x0000,gr11 ; saturated 608 609 set_gr_limmed 0,41,gr10 610 scutss gr10,gr11 611 test_gr_limmed 0x8000,0x0000,gr11 ; saturated 612 613 set_gr_limmed 0,42,gr10 614 scutss gr10,gr11 615 test_gr_limmed 0x8000,0x0000,gr11 ; saturated 616 617 set_spr_immed 0x80000000,iacc0h 618 set_spr_immed 0x003fffff,iacc0l 619 620 set_gr_limmed 0,16,gr10 621 scutss gr10,gr11 622 test_gr_limmed 0x8000,0x0000,gr11 ; saturated 623 624 set_gr_limmed 0,17,gr10 625 scutss gr10,gr11 626 test_gr_limmed 0x8000,0x0000,gr11 ; saturated 627 628 set_spr_immed 0xaf5a5a5a,iacc0h 629 set_spr_immed 0x5a5a5a5a,iacc0l 630 631 set_gr_limmed 0xffff,0xfffc,gr10 632 scutss gr10,gr11 633 test_gr_limmed 0xfaf5,0xa5a6,gr11 634 635 set_spr_immed 0x2f5a5a5a,iacc0h 636 set_spr_immed 0x5a5a5a5a,iacc0l 637 638 set_gr_limmed 0xffff,0xfff9,gr10 639 scutss gr10,gr11 640 test_gr_limmed 0x005e,0xb4b5,gr11 641 642# From the manual 643 .global scutss3 644scutss3: 645 set_spr_immed 0xfffffedc,iacc0h 646 set_spr_immed 0xba987654,iacc0l 647 648 set_gr_immed 16,gr10 649 scutss gr10,gr11 650 test_gr_limmed 0xfedc,0xba98,gr11 651 652 set_gr_immed 12,gr10 653 scutss gr10,gr11 654 test_gr_limmed 0xffed,0xcbaa,gr11 655 656 set_gr_immed -4,gr10 657 scutss gr10,gr11 658 test_gr_limmed 0xffff,0xffee,gr11 659 660 set_gr_immed 24,gr10 661 scutss gr10,gr11 662 test_gr_limmed 0x8000,0x0000,gr11 663 664 pass 665