| 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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 __ pextrd(r12, xmm0, 1); | 489 __ pextrd(r12, xmm0, 1); |
| 490 __ pinsrd(xmm9, r9, 0); | 490 __ pinsrd(xmm9, r9, 0); |
| 491 __ pinsrd(xmm5, rax, 1); | 491 __ pinsrd(xmm5, rax, 1); |
| 492 } | 492 } |
| 493 } | 493 } |
| 494 | 494 |
| 495 // AVX instruction | 495 // AVX instruction |
| 496 { | 496 { |
| 497 if (CpuFeatures::IsSupported(AVX)) { | 497 if (CpuFeatures::IsSupported(AVX)) { |
| 498 CpuFeatureScope scope(&assm, AVX); | 498 CpuFeatureScope scope(&assm, AVX); |
| 499 __ vmovss(xmm6, xmm14, xmm2); |
| 500 __ vmovss(xmm9, Operand(rbx, rcx, times_4, 10000)); |
| 501 __ vmovss(Operand(rbx, rcx, times_4, 10000), xmm0); |
| 502 |
| 499 __ vaddss(xmm0, xmm1, xmm2); | 503 __ vaddss(xmm0, xmm1, xmm2); |
| 500 __ vaddss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 504 __ vaddss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 501 __ vmulss(xmm0, xmm1, xmm2); | 505 __ vmulss(xmm0, xmm1, xmm2); |
| 502 __ vmulss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 506 __ vmulss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 503 __ vsubss(xmm0, xmm1, xmm2); | 507 __ vsubss(xmm0, xmm1, xmm2); |
| 504 __ vsubss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 508 __ vsubss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 505 __ vdivss(xmm0, xmm1, xmm2); | 509 __ vdivss(xmm0, xmm1, xmm2); |
| 506 __ vdivss(xmm0, xmm1, Operand(rbx, rcx, times_2, 10000)); | 510 __ vdivss(xmm0, xmm1, Operand(rbx, rcx, times_2, 10000)); |
| 507 __ vminss(xmm8, xmm1, xmm2); | 511 __ vminss(xmm8, xmm1, xmm2); |
| 508 __ vminss(xmm9, xmm1, Operand(rbx, rcx, times_8, 10000)); | 512 __ vminss(xmm9, xmm1, Operand(rbx, rcx, times_8, 10000)); |
| 509 __ vmaxss(xmm8, xmm1, xmm2); | 513 __ vmaxss(xmm8, xmm1, xmm2); |
| 510 __ vmaxss(xmm9, xmm1, Operand(rbx, rcx, times_1, 10000)); | 514 __ vmaxss(xmm9, xmm1, Operand(rbx, rcx, times_1, 10000)); |
| 511 __ vmovss(xmm9, Operand(r11, rcx, times_8, -10000)); | 515 __ vmovss(xmm9, Operand(r11, rcx, times_8, -10000)); |
| 512 __ vmovss(Operand(rbx, r9, times_4, 10000), xmm1); | 516 __ vmovss(Operand(rbx, r9, times_4, 10000), xmm1); |
| 513 __ vucomiss(xmm9, xmm1); | 517 __ vucomiss(xmm9, xmm1); |
| 514 __ vucomiss(xmm8, Operand(rbx, rdx, times_2, 10981)); | 518 __ vucomiss(xmm8, Operand(rbx, rdx, times_2, 10981)); |
| 515 | 519 |
| 516 __ vmovd(xmm5, rdi); | 520 __ vmovd(xmm5, rdi); |
| 517 __ vmovd(xmm9, Operand(rbx, rcx, times_4, 10000)); | 521 __ vmovd(xmm9, Operand(rbx, rcx, times_4, 10000)); |
| 518 __ vmovd(r9, xmm6); | 522 __ vmovd(r9, xmm6); |
| 519 __ vmovq(xmm5, rdi); | 523 __ vmovq(xmm5, rdi); |
| 520 __ vmovq(xmm9, Operand(rbx, rcx, times_4, 10000)); | 524 __ vmovq(xmm9, Operand(rbx, rcx, times_4, 10000)); |
| 521 __ vmovq(r9, xmm6); | 525 __ vmovq(r9, xmm6); |
| 522 | 526 |
| 523 __ vmovsd(xmm6, xmm2); | 527 __ vmovsd(xmm6, xmm14, xmm2); |
| 524 __ vmovsd(xmm9, Operand(rbx, rcx, times_4, 10000)); | 528 __ vmovsd(xmm9, Operand(rbx, rcx, times_4, 10000)); |
| 525 __ vmovsd(Operand(rbx, rcx, times_4, 10000), xmm0); | 529 __ vmovsd(Operand(rbx, rcx, times_4, 10000), xmm0); |
| 526 | 530 |
| 527 __ vaddsd(xmm0, xmm1, xmm2); | 531 __ vaddsd(xmm0, xmm1, xmm2); |
| 528 __ vaddsd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 532 __ vaddsd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 529 __ vmulsd(xmm0, xmm1, xmm2); | 533 __ vmulsd(xmm0, xmm1, xmm2); |
| 530 __ vmulsd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 534 __ vmulsd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 531 __ vsubsd(xmm0, xmm1, xmm2); | 535 __ vsubsd(xmm0, xmm1, xmm2); |
| 532 __ vsubsd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 536 __ vsubsd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 533 __ vdivsd(xmm0, xmm1, xmm2); | 537 __ vdivsd(xmm0, xmm1, xmm2); |
| 534 __ vdivsd(xmm0, xmm1, Operand(rbx, rcx, times_2, 10000)); | 538 __ vdivsd(xmm0, xmm1, Operand(rbx, rcx, times_2, 10000)); |
| 535 __ vminsd(xmm8, xmm1, xmm2); | 539 __ vminsd(xmm8, xmm1, xmm2); |
| 536 __ vminsd(xmm9, xmm1, Operand(rbx, rcx, times_8, 10000)); | 540 __ vminsd(xmm9, xmm1, Operand(rbx, rcx, times_8, 10000)); |
| 537 __ vmaxsd(xmm8, xmm1, xmm2); | 541 __ vmaxsd(xmm8, xmm1, xmm2); |
| 538 __ vmaxsd(xmm9, xmm1, Operand(rbx, rcx, times_1, 10000)); | 542 __ vmaxsd(xmm9, xmm1, Operand(rbx, rcx, times_1, 10000)); |
| 539 __ vucomisd(xmm9, xmm1); | 543 __ vucomisd(xmm9, xmm1); |
| 540 __ vucomisd(xmm8, Operand(rbx, rdx, times_2, 10981)); | 544 __ vucomisd(xmm8, Operand(rbx, rdx, times_2, 10981)); |
| 541 | 545 |
| 542 __ vcvtss2sd(xmm4, xmm9, xmm11); | 546 __ vcvtss2sd(xmm4, xmm9, xmm11); |
| 543 __ vcvtsd2ss(xmm9, xmm3, xmm2); | 547 __ vcvtsd2ss(xmm9, xmm3, xmm2); |
| 544 __ vcvtss2sd(xmm4, xmm9, Operand(rbx, rcx, times_1, 10000)); | 548 __ vcvtss2sd(xmm4, xmm9, Operand(rbx, rcx, times_1, 10000)); |
| 545 __ vcvtsd2ss(xmm9, xmm3, Operand(rbx, rcx, times_1, 10000)); | 549 __ vcvtsd2ss(xmm9, xmm3, Operand(rbx, rcx, times_1, 10000)); |
| 546 __ vcvtlsi2sd(xmm5, xmm9, rcx); | 550 __ vcvtlsi2sd(xmm5, xmm9, rcx); |
| 547 __ vcvtlsi2sd(xmm9, xmm3, Operand(rbx, r9, times_4, 10000)); | 551 __ vcvtlsi2sd(xmm9, xmm3, Operand(rbx, r9, times_4, 10000)); |
| 548 __ vcvttsd2si(r9, xmm6); | 552 __ vcvttsd2si(r9, xmm6); |
| 549 __ vcvttsd2si(rax, Operand(rbx, r9, times_4, 10000)); | 553 __ vcvttsd2si(rax, Operand(rbx, r9, times_4, 10000)); |
| 550 __ vcvttsd2siq(rdi, xmm9); | 554 __ vcvttsd2siq(rdi, xmm9); |
| 551 __ vcvttsd2siq(r8, Operand(r9, rbx, times_4, 10000)); | 555 __ vcvttsd2siq(r8, Operand(r9, rbx, times_4, 10000)); |
| 552 | 556 |
| 557 __ vmovaps(xmm10, xmm11); |
| 553 __ vmovapd(xmm7, xmm0); | 558 __ vmovapd(xmm7, xmm0); |
| 554 __ vmovmskpd(r9, xmm4); | 559 __ vmovmskpd(r9, xmm4); |
| 555 | 560 |
| 556 __ vandps(xmm0, xmm9, xmm2); | 561 __ vandps(xmm0, xmm9, xmm2); |
| 557 __ vandps(xmm9, xmm1, Operand(rbx, rcx, times_4, 10000)); | 562 __ vandps(xmm9, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 558 __ vxorps(xmm0, xmm1, xmm9); | 563 __ vxorps(xmm0, xmm1, xmm9); |
| 559 __ vxorps(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 564 __ vxorps(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 560 | 565 |
| 561 __ vandpd(xmm0, xmm9, xmm2); | 566 __ vandpd(xmm0, xmm9, xmm2); |
| 562 __ vandpd(xmm9, xmm1, Operand(rbx, rcx, times_4, 10000)); | 567 __ vandpd(xmm9, xmm1, Operand(rbx, rcx, times_4, 10000)); |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 749 #ifdef OBJECT_PRINT | 754 #ifdef OBJECT_PRINT |
| 750 OFStream os(stdout); | 755 OFStream os(stdout); |
| 751 code->Print(os); | 756 code->Print(os); |
| 752 byte* begin = code->instruction_start(); | 757 byte* begin = code->instruction_start(); |
| 753 byte* end = begin + code->instruction_size(); | 758 byte* end = begin + code->instruction_size(); |
| 754 disasm::Disassembler::Disassemble(stdout, begin, end); | 759 disasm::Disassembler::Disassemble(stdout, begin, end); |
| 755 #endif | 760 #endif |
| 756 } | 761 } |
| 757 | 762 |
| 758 #undef __ | 763 #undef __ |
| OLD | NEW |