[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/+/2158928 Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> Cr-Commit-Position: refs/heads/master@{#67351}
This commit is contained in:
parent
f684ef021a
commit
3eb43fbc26
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user