Commit 3eb43fbc authored by Kong, Fanchen's avatar Kong, Fanchen Committed by Commit Bot

[wasm-simd] [liftoff] Fix i8x16.extract_lane_s on ia32

movsx_b needs a byte register on ia32, but is using arbitrary gp register.

Bug: v8:9909
Change-Id: I5f31733ccf4ca3b04a3564a9133aec496653079e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158928Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
Commit-Queue: Fanchen Kong <fanchen.kong@intel.com>
Cr-Commit-Position: refs/heads/master@{#67351}
parent f684ef02
......@@ -2822,8 +2822,9 @@ void LiftoffAssembler::emit_i32x4_abs(LiftoffRegister dst,
void LiftoffAssembler::emit_i8x16_extract_lane_s(LiftoffRegister dst,
LiftoffRegister lhs,
uint8_t imm_lane_idx) {
Pextrb(dst.gp(), lhs.fp(), imm_lane_idx);
movsx_b(dst.gp(), dst.gp());
Register byte_reg = liftoff::GetTmpByteRegister(this, dst.gp());
Pextrb(byte_reg, lhs.fp(), imm_lane_idx);
movsx_b(dst.gp(), byte_reg);
}
void LiftoffAssembler::emit_i8x16_extract_lane_u(LiftoffRegister dst,
......
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