Commit c81e3719 authored by Ng Zhi An's avatar Ng Zhi An Committed by Commit Bot

[wasm-simd][liftoff] Add is_fp_pair case

Add a case for is_fp_pair in StackTransferRecipe, when moving registers.
This is similar to the is_gp_pair case, but we only need to check the
low fp register, and move both low and high if the low fp register is
different.

Bug: v8:9909
Change-Id: I02f72f6390a1b2802afce5e91ed227b749d838ae
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013223
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65923}
parent 30e4ba6d
......@@ -159,6 +159,14 @@ class StackTransferRecipe {
MoveRegister(dst.high(), src.high(), kWasmI32);
return;
}
if (src.is_fp_pair()) {
DCHECK_EQ(kWasmS128, type);
if (dst.low() != src.low()) {
MoveRegister(dst.low(), src.low(), kWasmF64);
MoveRegister(dst.high(), src.high(), kWasmF64);
}
return;
}
if (move_dst_regs_.has(dst)) {
DCHECK_EQ(register_move(dst)->src, src);
// Non-fp registers can only occur with the exact same type.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment