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 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 | 401 |
402 // Arithmetic operation | 402 // Arithmetic operation |
403 __ addss(xmm1, xmm0); | 403 __ addss(xmm1, xmm0); |
404 __ addss(xmm1, Operand(ebx, ecx, times_4, 10000)); | 404 __ addss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
405 __ mulss(xmm1, xmm0); | 405 __ mulss(xmm1, xmm0); |
406 __ mulss(xmm1, Operand(ebx, ecx, times_4, 10000)); | 406 __ mulss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
407 __ subss(xmm1, xmm0); | 407 __ subss(xmm1, xmm0); |
408 __ subss(xmm1, Operand(ebx, ecx, times_4, 10000)); | 408 __ subss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
409 __ divss(xmm1, xmm0); | 409 __ divss(xmm1, xmm0); |
410 __ divss(xmm1, Operand(ebx, ecx, times_4, 10000)); | 410 __ divss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 411 __ maxss(xmm1, xmm0); |
| 412 __ maxss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 413 __ minss(xmm1, xmm0); |
| 414 __ minss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 415 __ sqrtss(xmm1, xmm0); |
| 416 __ sqrtss(xmm1, Operand(ebx, ecx, times_4, 10000)); |
411 __ addps(xmm1, xmm0); | 417 __ addps(xmm1, xmm0); |
412 __ addps(xmm1, Operand(ebx, ecx, times_4, 10000)); | 418 __ addps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
413 __ subps(xmm1, xmm0); | 419 __ subps(xmm1, xmm0); |
414 __ subps(xmm1, Operand(ebx, ecx, times_4, 10000)); | 420 __ subps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
415 __ mulps(xmm1, xmm0); | 421 __ mulps(xmm1, xmm0); |
416 __ mulps(xmm1, Operand(ebx, ecx, times_4, 10000)); | 422 __ mulps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
417 __ divps(xmm1, xmm0); | 423 __ divps(xmm1, xmm0); |
418 __ divps(xmm1, Operand(ebx, ecx, times_4, 10000)); | 424 __ divps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
419 | 425 |
420 __ ucomiss(xmm0, xmm1); | 426 __ ucomiss(xmm0, xmm1); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
499 __ vmulsd(xmm0, xmm1, xmm2); | 505 __ vmulsd(xmm0, xmm1, xmm2); |
500 __ vmulsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); | 506 __ vmulsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
501 __ vsubsd(xmm0, xmm1, xmm2); | 507 __ vsubsd(xmm0, xmm1, xmm2); |
502 __ vsubsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); | 508 __ vsubsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
503 __ vdivsd(xmm0, xmm1, xmm2); | 509 __ vdivsd(xmm0, xmm1, xmm2); |
504 __ vdivsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); | 510 __ vdivsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
505 __ vminsd(xmm0, xmm1, xmm2); | 511 __ vminsd(xmm0, xmm1, xmm2); |
506 __ vminsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); | 512 __ vminsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
507 __ vmaxsd(xmm0, xmm1, xmm2); | 513 __ vmaxsd(xmm0, xmm1, xmm2); |
508 __ vmaxsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); | 514 __ vmaxsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 515 |
| 516 __ vaddss(xmm0, xmm1, xmm2); |
| 517 __ vaddss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 518 __ vmulss(xmm0, xmm1, xmm2); |
| 519 __ vmulss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 520 __ vsubss(xmm0, xmm1, xmm2); |
| 521 __ vsubss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 522 __ vdivss(xmm0, xmm1, xmm2); |
| 523 __ vdivss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 524 __ vminss(xmm0, xmm1, xmm2); |
| 525 __ vminss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
| 526 __ vmaxss(xmm0, xmm1, xmm2); |
| 527 __ vmaxss(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
509 } | 528 } |
510 } | 529 } |
511 | 530 |
512 // FMA3 instruction | 531 // FMA3 instruction |
513 { | 532 { |
514 if (CpuFeatures::IsSupported(FMA3)) { | 533 if (CpuFeatures::IsSupported(FMA3)) { |
515 CpuFeatureScope scope(&assm, FMA3); | 534 CpuFeatureScope scope(&assm, FMA3); |
516 __ vfmadd132sd(xmm0, xmm1, xmm2); | 535 __ vfmadd132sd(xmm0, xmm1, xmm2); |
517 __ vfmadd132sd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); | 536 __ vfmadd132sd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); |
518 __ vfmadd213sd(xmm0, xmm1, xmm2); | 537 __ vfmadd213sd(xmm0, xmm1, xmm2); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 #ifdef OBJECT_PRINT | 613 #ifdef OBJECT_PRINT |
595 OFStream os(stdout); | 614 OFStream os(stdout); |
596 code->Print(os); | 615 code->Print(os); |
597 byte* begin = code->instruction_start(); | 616 byte* begin = code->instruction_start(); |
598 byte* end = begin + code->instruction_size(); | 617 byte* end = begin + code->instruction_size(); |
599 disasm::Disassembler::Disassemble(stdout, begin, end); | 618 disasm::Disassembler::Disassemble(stdout, begin, end); |
600 #endif | 619 #endif |
601 } | 620 } |
602 | 621 |
603 #undef __ | 622 #undef __ |
OLD | NEW |