[x64] Do not use SSE instructions in DoConstructDouble when AVX is enabled.

BUG=v8:4406
LOG=N

Review URL: https://codereview.chromium.org/1406963004

Cr-Commit-Position: refs/heads/master@{#31387}
This commit is contained in:
alph 2015-10-19 20:58:47 -07:00 committed by Commit bot
parent e34c343d2a
commit 706487b097

View File

@ -5333,11 +5333,10 @@ void LCodeGen::DoConstructDouble(LConstructDouble* instr) {
Register hi_reg = ToRegister(instr->hi());
Register lo_reg = ToRegister(instr->lo());
XMMRegister result_reg = ToDoubleRegister(instr->result());
XMMRegister xmm_scratch = double_scratch0();
__ Movd(result_reg, hi_reg);
__ psllq(result_reg, 32);
__ Movd(xmm_scratch, lo_reg);
__ orps(result_reg, xmm_scratch);
__ movl(kScratchRegister, hi_reg);
__ shlq(kScratchRegister, Immediate(32));
__ orq(kScratchRegister, lo_reg);
__ Movq(result_reg, kScratchRegister);
}