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 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 { | 424 { |
425 __ cvttsd2si(rdx, Operand(rbx, rcx, times_4, 10000)); | 425 __ cvttsd2si(rdx, Operand(rbx, rcx, times_4, 10000)); |
426 __ cvttsd2si(rdx, xmm1); | 426 __ cvttsd2si(rdx, xmm1); |
427 __ cvttsd2siq(rdx, xmm1); | 427 __ cvttsd2siq(rdx, xmm1); |
428 __ cvttsd2siq(rdx, Operand(rbx, rcx, times_4, 10000)); | 428 __ cvttsd2siq(rdx, Operand(rbx, rcx, times_4, 10000)); |
429 __ cvtqsi2sd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 429 __ cvtqsi2sd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
430 __ cvtqsi2sd(xmm1, rdx); | 430 __ cvtqsi2sd(xmm1, rdx); |
431 __ movsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 431 __ movsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
432 __ movsd(Operand(rbx, rcx, times_4, 10000), xmm1); | 432 __ movsd(Operand(rbx, rcx, times_4, 10000), xmm1); |
433 // 128 bit move instructions. | 433 // 128 bit move instructions. |
| 434 __ movupd(xmm0, Operand(rbx, rcx, times_4, 10000)); |
| 435 __ movupd(Operand(rbx, rcx, times_4, 10000), xmm0); |
434 __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); | 436 __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); |
435 __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); | 437 __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); |
436 | 438 |
437 __ addsd(xmm1, xmm0); | 439 __ addsd(xmm1, xmm0); |
438 __ addsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 440 __ addsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
439 __ mulsd(xmm1, xmm0); | 441 __ mulsd(xmm1, xmm0); |
440 __ mulsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 442 __ mulsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
441 __ subsd(xmm1, xmm0); | 443 __ subsd(xmm1, xmm0); |
442 __ subsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 444 __ subsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
443 __ divsd(xmm1, xmm0); | 445 __ divsd(xmm1, xmm0); |
444 __ divsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 446 __ divsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
445 __ minsd(xmm1, xmm0); | 447 __ minsd(xmm1, xmm0); |
446 __ minsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 448 __ minsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
447 __ maxsd(xmm1, xmm0); | 449 __ maxsd(xmm1, xmm0); |
448 __ maxsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 450 __ maxsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
449 __ ucomisd(xmm0, xmm1); | 451 __ ucomisd(xmm0, xmm1); |
450 | 452 |
451 __ andpd(xmm0, xmm1); | 453 __ andpd(xmm0, xmm1); |
| 454 __ andpd(xmm0, Operand(rbx, rcx, times_4, 10000)); |
| 455 __ orpd(xmm0, xmm1); |
| 456 __ orpd(xmm0, Operand(rbx, rcx, times_4, 10000)); |
| 457 __ xorpd(xmm0, xmm1); |
| 458 __ xorpd(xmm0, Operand(rbx, rcx, times_4, 10000)); |
452 | 459 |
453 __ pslld(xmm0, 6); | 460 __ pslld(xmm0, 6); |
454 __ psrld(xmm0, 6); | 461 __ psrld(xmm0, 6); |
455 __ psllq(xmm0, 6); | 462 __ psllq(xmm0, 6); |
456 __ psrlq(xmm0, 6); | 463 __ psrlq(xmm0, 6); |
457 | 464 |
458 __ pcmpeqd(xmm1, xmm0); | 465 __ pcmpeqd(xmm1, xmm0); |
459 | 466 |
460 __ punpckldq(xmm1, xmm11); | 467 __ punpckldq(xmm1, xmm11); |
461 __ punpckldq(xmm5, Operand(rdx, 4)); | 468 __ punpckldq(xmm5, Operand(rdx, 4)); |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 __ vcvtlsi2sd(xmm9, xmm3, Operand(rbx, r9, times_4, 10000)); | 597 __ vcvtlsi2sd(xmm9, xmm3, Operand(rbx, r9, times_4, 10000)); |
591 __ vcvtqsi2sd(xmm5, xmm9, r11); | 598 __ vcvtqsi2sd(xmm5, xmm9, r11); |
592 __ vcvttsd2si(r9, xmm6); | 599 __ vcvttsd2si(r9, xmm6); |
593 __ vcvttsd2si(rax, Operand(rbx, r9, times_4, 10000)); | 600 __ vcvttsd2si(rax, Operand(rbx, r9, times_4, 10000)); |
594 __ vcvttsd2siq(rdi, xmm9); | 601 __ vcvttsd2siq(rdi, xmm9); |
595 __ vcvttsd2siq(r8, Operand(r9, rbx, times_4, 10000)); | 602 __ vcvttsd2siq(r8, Operand(r9, rbx, times_4, 10000)); |
596 __ vcvtsd2si(rdi, xmm9); | 603 __ vcvtsd2si(rdi, xmm9); |
597 | 604 |
598 __ vmovaps(xmm10, xmm11); | 605 __ vmovaps(xmm10, xmm11); |
599 __ vmovapd(xmm7, xmm0); | 606 __ vmovapd(xmm7, xmm0); |
| 607 __ vmovupd(xmm0, Operand(rbx, rcx, times_4, 10000)); |
| 608 __ vmovupd(Operand(rbx, rcx, times_4, 10000), xmm0); |
600 __ vmovmskpd(r9, xmm4); | 609 __ vmovmskpd(r9, xmm4); |
601 | 610 |
602 __ vmovups(xmm5, xmm1); | 611 __ vmovups(xmm5, xmm1); |
603 __ vmovups(xmm5, Operand(rdx, 4)); | 612 __ vmovups(xmm5, Operand(rdx, 4)); |
604 __ vmovups(Operand(rdx, 4), xmm5); | 613 __ vmovups(Operand(rdx, 4), xmm5); |
605 | 614 |
606 __ vandps(xmm0, xmm9, xmm2); | 615 __ vandps(xmm0, xmm9, xmm2); |
607 __ vandps(xmm9, xmm1, Operand(rbx, rcx, times_4, 10000)); | 616 __ vandps(xmm9, xmm1, Operand(rbx, rcx, times_4, 10000)); |
608 __ vxorps(xmm0, xmm1, xmm9); | 617 __ vxorps(xmm0, xmm1, xmm9); |
609 __ vxorps(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); | 618 __ vxorps(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
825 #ifdef OBJECT_PRINT | 834 #ifdef OBJECT_PRINT |
826 OFStream os(stdout); | 835 OFStream os(stdout); |
827 code->Print(os); | 836 code->Print(os); |
828 byte* begin = code->instruction_start(); | 837 byte* begin = code->instruction_start(); |
829 byte* end = begin + code->instruction_size(); | 838 byte* end = begin + code->instruction_size(); |
830 disasm::Disassembler::Disassemble(stdout, begin, end); | 839 disasm::Disassembler::Disassemble(stdout, begin, end); |
831 #endif | 840 #endif |
832 } | 841 } |
833 | 842 |
834 #undef __ | 843 #undef __ |
OLD | NEW |