PPC/s390: [wasm-simd] [liftoff] Implement replace_lane on x64 and ia32

Port e5b4cb4567

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 <miladfar@ca.ibm.com>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#66844}
This commit is contained in:
Milad Farazmand 2020-03-24 13:19:21 +00:00 committed by Commit Bot
parent bfdccd7edf
commit c785c4fc4f
2 changed files with 84 additions and 0 deletions

View File

@ -543,6 +543,13 @@ void LiftoffAssembler::emit_f64x2_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_f64x2extractlane"); 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, void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_f64x2add"); bailout(kUnsupportedArchitecture, "emit_f64x2add");
@ -564,6 +571,13 @@ void LiftoffAssembler::emit_f32x4_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_f32x4extractlane"); 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, void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_f32x4add"); bailout(kUnsupportedArchitecture, "emit_f32x4add");
@ -585,6 +599,13 @@ void LiftoffAssembler::emit_i64x2_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i64x2extractlane"); 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, void LiftoffAssembler::emit_i64x2_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_i64x2add"); bailout(kUnsupportedArchitecture, "emit_i64x2add");
@ -606,6 +627,13 @@ void LiftoffAssembler::emit_i32x4_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i32x4extractlane"); 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, void LiftoffAssembler::emit_i32x4_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_i32x4add"); bailout(kUnsupportedArchitecture, "emit_i32x4add");
@ -637,6 +665,13 @@ void LiftoffAssembler::emit_i16x8_extract_lane_u(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i16x8extractlane_u"); 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, void LiftoffAssembler::emit_i16x8_extract_lane_s(LiftoffRegister dst,
LiftoffRegister lhs, LiftoffRegister lhs,
uint8_t imm_lane_idx) { uint8_t imm_lane_idx) {
@ -654,6 +689,13 @@ void LiftoffAssembler::emit_i8x16_extract_lane_u(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i8x16extractlane_u"); 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, void LiftoffAssembler::emit_i8x16_extract_lane_s(LiftoffRegister dst,
LiftoffRegister lhs, LiftoffRegister lhs,
uint8_t imm_lane_idx) { uint8_t imm_lane_idx) {

View File

@ -547,6 +547,13 @@ void LiftoffAssembler::emit_f64x2_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_f64x2extractlane"); 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, void LiftoffAssembler::emit_f64x2_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_f64x2add"); bailout(kUnsupportedArchitecture, "emit_f64x2add");
@ -568,6 +575,13 @@ void LiftoffAssembler::emit_f32x4_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_f32x4extractlane"); 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, void LiftoffAssembler::emit_f32x4_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_f32x4add"); bailout(kUnsupportedArchitecture, "emit_f32x4add");
@ -589,6 +603,13 @@ void LiftoffAssembler::emit_i64x2_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i64x2extractlane"); 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, void LiftoffAssembler::emit_i64x2_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_i64x2add"); bailout(kUnsupportedArchitecture, "emit_i64x2add");
@ -610,6 +631,13 @@ void LiftoffAssembler::emit_i32x4_extract_lane(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i32x4extractlane"); 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, void LiftoffAssembler::emit_i32x4_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_i32x4add"); bailout(kUnsupportedArchitecture, "emit_i32x4add");
@ -641,6 +669,13 @@ void LiftoffAssembler::emit_i16x8_extract_lane_u(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i16x8extractlane_u"); 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, void LiftoffAssembler::emit_i16x8_extract_lane_s(LiftoffRegister dst,
LiftoffRegister lhs, LiftoffRegister lhs,
uint8_t imm_lane_idx) { uint8_t imm_lane_idx) {
@ -664,6 +699,13 @@ void LiftoffAssembler::emit_i8x16_extract_lane_s(LiftoffRegister dst,
bailout(kUnsupportedArchitecture, "emit_i8x16extractlane_s"); 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, void LiftoffAssembler::emit_i8x16_add(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) { LiftoffRegister rhs) {
bailout(kUnsupportedArchitecture, "emit_i8x16add"); bailout(kUnsupportedArchitecture, "emit_i8x16add");