[ia32] Use Movdqu/Movsd macro-assembler functions

They check for AVX and uses the AVX instruction if available. This is a
follow-up CL to https://crrev.com/c/v8/v8/+/2912778

Change-Id: Ib53f06f03ac1067366b76b9193d8db98c394ce50
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919853
Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74795}
This commit is contained in:
Santiago Aboy Solanes 2021-05-26 17:33:17 +01:00 committed by V8 LUCI CQ
parent 0e01a45452
commit 6d6438eb3b

View File

@ -323,9 +323,9 @@ int TurboAssembler::PushCallerSaved(SaveFPRegsMode fp_mode, Register exclusion1,
for (int i = XMMRegister::kNumRegisters - 1; i > 0; i--) {
XMMRegister reg = XMMRegister::from_code(i);
#if V8_ENABLE_WEBASSEMBLY
movdqu(Operand(esp, (i - 1) * kStackSavedSavedFPSize), reg);
Movdqu(Operand(esp, (i - 1) * kStackSavedSavedFPSize), reg);
#else
movsd(Operand(esp, (i - 1) * kStackSavedSavedFPSize), reg);
Movsd(Operand(esp, (i - 1) * kStackSavedSavedFPSize), reg);
#endif // V8_ENABLE_WEBASSEMBLY
}
bytes += delta;
@ -343,9 +343,9 @@ int TurboAssembler::PopCallerSaved(SaveFPRegsMode fp_mode, Register exclusion1,
for (int i = XMMRegister::kNumRegisters - 1; i > 0; i--) {
XMMRegister reg = XMMRegister::from_code(i);
#if V8_ENABLE_WEBASSEMBLY
movdqu(reg, Operand(esp, (i - 1) * kStackSavedSavedFPSize));
Movdqu(reg, Operand(esp, (i - 1) * kStackSavedSavedFPSize));
#else
movsd(reg, Operand(esp, (i - 1) * kStackSavedSavedFPSize));
Movsd(reg, Operand(esp, (i - 1) * kStackSavedSavedFPSize));
#endif // V8_ENABLE_WEBASSEMBLY
}
add(esp, Immediate(delta));