OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 | 425 |
426 if (CpuFeatures::IsSupported(VFP3)) { | 426 if (CpuFeatures::IsSupported(VFP3)) { |
427 CpuFeatures::Scope scope(VFP3); | 427 CpuFeatures::Scope scope(VFP3); |
428 COMPARE(vmov(d0, r2, r3), | 428 COMPARE(vmov(d0, r2, r3), |
429 "ec432b10 vmov d0, r2, r3"); | 429 "ec432b10 vmov d0, r2, r3"); |
430 COMPARE(vmov(r2, r3, d0), | 430 COMPARE(vmov(r2, r3, d0), |
431 "ec532b10 vmov r2, r3, d0"); | 431 "ec532b10 vmov r2, r3, d0"); |
432 COMPARE(vmov(d0, d1), | 432 COMPARE(vmov(d0, d1), |
433 "eeb00b41 vmov.f64 d0, d1"); | 433 "eeb00b41 vmov.f64 d0, d1"); |
434 COMPARE(vmov(d3, d3, eq), | 434 COMPARE(vmov(d3, d3, eq), |
435 "0eb03b43 vmov.f64eq d3, d3"); | 435 "0eb03b43 vmoveq.f64 d3, d3"); |
436 | 436 |
437 COMPARE(vmov(s0, s31), | 437 COMPARE(vmov(s0, s31), |
438 "eeb00a6f vmov.f32 s0, s31"); | 438 "eeb00a6f vmov.f32 s0, s31"); |
439 COMPARE(vmov(s31, s0), | 439 COMPARE(vmov(s31, s0), |
440 "eef0fa40 vmov.f32 s31, s0"); | 440 "eef0fa40 vmov.f32 s31, s0"); |
441 COMPARE(vmov(r0, s0), | 441 COMPARE(vmov(r0, s0), |
442 "ee100a10 vmov r0, s0"); | 442 "ee100a10 vmov r0, s0"); |
443 COMPARE(vmov(r10, s31), | 443 COMPARE(vmov(r10, s31), |
444 "ee1faa90 vmov r10, s31"); | 444 "ee1faa90 vmov r10, s31"); |
445 COMPARE(vmov(s0, r0), | 445 COMPARE(vmov(s0, r0), |
446 "ee000a10 vmov s0, r0"); | 446 "ee000a10 vmov s0, r0"); |
447 COMPARE(vmov(s31, r10), | 447 COMPARE(vmov(s31, r10), |
448 "ee0faa90 vmov s31, r10"); | 448 "ee0faa90 vmov s31, r10"); |
449 | 449 |
450 COMPARE(vabs(d0, d1), | 450 COMPARE(vabs(d0, d1), |
451 "eeb00bc1 vabs.f64 d0, d1"); | 451 "eeb00bc1 vabs.f64 d0, d1"); |
452 COMPARE(vabs(d3, d4, mi), | 452 COMPARE(vabs(d3, d4, mi), |
453 "4eb03bc4 vabs.f64mi d3, d4"); | 453 "4eb03bc4 vabsmi.f64 d3, d4"); |
454 | 454 |
455 COMPARE(vneg(d0, d1), | 455 COMPARE(vneg(d0, d1), |
456 "eeb10b41 vneg.f64 d0, d1"); | 456 "eeb10b41 vneg.f64 d0, d1"); |
457 COMPARE(vneg(d3, d4, mi), | 457 COMPARE(vneg(d3, d4, mi), |
458 "4eb13b44 vneg.f64mi d3, d4"); | 458 "4eb13b44 vnegmi.f64 d3, d4"); |
459 | 459 |
460 COMPARE(vadd(d0, d1, d2), | 460 COMPARE(vadd(d0, d1, d2), |
461 "ee310b02 vadd.f64 d0, d1, d2"); | 461 "ee310b02 vadd.f64 d0, d1, d2"); |
462 COMPARE(vadd(d3, d4, d5, mi), | 462 COMPARE(vadd(d3, d4, d5, mi), |
463 "4e343b05 vadd.f64mi d3, d4, d5"); | 463 "4e343b05 vaddmi.f64 d3, d4, d5"); |
464 | 464 |
465 COMPARE(vsub(d0, d1, d2), | 465 COMPARE(vsub(d0, d1, d2), |
466 "ee310b42 vsub.f64 d0, d1, d2"); | 466 "ee310b42 vsub.f64 d0, d1, d2"); |
467 COMPARE(vsub(d3, d4, d5, ne), | 467 COMPARE(vsub(d3, d4, d5, ne), |
468 "1e343b45 vsub.f64ne d3, d4, d5"); | 468 "1e343b45 vsubne.f64 d3, d4, d5"); |
469 | 469 |
470 COMPARE(vmul(d2, d1, d0), | 470 COMPARE(vmul(d2, d1, d0), |
471 "ee212b00 vmul.f64 d2, d1, d0"); | 471 "ee212b00 vmul.f64 d2, d1, d0"); |
472 COMPARE(vmul(d6, d4, d5, cc), | 472 COMPARE(vmul(d6, d4, d5, cc), |
473 "3e246b05 vmul.f64cc d6, d4, d5"); | 473 "3e246b05 vmulcc.f64 d6, d4, d5"); |
474 | 474 |
475 COMPARE(vdiv(d2, d2, d2), | 475 COMPARE(vdiv(d2, d2, d2), |
476 "ee822b02 vdiv.f64 d2, d2, d2"); | 476 "ee822b02 vdiv.f64 d2, d2, d2"); |
477 COMPARE(vdiv(d6, d7, d7, hi), | 477 COMPARE(vdiv(d6, d7, d7, hi), |
478 "8e876b07 vdiv.f64hi d6, d7, d7"); | 478 "8e876b07 vdivhi.f64 d6, d7, d7"); |
479 | 479 |
480 COMPARE(vcmp(d0, d1), | 480 COMPARE(vcmp(d0, d1), |
481 "eeb40b41 vcmp.f64 d0, d1"); | 481 "eeb40b41 vcmp.f64 d0, d1"); |
482 COMPARE(vcmp(d0, 0.0), | 482 COMPARE(vcmp(d0, 0.0), |
483 "eeb50b40 vcmp.f64 d0, #0.0"); | 483 "eeb50b40 vcmp.f64 d0, #0.0"); |
484 | 484 |
485 COMPARE(vsqrt(d0, d0), | 485 COMPARE(vsqrt(d0, d0), |
486 "eeb10bc0 vsqrt.f64 d0, d0"); | 486 "eeb10bc0 vsqrt.f64 d0, d0"); |
487 COMPARE(vsqrt(d2, d3, ne), | 487 COMPARE(vsqrt(d2, d3, ne), |
488 "1eb12bc3 vsqrt.f64ne d2, d3"); | 488 "1eb12bc3 vsqrtne.f64 d2, d3"); |
489 | 489 |
490 COMPARE(vmov(d0, 1.0), | 490 COMPARE(vmov(d0, 1.0), |
491 "eeb70b00 vmov.f64 d0, #1"); | 491 "eeb70b00 vmov.f64 d0, #1"); |
492 COMPARE(vmov(d2, -13.0), | 492 COMPARE(vmov(d2, -13.0), |
493 "eeba2b0a vmov.f64 d2, #-13"); | 493 "eeba2b0a vmov.f64 d2, #-13"); |
494 | 494 |
495 COMPARE(vmov(d0, VmovIndexLo, r0), | 495 COMPARE(vmov(d0, VmovIndexLo, r0), |
496 "ee000b10 vmov.32 d0[0], r0"); | 496 "ee000b10 vmov.32 d0[0], r0"); |
497 COMPARE(vmov(d0, VmovIndexHi, r0), | 497 COMPARE(vmov(d0, VmovIndexHi, r0), |
498 "ee200b10 vmov.32 d0[1], r0"); | 498 "ee200b10 vmov.32 d0[1], r0"); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 COMPARE(vldm(ia, r5, s2, s5), | 558 COMPARE(vldm(ia, r5, s2, s5), |
559 "ec951a04 vldmia r5, {s2-s5}"); | 559 "ec951a04 vldmia r5, {s2-s5}"); |
560 COMPARE(vstm(ia, r6, s0, s31), | 560 COMPARE(vstm(ia, r6, s0, s31), |
561 "ec860a20 vstmia r6, {s0-s31}"); | 561 "ec860a20 vstmia r6, {s0-s31}"); |
562 COMPARE(vldm(ia, r7, s0, s31), | 562 COMPARE(vldm(ia, r7, s0, s31), |
563 "ec970a20 vldmia r7, {s0-s31}"); | 563 "ec970a20 vldmia r7, {s0-s31}"); |
564 | 564 |
565 COMPARE(vmla(d2, d1, d0), | 565 COMPARE(vmla(d2, d1, d0), |
566 "ee012b00 vmla.f64 d2, d1, d0"); | 566 "ee012b00 vmla.f64 d2, d1, d0"); |
567 COMPARE(vmla(d6, d4, d5, cc), | 567 COMPARE(vmla(d6, d4, d5, cc), |
568 "3e046b05 vmla.f64cc d6, d4, d5"); | 568 "3e046b05 vmlacc.f64 d6, d4, d5"); |
569 | 569 |
570 COMPARE(vmls(d2, d1, d0), | 570 COMPARE(vmls(d2, d1, d0), |
571 "ee012b40 vmls.f64 d2, d1, d0"); | 571 "ee012b40 vmls.f64 d2, d1, d0"); |
572 COMPARE(vmls(d6, d4, d5, cc), | 572 COMPARE(vmls(d6, d4, d5, cc), |
573 "3e046b45 vmls.f64cc d6, d4, d5"); | 573 "3e046b45 vmlscc.f64 d6, d4, d5"); |
574 | 574 |
575 COMPARE(vcvt_u32_f64(s0, d0), | 575 COMPARE(vcvt_u32_f64(s0, d0), |
576 "eebc0bc0 vcvt.u32.f64 s0, d0"); | 576 "eebc0bc0 vcvt.u32.f64 s0, d0"); |
577 COMPARE(vcvt_s32_f64(s0, d0), | 577 COMPARE(vcvt_s32_f64(s0, d0), |
578 "eebd0bc0 vcvt.s32.f64 s0, d0"); | 578 "eebd0bc0 vcvt.s32.f64 s0, d0"); |
579 COMPARE(vcvt_f64_u32(d0, s1), | 579 COMPARE(vcvt_f64_u32(d0, s1), |
580 "eeb80b60 vcvt.f64.u32 d0, s1"); | 580 "eeb80b60 vcvt.f64.u32 d0, s1"); |
581 COMPARE(vcvt_f64_s32(d0, s1), | 581 COMPARE(vcvt_f64_s32(d0, s1), |
582 "eeb80be0 vcvt.f64.s32 d0, s1"); | 582 "eeb80be0 vcvt.f64.s32 d0, s1"); |
583 COMPARE(vcvt_f32_s32(s0, s2), | 583 COMPARE(vcvt_f32_s32(s0, s2), |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
861 COMPARE(strd(r8, r9, MemOperand(r9, -127, PostIndex)), | 861 COMPARE(strd(r8, r9, MemOperand(r9, -127, PostIndex)), |
862 "e04987ff strd r8, [r9], #-127"); | 862 "e04987ff strd r8, [r9], #-127"); |
863 COMPARE(strd(r10, fp, MemOperand(fp, 127, PreIndex)), | 863 COMPARE(strd(r10, fp, MemOperand(fp, 127, PreIndex)), |
864 "e1eba7ff strd r10, [fp, #+127]!"); | 864 "e1eba7ff strd r10, [fp, #+127]!"); |
865 COMPARE(strd(ip, sp, MemOperand(sp, -127, PreIndex)), | 865 COMPARE(strd(ip, sp, MemOperand(sp, -127, PreIndex)), |
866 "e16dc7ff strd ip, [sp, #-127]!"); | 866 "e16dc7ff strd ip, [sp, #-127]!"); |
867 } | 867 } |
868 | 868 |
869 VERIFY_RUN(); | 869 VERIFY_RUN(); |
870 } | 870 } |
OLD | NEW |