Commit 5ad6adc3 authored by Zhao Jiazhong's avatar Zhao Jiazhong Committed by Commit Bot

[mips][wasm-simd][liftoff] Implement div/sqrt

Port ad55fa63
https://crrev.com/c/2147148

Change-Id: I5375ae4bddb2221c6f7860e55111c95beeed757d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152069Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#67165}
parent 5bf5b79f
...@@ -1944,6 +1944,14 @@ void LiftoffAssembler::emit_f32x4_neg(LiftoffRegister dst, ...@@ -1944,6 +1944,14 @@ void LiftoffAssembler::emit_f32x4_neg(LiftoffRegister dst,
bailout(kSimd, "emit_f32x4_neg"); bailout(kSimd, "emit_f32x4_neg");
} }
void LiftoffAssembler::emit_f32x4_sqrt(LiftoffRegister dst,
LiftoffRegister src) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f32x4_sqrt");
}
void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs, void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS // TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
...@@ -1968,6 +1976,14 @@ void LiftoffAssembler::emit_f32x4_mul(LiftoffRegister dst, LiftoffRegister lhs, ...@@ -1968,6 +1976,14 @@ void LiftoffAssembler::emit_f32x4_mul(LiftoffRegister dst, LiftoffRegister lhs,
bailout(kSimd, "emit_f32x4_mul"); bailout(kSimd, "emit_f32x4_mul");
} }
void LiftoffAssembler::emit_f32x4_div(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f32x4_div");
}
void LiftoffAssembler::emit_f64x2_abs(LiftoffRegister dst, void LiftoffAssembler::emit_f64x2_abs(LiftoffRegister dst,
LiftoffRegister src) { LiftoffRegister src) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS // TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
...@@ -1984,6 +2000,14 @@ void LiftoffAssembler::emit_f64x2_neg(LiftoffRegister dst, ...@@ -1984,6 +2000,14 @@ void LiftoffAssembler::emit_f64x2_neg(LiftoffRegister dst,
bailout(kSimd, "emit_f64x2_neg"); bailout(kSimd, "emit_f64x2_neg");
} }
void LiftoffAssembler::emit_f64x2_sqrt(LiftoffRegister dst,
LiftoffRegister src) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f64x2_sqrt");
}
void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs, void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS // TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
...@@ -2008,6 +2032,14 @@ void LiftoffAssembler::emit_f64x2_mul(LiftoffRegister dst, LiftoffRegister lhs, ...@@ -2008,6 +2032,14 @@ void LiftoffAssembler::emit_f64x2_mul(LiftoffRegister dst, LiftoffRegister lhs,
bailout(kSimd, "emit_f64x2_mul"); bailout(kSimd, "emit_f64x2_mul");
} }
void LiftoffAssembler::emit_f64x2_div(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f64x2_div");
}
void LiftoffAssembler::emit_i8x16_rounding_average_u(LiftoffRegister dst, void LiftoffAssembler::emit_i8x16_rounding_average_u(LiftoffRegister dst,
LiftoffRegister lhs, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
......
...@@ -1736,6 +1736,14 @@ void LiftoffAssembler::emit_f32x4_neg(LiftoffRegister dst, ...@@ -1736,6 +1736,14 @@ void LiftoffAssembler::emit_f32x4_neg(LiftoffRegister dst,
bailout(kSimd, "emit_f32x4_neg"); bailout(kSimd, "emit_f32x4_neg");
} }
void LiftoffAssembler::emit_f32x4_sqrt(LiftoffRegister dst,
LiftoffRegister src) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f32x4_sqrt");
}
void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs, void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS // TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
...@@ -1760,6 +1768,14 @@ void LiftoffAssembler::emit_f32x4_mul(LiftoffRegister dst, LiftoffRegister lhs, ...@@ -1760,6 +1768,14 @@ void LiftoffAssembler::emit_f32x4_mul(LiftoffRegister dst, LiftoffRegister lhs,
bailout(kSimd, "emit_f32x4_mul"); bailout(kSimd, "emit_f32x4_mul");
} }
void LiftoffAssembler::emit_f32x4_div(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f32x4_div");
}
void LiftoffAssembler::emit_f64x2_abs(LiftoffRegister dst, void LiftoffAssembler::emit_f64x2_abs(LiftoffRegister dst,
LiftoffRegister src) { LiftoffRegister src) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS // TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
...@@ -1776,6 +1792,14 @@ void LiftoffAssembler::emit_f64x2_neg(LiftoffRegister dst, ...@@ -1776,6 +1792,14 @@ void LiftoffAssembler::emit_f64x2_neg(LiftoffRegister dst,
bailout(kSimd, "emit_f64x2_neg"); bailout(kSimd, "emit_f64x2_neg");
} }
void LiftoffAssembler::emit_f64x2_sqrt(LiftoffRegister dst,
LiftoffRegister src) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f64x2_sqrt");
}
void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs, void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS // TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
...@@ -1800,6 +1824,14 @@ void LiftoffAssembler::emit_f64x2_mul(LiftoffRegister dst, LiftoffRegister lhs, ...@@ -1800,6 +1824,14 @@ void LiftoffAssembler::emit_f64x2_mul(LiftoffRegister dst, LiftoffRegister lhs,
bailout(kSimd, "emit_f64x2_mul"); bailout(kSimd, "emit_f64x2_mul");
} }
void LiftoffAssembler::emit_f64x2_div(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
// TODO(mips): Support this on loongson 3a4000. Currently, the main MIPS
// CPU, Loongson 3a3000 does not support MSA(simd128), but the upcoming
// 3a4000 support MSA.
bailout(kSimd, "emit_f64x2_div");
}
void LiftoffAssembler::emit_i8x16_rounding_average_u(LiftoffRegister dst, void LiftoffAssembler::emit_i8x16_rounding_average_u(LiftoffRegister dst,
LiftoffRegister lhs, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
......
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