Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Side by Side Diff: test/cctest/test-disasm-ia32.cc

Issue 770183002: [ia32] Introduce vex prefix version of float64 arithmetic binop (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 464
465 { 465 {
466 if (CpuFeatures::IsSupported(SSE4_1)) { 466 if (CpuFeatures::IsSupported(SSE4_1)) {
467 CpuFeatureScope scope(&assm, SSE4_1); 467 CpuFeatureScope scope(&assm, SSE4_1);
468 __ pextrd(eax, xmm0, 1); 468 __ pextrd(eax, xmm0, 1);
469 __ pinsrd(xmm1, eax, 0); 469 __ pinsrd(xmm1, eax, 0);
470 __ extractps(eax, xmm1, 0); 470 __ extractps(eax, xmm1, 0);
471 } 471 }
472 } 472 }
473 473
474 // AVX instruction
475 {
476 if (CpuFeatures::IsSupported(AVX)) {
477 CpuFeatureScope scope(&assm, AVX);
478 __ vaddsd(xmm0, xmm1, xmm2);
479 __ vaddsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
480 __ vmulsd(xmm0, xmm1, xmm2);
481 __ vmulsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
482 __ vsubsd(xmm0, xmm1, xmm2);
483 __ vsubsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
484 __ vdivsd(xmm0, xmm1, xmm2);
485 __ vdivsd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
486 }
487 }
488
474 // xchg. 489 // xchg.
475 { 490 {
476 __ xchg(eax, eax); 491 __ xchg(eax, eax);
477 __ xchg(eax, ebx); 492 __ xchg(eax, ebx);
478 __ xchg(ebx, ebx); 493 __ xchg(ebx, ebx);
479 __ xchg(ebx, Operand(esp, 12)); 494 __ xchg(ebx, Operand(esp, 12));
480 } 495 }
481 496
482 // Nop instructions 497 // Nop instructions
483 for (int i = 0; i < 16; i++) { 498 for (int i = 0; i < 16; i++) {
(...skipping 10 matching lines...) Expand all
494 #ifdef OBJECT_PRINT 509 #ifdef OBJECT_PRINT
495 OFStream os(stdout); 510 OFStream os(stdout);
496 code->Print(os); 511 code->Print(os);
497 byte* begin = code->instruction_start(); 512 byte* begin = code->instruction_start();
498 byte* end = begin + code->instruction_size(); 513 byte* end = begin + code->instruction_size();
499 disasm::Disassembler::Disassemble(stdout, begin, end); 514 disasm::Disassembler::Disassemble(stdout, begin, end);
500 #endif 515 #endif
501 } 516 }
502 517
503 #undef __ 518 #undef __
OLDNEW
« no previous file with comments | « src/ia32/disasm-ia32.cc ('k') | test/unittests/compiler/ia32/instruction-selector-ia32-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698