| 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 |