Commit 2c2b094f authored by Deepti Gandluri's avatar Deepti Gandluri Committed by V8 LUCI CQ

[wasm-relaxed-simd] Liftoff prototypes for Arm Trunc/Sat operations

Bug: v8:12284
Change-Id: I9d4a5d7420c6650039f84b3c8fc7974e9e617ce3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3687566Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80981}
parent 2ed27bba
......@@ -2470,22 +2470,24 @@ void LiftoffAssembler::emit_i8x16_relaxed_swizzle(LiftoffRegister dst,
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_s(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f32x4_s");
vcvt_s32_f32(liftoff::GetSimd128Register(dst),
liftoff::GetSimd128Register(src));
}
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_u(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f32x4_u");
vcvt_u32_f32(liftoff::GetSimd128Register(dst),
liftoff::GetSimd128Register(src));
}
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_s_zero(
LiftoffRegister dst, LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f64x2_s_zero");
emit_i32x4_trunc_sat_f64x2_s_zero(dst, src);
}
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_u_zero(
LiftoffRegister dst, LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f64x2_u_zero");
emit_i32x4_trunc_sat_f64x2_u_zero(dst, src);
}
void LiftoffAssembler::emit_s128_relaxed_laneselect(LiftoffRegister dst,
......
......@@ -1782,22 +1782,24 @@ void LiftoffAssembler::emit_i8x16_relaxed_swizzle(LiftoffRegister dst,
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_s(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f32x4_s");
Fcvtzs(dst.fp().V4S(), src.fp().V4S());
}
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_u(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f32x4_u");
Fcvtzu(dst.fp().V4S(), src.fp().V4S());
}
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_s_zero(
LiftoffRegister dst, LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f64x2_s_zero");
Fcvtzs(dst.fp().V2D(), src.fp().V2D());
Sqxtn(dst.fp().V2S(), dst.fp().V2D());
}
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_u_zero(
LiftoffRegister dst, LiftoffRegister src) {
bailout(kRelaxedSimd, "emit_i32x4_relaxed_trunc_f64x2_u_zero");
Fcvtzu(dst.fp().V2D(), src.fp().V2D());
Uqxtn(dst.fp().V2S(), dst.fp().V2D());
}
void LiftoffAssembler::emit_s128_relaxed_laneselect(LiftoffRegister dst,
......
......@@ -1176,10 +1176,6 @@
'test-run-wasm-relaxed-simd/RunWasm_F32x4Qfms_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_F64x2Qfma_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_F64x2Qfms_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_I32x4RelaxedTruncF32x4S_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_I32x4RelaxedTruncF32x4U_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_I32x4RelaxedTruncF64x2SZero_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_I32x4RelaxedTruncF64x2UZero_liftoff': [SKIP],
}],
]
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