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 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 __ mulps(xmm1, xmm0); | 371 __ mulps(xmm1, xmm0); |
372 __ mulps(xmm1, Operand(rbx, rcx, times_4, 10000)); | 372 __ mulps(xmm1, Operand(rbx, rcx, times_4, 10000)); |
373 __ divps(xmm1, xmm0); | 373 __ divps(xmm1, xmm0); |
374 __ divps(xmm1, Operand(rbx, rcx, times_4, 10000)); | 374 __ divps(xmm1, Operand(rbx, rcx, times_4, 10000)); |
375 } | 375 } |
376 // SSE 2 instructions | 376 // SSE 2 instructions |
377 { | 377 { |
378 __ cvttsd2si(rdx, Operand(rbx, rcx, times_4, 10000)); | 378 __ cvttsd2si(rdx, Operand(rbx, rcx, times_4, 10000)); |
379 __ cvttsd2si(rdx, xmm1); | 379 __ cvttsd2si(rdx, xmm1); |
380 __ cvttsd2siq(rdx, xmm1); | 380 __ cvttsd2siq(rdx, xmm1); |
| 381 __ cvtqsi2sd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
| 382 __ cvtqsi2sd(xmm1, rdx); |
381 __ movsd(xmm1, Operand(rbx, rcx, times_4, 10000)); | 383 __ movsd(xmm1, Operand(rbx, rcx, times_4, 10000)); |
382 __ movsd(Operand(rbx, rcx, times_4, 10000), xmm1); | 384 __ movsd(Operand(rbx, rcx, times_4, 10000), xmm1); |
383 // 128 bit move instructions. | 385 // 128 bit move instructions. |
384 __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); | 386 __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); |
385 __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); | 387 __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); |
386 | 388 |
387 __ addsd(xmm1, xmm0); | 389 __ addsd(xmm1, xmm0); |
388 __ mulsd(xmm1, xmm0); | 390 __ mulsd(xmm1, xmm0); |
389 __ subsd(xmm1, xmm0); | 391 __ subsd(xmm1, xmm0); |
390 __ divsd(xmm1, xmm0); | 392 __ divsd(xmm1, xmm0); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
443 #ifdef OBJECT_PRINT | 445 #ifdef OBJECT_PRINT |
444 OFStream os(stdout); | 446 OFStream os(stdout); |
445 code->Print(os); | 447 code->Print(os); |
446 byte* begin = code->instruction_start(); | 448 byte* begin = code->instruction_start(); |
447 byte* end = begin + code->instruction_size(); | 449 byte* end = begin + code->instruction_size(); |
448 disasm::Disassembler::Disassemble(stdout, begin, end); | 450 disasm::Disassembler::Disassemble(stdout, begin, end); |
449 #endif | 451 #endif |
450 } | 452 } |
451 | 453 |
452 #undef __ | 454 #undef __ |
OLD | NEW |