From c785c4fc4fa997e6f4e51ae2f6e5b50251e8d2cd Mon Sep 17 00:00:00 2001 From: Milad Farazmand Date: Tue, 24 Mar 2020 13:19:21 +0000 Subject: [PATCH] PPC/s390: [wasm-simd] [liftoff] Implement replace_lane on x64 and ia32 Port e5b4cb4567c5b11997bf554947e02f20a11cf88f R=fanchen.kong@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2198b423aa22b41b1b55f4ba733d2c2c5c3fe1ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2117781 Commit-Queue: Milad Farazmand Reviewed-by: Junliang Yan Cr-Commit-Position: refs/heads/master@{#66844} --- src/wasm/baseline/ppc/liftoff-assembler-ppc.h | 42 +++++++++++++++++++ .../baseline/s390/liftoff-assembler-s390.h | 42 +++++++++++++++++++ 2 files changed, 84 insertions(+) diff --git a/src/wasm/baseline/ppc/liftoff-assembler-ppc.h b/src/wasm/baseline/ppc/liftoff-assembler-ppc.h index d97a01c5cf..2f60900a4e 100644 --- a/src/wasm/baseline/ppc/liftoff-assembler-ppc.h +++ b/src/wasm/baseline/ppc/liftoff-assembler-ppc.h @@ -543,6 +543,13 @@ void LiftoffAssembler::emit_f64x2_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_f64x2extractlane"); } +void LiftoffAssembler::emit_f64x2_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_f64x2replacelane"); +} + void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_f64x2add"); @@ -564,6 +571,13 @@ void LiftoffAssembler::emit_f32x4_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_f32x4extractlane"); } +void LiftoffAssembler::emit_f32x4_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_f32x4replacelane"); +} + void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_f32x4add"); @@ -585,6 +599,13 @@ void LiftoffAssembler::emit_i64x2_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i64x2extractlane"); } +void LiftoffAssembler::emit_i64x2_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i64x2replacelane"); +} + void LiftoffAssembler::emit_i64x2_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_i64x2add"); @@ -606,6 +627,13 @@ void LiftoffAssembler::emit_i32x4_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i32x4extractlane"); } +void LiftoffAssembler::emit_i32x4_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i32x4replacelane"); +} + void LiftoffAssembler::emit_i32x4_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_i32x4add"); @@ -637,6 +665,13 @@ void LiftoffAssembler::emit_i16x8_extract_lane_u(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i16x8extractlane_u"); } +void LiftoffAssembler::emit_i16x8_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i16x8replacelane"); +} + void LiftoffAssembler::emit_i16x8_extract_lane_s(LiftoffRegister dst, LiftoffRegister lhs, uint8_t imm_lane_idx) { @@ -654,6 +689,13 @@ void LiftoffAssembler::emit_i8x16_extract_lane_u(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i8x16extractlane_u"); } +void LiftoffAssembler::emit_i8x16_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i8x16replacelane"); +} + void LiftoffAssembler::emit_i8x16_extract_lane_s(LiftoffRegister dst, LiftoffRegister lhs, uint8_t imm_lane_idx) { diff --git a/src/wasm/baseline/s390/liftoff-assembler-s390.h b/src/wasm/baseline/s390/liftoff-assembler-s390.h index af31b33458..c053c4a055 100644 --- a/src/wasm/baseline/s390/liftoff-assembler-s390.h +++ b/src/wasm/baseline/s390/liftoff-assembler-s390.h @@ -547,6 +547,13 @@ void LiftoffAssembler::emit_f64x2_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_f64x2extractlane"); } +void LiftoffAssembler::emit_f64x2_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_f64x2replacelane"); +} + void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_f64x2add"); @@ -568,6 +575,13 @@ void LiftoffAssembler::emit_f32x4_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_f32x4extractlane"); } +void LiftoffAssembler::emit_f32x4_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_f32x4replacelane"); +} + void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_f32x4add"); @@ -589,6 +603,13 @@ void LiftoffAssembler::emit_i64x2_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i64x2extractlane"); } +void LiftoffAssembler::emit_i64x2_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i64x2replacelane"); +} + void LiftoffAssembler::emit_i64x2_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_i64x2add"); @@ -610,6 +631,13 @@ void LiftoffAssembler::emit_i32x4_extract_lane(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i32x4extractlane"); } +void LiftoffAssembler::emit_i32x4_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i32x4replacelane"); +} + void LiftoffAssembler::emit_i32x4_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_i32x4add"); @@ -641,6 +669,13 @@ void LiftoffAssembler::emit_i16x8_extract_lane_u(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i16x8extractlane_u"); } +void LiftoffAssembler::emit_i16x8_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i16x8replacelane"); +} + void LiftoffAssembler::emit_i16x8_extract_lane_s(LiftoffRegister dst, LiftoffRegister lhs, uint8_t imm_lane_idx) { @@ -664,6 +699,13 @@ void LiftoffAssembler::emit_i8x16_extract_lane_s(LiftoffRegister dst, bailout(kUnsupportedArchitecture, "emit_i8x16extractlane_s"); } +void LiftoffAssembler::emit_i8x16_replace_lane(LiftoffRegister dst, + LiftoffRegister src1, + LiftoffRegister src2, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i8x16replacelane"); +} + void LiftoffAssembler::emit_i8x16_add(LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs) { bailout(kUnsupportedArchitecture, "emit_i8x16add");