OLD | NEW |
1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 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 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 if (CpuFeatures::IsSupported(SSE2)) { | 368 if (CpuFeatures::IsSupported(SSE2)) { |
369 CpuFeatures::Scope fscope(SSE2); | 369 CpuFeatures::Scope fscope(SSE2); |
370 __ cvttss2si(edx, Operand(ebx, ecx, times_4, 10000)); | 370 __ cvttss2si(edx, Operand(ebx, ecx, times_4, 10000)); |
371 __ cvtsi2sd(xmm1, Operand(ebx, ecx, times_4, 10000)); | 371 __ cvtsi2sd(xmm1, Operand(ebx, ecx, times_4, 10000)); |
372 __ addsd(xmm1, xmm0); | 372 __ addsd(xmm1, xmm0); |
373 __ mulsd(xmm1, xmm0); | 373 __ mulsd(xmm1, xmm0); |
374 __ subsd(xmm1, xmm0); | 374 __ subsd(xmm1, xmm0); |
375 __ divsd(xmm1, xmm0); | 375 __ divsd(xmm1, xmm0); |
376 __ movdbl(xmm1, Operand(ebx, ecx, times_4, 10000)); | 376 __ movdbl(xmm1, Operand(ebx, ecx, times_4, 10000)); |
377 __ movdbl(Operand(ebx, ecx, times_4, 10000), xmm1); | 377 __ movdbl(Operand(ebx, ecx, times_4, 10000), xmm1); |
378 __ comisd(xmm0, xmm1); | 378 __ ucomisd(xmm0, xmm1); |
379 | 379 |
380 // 128 bit move instructions. | 380 // 128 bit move instructions. |
381 __ movdqa(xmm0, Operand(ebx, ecx, times_4, 10000)); | 381 __ movdqa(xmm0, Operand(ebx, ecx, times_4, 10000)); |
382 __ movdqa(Operand(ebx, ecx, times_4, 10000), xmm0); | 382 __ movdqa(Operand(ebx, ecx, times_4, 10000), xmm0); |
383 __ movdqu(xmm0, Operand(ebx, ecx, times_4, 10000)); | 383 __ movdqu(xmm0, Operand(ebx, ecx, times_4, 10000)); |
384 __ movdqu(Operand(ebx, ecx, times_4, 10000), xmm0); | 384 __ movdqu(Operand(ebx, ecx, times_4, 10000), xmm0); |
385 } | 385 } |
386 } | 386 } |
387 | 387 |
388 // cmov. | 388 // cmov. |
(...skipping 30 matching lines...) Expand all Loading... |
419 CHECK(code->IsCode()); | 419 CHECK(code->IsCode()); |
420 #ifdef DEBUG | 420 #ifdef DEBUG |
421 Code::cast(code)->Print(); | 421 Code::cast(code)->Print(); |
422 byte* begin = Code::cast(code)->instruction_start(); | 422 byte* begin = Code::cast(code)->instruction_start(); |
423 byte* end = begin + Code::cast(code)->instruction_size(); | 423 byte* end = begin + Code::cast(code)->instruction_size(); |
424 disasm::Disassembler::Disassemble(stdout, begin, end); | 424 disasm::Disassembler::Disassemble(stdout, begin, end); |
425 #endif | 425 #endif |
426 } | 426 } |
427 | 427 |
428 #undef __ | 428 #undef __ |
OLD | NEW |