From 7bec7e608ef0fdbf5bf41c084023b3c4180e0571 Mon Sep 17 00:00:00 2001 From: Benjamin Bouvier Date: Mon, 22 Oct 2018 15:41:53 +0200 Subject: [PATCH] Bug 1500231: Fix register allocation of copysign on AVX; r=sunfish --HG-- extra : rebase_source : 99a85227520130cc006fbb4ff8b6bb3d7a1a03f6 extra : amend_source : 81b0b96934c487246b0188d63ce4b3c02a82b417 --- js/src/jit/x86-shared/Lowering-x86-shared.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/src/jit/x86-shared/Lowering-x86-shared.cpp b/js/src/jit/x86-shared/Lowering-x86-shared.cpp index aa4a8edf77f5..17988759c029 100644 --- a/js/src/jit/x86-shared/Lowering-x86-shared.cpp +++ b/js/src/jit/x86-shared/Lowering-x86-shared.cpp @@ -704,10 +704,11 @@ LIRGenerator::visitCopySign(MCopySign* ins) // As lowerForFPU, but we want rhs to be in a FP register too. lir->setOperand(0, useRegisterAtStart(lhs)); - lir->setOperand(1, lhs != rhs ? useRegister(rhs) : useRegisterAtStart(rhs)); if (!Assembler::HasAVX()) { + lir->setOperand(1, lhs != rhs ? useRegister(rhs) : useRegisterAtStart(rhs)); defineReuseInput(lir, ins, 0); } else { + lir->setOperand(1, useRegisterAtStart(rhs)); define(lir, ins); } }