diff options
Diffstat (limited to 'deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h')
-rw-r--r-- | deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h | 236 |
1 files changed, 227 insertions, 9 deletions
diff --git a/deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h b/deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h index f18c60a1fa..e311677e79 100644 --- a/deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h +++ b/deps/v8/src/wasm/baseline/s390/liftoff-assembler-s390.h @@ -65,17 +65,17 @@ constexpr int LiftoffAssembler::StaticStackFrameSize() { } int LiftoffAssembler::SlotSizeForType(ValueType type) { - switch (type) { - case kWasmS128: - return ValueTypes::ElementSizeInBytes(type); + switch (type.kind()) { + case ValueType::kS128: + return type.element_size_bytes(); default: return kStackSlotSize; } } bool LiftoffAssembler::NeedsAlignment(ValueType type) { - switch (type) { - case kWasmS128: + switch (type.kind()) { + case ValueType::kS128: return true; default: // No alignment because all other types are kStackSlotSize. @@ -169,6 +169,21 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg, bailout(kAtomics, "AtomicXor"); } +void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg, + uint32_t offset_imm, + LiftoffRegister value, StoreType type) { + bailout(kAtomics, "AtomicExchange"); +} + +void LiftoffAssembler::AtomicCompareExchange( + Register dst_addr, Register offset_reg, uint32_t offset_imm, + LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result, + StoreType type) { + bailout(kAtomics, "AtomicCompareExchange"); +} + +void LiftoffAssembler::AtomicFence() { bailout(kAtomics, "AtomicFence"); } + void LiftoffAssembler::LoadCallerFrameSlot(LiftoffRegister dst, uint32_t caller_slot_idx, ValueType type) { @@ -521,11 +536,216 @@ void LiftoffAssembler::emit_f64_set_cond(Condition cond, Register dst, bailout(kUnsupportedArchitecture, "emit_f64_set_cond"); } +void LiftoffAssembler::emit_f64x2_splat(LiftoffRegister dst, + LiftoffRegister src) { + bailout(kUnsupportedArchitecture, "emit_f64x2splat"); +} + +void LiftoffAssembler::emit_f64x2_extract_lane(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + 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"); +} + +void LiftoffAssembler::emit_f64x2_sub(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_f64x2sub"); +} + +void LiftoffAssembler::emit_f64x2_mul(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_f64x2mul"); +} + void LiftoffAssembler::emit_f32x4_splat(LiftoffRegister dst, LiftoffRegister src) { bailout(kUnsupportedArchitecture, "emit_f32x4_splat"); } +void LiftoffAssembler::emit_f32x4_extract_lane(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + 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"); +} + +void LiftoffAssembler::emit_f32x4_sub(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_f32x4sub"); +} + +void LiftoffAssembler::emit_f32x4_mul(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_f32x4mul"); +} + +void LiftoffAssembler::emit_i64x2_splat(LiftoffRegister dst, + LiftoffRegister src) { + bailout(kUnsupportedArchitecture, "emit_i64x2splat"); +} + +void LiftoffAssembler::emit_i64x2_extract_lane(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + 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"); +} + +void LiftoffAssembler::emit_i64x2_sub(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i64x2sub"); +} + +void LiftoffAssembler::emit_i64x2_mul(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i64x2mul"); +} + +void LiftoffAssembler::emit_i32x4_splat(LiftoffRegister dst, + LiftoffRegister src) { + bailout(kUnsupportedArchitecture, "emit_i32x4_splat"); +} + +void LiftoffAssembler::emit_i32x4_extract_lane(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + 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"); +} + +void LiftoffAssembler::emit_i32x4_sub(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i32x4sub"); +} + +void LiftoffAssembler::emit_i32x4_mul(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i32x4mul"); +} + +void LiftoffAssembler::emit_i16x8_splat(LiftoffRegister dst, + LiftoffRegister src) { + bailout(kUnsupportedArchitecture, "emit_i16x8splat"); +} + +void LiftoffAssembler::emit_i16x8_add(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i16x8add"); +} + +void LiftoffAssembler::emit_i16x8_sub(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i16x8sub"); +} + +void LiftoffAssembler::emit_i16x8_mul(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i16x8mul"); +} + +void LiftoffAssembler::emit_i16x8_extract_lane_u(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + 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) { + bailout(kUnsupportedArchitecture, "emit_i16x8extractlane_s"); +} + +void LiftoffAssembler::emit_i8x16_splat(LiftoffRegister dst, + LiftoffRegister src) { + bailout(kUnsupportedArchitecture, "emit_i8x16splat"); +} + +void LiftoffAssembler::emit_i8x16_extract_lane_u(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + bailout(kUnsupportedArchitecture, "emit_i8x16extractlane_u"); +} + +void LiftoffAssembler::emit_i8x16_extract_lane_s(LiftoffRegister dst, + LiftoffRegister lhs, + uint8_t imm_lane_idx) { + 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"); +} + +void LiftoffAssembler::emit_i8x16_sub(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i8x16sub"); +} + +void LiftoffAssembler::emit_i8x16_mul(LiftoffRegister dst, LiftoffRegister lhs, + LiftoffRegister rhs) { + bailout(kUnsupportedArchitecture, "emit_i8x16mul"); +} + void LiftoffAssembler::StackCheck(Label* ool_code, Register limit_address) { bailout(kUnsupportedArchitecture, "StackCheck"); } @@ -550,7 +770,7 @@ void LiftoffAssembler::DropStackSlotsAndRet(uint32_t num_stack_slots) { bailout(kUnsupportedArchitecture, "DropStackSlotsAndRet"); } -void LiftoffAssembler::CallC(wasm::FunctionSig* sig, +void LiftoffAssembler::CallC(const wasm::FunctionSig* sig, const LiftoffRegister* args, const LiftoffRegister* rets, ValueType out_argument_type, int stack_bytes, @@ -562,7 +782,7 @@ void LiftoffAssembler::CallNativeWasmCode(Address addr) { bailout(kUnsupportedArchitecture, "CallNativeWasmCode"); } -void LiftoffAssembler::CallIndirect(wasm::FunctionSig* sig, +void LiftoffAssembler::CallIndirect(const wasm::FunctionSig* sig, compiler::CallDescriptor* call_descriptor, Register target) { bailout(kUnsupportedArchitecture, "CallIndirect"); @@ -580,8 +800,6 @@ void LiftoffAssembler::DeallocateStackSlot(uint32_t size) { bailout(kUnsupportedArchitecture, "DeallocateStackSlot"); } -void LiftoffAssembler::DebugBreak() { stop(); } - void LiftoffStackSlots::Construct() { asm_->bailout(kUnsupportedArchitecture, "LiftoffStackSlots::Construct"); } |