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, ...@@ -2470,22 +2470,24 @@ void LiftoffAssembler::emit_i8x16_relaxed_swizzle(LiftoffRegister dst,
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_s(LiftoffRegister dst, void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_s(LiftoffRegister dst,
LiftoffRegister src) { 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, void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_u(LiftoffRegister dst,
LiftoffRegister src) { 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( void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_s_zero(
LiftoffRegister dst, LiftoffRegister src) { 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( void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_u_zero(
LiftoffRegister dst, LiftoffRegister src) { 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, void LiftoffAssembler::emit_s128_relaxed_laneselect(LiftoffRegister dst,
......
...@@ -1782,22 +1782,24 @@ void LiftoffAssembler::emit_i8x16_relaxed_swizzle(LiftoffRegister dst, ...@@ -1782,22 +1782,24 @@ void LiftoffAssembler::emit_i8x16_relaxed_swizzle(LiftoffRegister dst,
void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_s(LiftoffRegister dst, void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_s(LiftoffRegister dst,
LiftoffRegister src) { 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, void LiftoffAssembler::emit_i32x4_relaxed_trunc_f32x4_u(LiftoffRegister dst,
LiftoffRegister src) { 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( void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_s_zero(
LiftoffRegister dst, LiftoffRegister src) { 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( void LiftoffAssembler::emit_i32x4_relaxed_trunc_f64x2_u_zero(
LiftoffRegister dst, LiftoffRegister src) { 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, void LiftoffAssembler::emit_s128_relaxed_laneselect(LiftoffRegister dst,
......
...@@ -1176,10 +1176,6 @@ ...@@ -1176,10 +1176,6 @@
'test-run-wasm-relaxed-simd/RunWasm_F32x4Qfms_liftoff': [SKIP], 'test-run-wasm-relaxed-simd/RunWasm_F32x4Qfms_liftoff': [SKIP],
'test-run-wasm-relaxed-simd/RunWasm_F64x2Qfma_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_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