Reviewers: Benedikt Meurer, danno, dcarney, titzer,
Message:
PTAL
Description:
[x64] use movaps instead of movsd for the move between double registers
BUG=
Please review this at https://codereview.chromium.org/972053002/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+4, -4 lines):
M src/compiler/x64/code-generator-x64.cc
Index: src/compiler/x64/code-generator-x64.cc
diff --git a/src/compiler/x64/code-generator-x64.cc
b/src/compiler/x64/code-generator-x64.cc
index
be28bf74d589b5ef08359d6349af79a277c88ef6..921bf207ae02969cdd310539aa6934dc0d5c6809
100644
--- a/src/compiler/x64/code-generator-x64.cc
+++ b/src/compiler/x64/code-generator-x64.cc
@@ -1353,7 +1353,7 @@ void CodeGenerator::AssembleMove(InstructionOperand*
source,
XMMRegister src = g.ToDoubleRegister(source);
if (destination->IsDoubleRegister()) {
XMMRegister dst = g.ToDoubleRegister(destination);
- __ movsd(dst, src);
+ __ movaps(dst, src);
} else {
DCHECK(destination->IsDoubleStackSlot());
Operand dst = g.ToOperand(destination);
@@ -1404,9 +1404,9 @@ void CodeGenerator::AssembleSwap(InstructionOperand*
source,
// available as a fixed scratch register.
XMMRegister src = g.ToDoubleRegister(source);
XMMRegister dst = g.ToDoubleRegister(destination);
- __ movsd(xmm0, src);
- __ movsd(src, dst);
- __ movsd(dst, xmm0);
+ __ movaps(xmm0, src);
+ __ movaps(src, dst);
+ __ movaps(dst, xmm0);
} else if (source->IsDoubleRegister() &&
destination->IsDoubleStackSlot()) {
// XMM register-memory swap. We rely on having xmm0
// available as a fixed scratch register.
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.