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 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); | 416 __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); |
417 __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); | 417 __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); |
418 | 418 |
419 __ addsd(xmm1, xmm0); | 419 __ addsd(xmm1, xmm0); |
420 __ mulsd(xmm1, xmm0); | 420 __ mulsd(xmm1, xmm0); |
421 __ subsd(xmm1, xmm0); | 421 __ subsd(xmm1, xmm0); |
422 __ divsd(xmm1, xmm0); | 422 __ divsd(xmm1, xmm0); |
423 __ ucomisd(xmm0, xmm1); | 423 __ ucomisd(xmm0, xmm1); |
424 | 424 |
425 __ andpd(xmm0, xmm1); | 425 __ andpd(xmm0, xmm1); |
| 426 |
| 427 __ pslld(xmm0, 6); |
| 428 __ psrld(xmm0, 6); |
| 429 __ psllq(xmm0, 6); |
| 430 __ psrlq(xmm0, 6); |
| 431 |
| 432 __ pcmpeqd(xmm1, xmm0); |
426 } | 433 } |
427 | 434 |
428 // cmov. | 435 // cmov. |
429 { | 436 { |
430 __ cmovq(overflow, rax, Operand(rax, 0)); | 437 __ cmovq(overflow, rax, Operand(rax, 0)); |
431 __ cmovq(no_overflow, rax, Operand(rax, 1)); | 438 __ cmovq(no_overflow, rax, Operand(rax, 1)); |
432 __ cmovq(below, rax, Operand(rax, 2)); | 439 __ cmovq(below, rax, Operand(rax, 2)); |
433 __ cmovq(above_equal, rax, Operand(rax, 3)); | 440 __ cmovq(above_equal, rax, Operand(rax, 3)); |
434 __ cmovq(equal, rax, Operand(rbx, 0)); | 441 __ cmovq(equal, rax, Operand(rbx, 0)); |
435 __ cmovq(not_equal, rax, Operand(rbx, 1)); | 442 __ cmovq(not_equal, rax, Operand(rbx, 1)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 #ifdef OBJECT_PRINT | 482 #ifdef OBJECT_PRINT |
476 OFStream os(stdout); | 483 OFStream os(stdout); |
477 code->Print(os); | 484 code->Print(os); |
478 byte* begin = code->instruction_start(); | 485 byte* begin = code->instruction_start(); |
479 byte* end = begin + code->instruction_size(); | 486 byte* end = begin + code->instruction_size(); |
480 disasm::Disassembler::Disassemble(stdout, begin, end); | 487 disasm::Disassembler::Disassemble(stdout, begin, end); |
481 #endif | 488 #endif |
482 } | 489 } |
483 | 490 |
484 #undef __ | 491 #undef __ |
OLD | NEW |