H A D | liftoff-assembler-x64.h | 8 #include "src/base/platform/wrappers.h" 9 #include "src/codegen/assembler.h" 10 #include "src/codegen/cpu-features.h" 11 #include "src/codegen/machine-type.h" 12 #include "src/codegen/x64/register-x64.h" 13 #include "src/heap/memory-chunk.h" 14 #include "src/wasm/baseline/liftoff-assembler.h" 15 #include "src/wasm/simd-shuffle.h" 16 #include "src/wasm/wasm-objects.h" 93 inline void Load(LiftoffAssembler* assm, LiftoffRegister dst, Operand src, in Load() argument 119 Store(LiftoffAssembler* assm, Operand dst, LiftoffRegister src, ValueKind kind) Store() argument 397 StoreTaggedPointer(Register dst_addr, Register offset_reg, int32_t offset_imm, LiftoffRegister src, LiftoffRegList pinned, SkipWriteBarrier skip_write_barrier) StoreTaggedPointer() argument 492 Store(Register dst_addr, Register offset_reg, uintptr_t offset_imm, LiftoffRegister src, StoreType type, LiftoffRegList , uint32_t* protected_store_pc, bool is_store_mem) Store() argument 526 AtomicStore(Register dst_addr, Register offset_reg, uintptr_t offset_imm, LiftoffRegister src, StoreType type, LiftoffRegList pinned) AtomicStore() argument 856 StoreCallerFrameSlot(LiftoffRegister src, uint32_t caller_slot_idx, ValueKind kind) StoreCallerFrameSlot() argument 873 Operand src = liftoff::GetStackSlot(src_offset); MoveStackValue() local 892 Move(Register dst, Register src, ValueKind kind) Move() argument 902 Move(DoubleRegister dst, DoubleRegister src, ValueKind kind) Move() argument 1223 EmitShiftOperation(LiftoffAssembler* assm, Register dst, Register src, Register amount, void (Assembler::*emit_shift)(Register)) EmitShiftOperation() argument 1255 emit_i32_shl(Register dst, Register src, Register amount) emit_i32_shl() argument 1261 emit_i32_shli(Register dst, Register src, int32_t amount) emit_i32_shli() argument 1267 emit_i32_sar(Register dst, Register src, Register amount) emit_i32_sar() argument 1273 emit_i32_sari(Register dst, Register src, int32_t amount) emit_i32_sari() argument 1279 emit_i32_shr(Register dst, Register src, Register amount) emit_i32_shr() argument 1285 emit_i32_shri(Register dst, Register src, int32_t amount) emit_i32_shri() argument 1291 emit_i32_clz(Register dst, Register src) emit_i32_clz() argument 1295 emit_i32_ctz(Register dst, Register src) emit_i32_ctz() argument 1299 emit_i32_popcnt(Register dst, Register src) emit_i32_popcnt() argument 1420 emit_i64_shl(LiftoffRegister dst, LiftoffRegister src, Register amount) emit_i64_shl() argument 1426 emit_i64_shli(LiftoffRegister dst, LiftoffRegister src, int32_t amount) emit_i64_shli() argument 1432 emit_i64_sar(LiftoffRegister dst, LiftoffRegister src, Register amount) emit_i64_sar() argument 1438 emit_i64_sari(LiftoffRegister dst, LiftoffRegister src, int32_t amount) emit_i64_sari() argument 1444 emit_i64_shr(LiftoffRegister dst, LiftoffRegister src, Register amount) emit_i64_shr() argument 1450 emit_i64_shri(LiftoffRegister dst, LiftoffRegister src, int32_t amount) emit_i64_shri() argument 1456 emit_i64_clz(LiftoffRegister dst, LiftoffRegister src) emit_i64_clz() argument 1460 emit_i64_ctz(LiftoffRegister dst, LiftoffRegister src) emit_i64_ctz() argument 1464 emit_i64_popcnt(LiftoffRegister dst, LiftoffRegister src) emit_i64_popcnt() argument 1476 emit_u32_to_uintptr(Register dst, Register src) emit_u32_to_uintptr() argument 1616 emit_f32_abs(DoubleRegister dst, DoubleRegister src) emit_f32_abs() argument 1627 emit_f32_neg(DoubleRegister dst, DoubleRegister src) emit_f32_neg() argument 1638 emit_f32_ceil(DoubleRegister dst, DoubleRegister src) emit_f32_ceil() argument 1644 emit_f32_floor(DoubleRegister dst, DoubleRegister src) emit_f32_floor() argument 1650 emit_f32_trunc(DoubleRegister dst, DoubleRegister src) emit_f32_trunc() argument 1656 emit_f32_nearest_int(DoubleRegister dst, DoubleRegister src) emit_f32_nearest_int() argument 1663 emit_f32_sqrt(DoubleRegister dst, DoubleRegister src) emit_f32_sqrt() argument 1749 emit_f64_abs(DoubleRegister dst, DoubleRegister src) emit_f64_abs() argument 1760 emit_f64_neg(DoubleRegister dst, DoubleRegister src) emit_f64_neg() argument 1771 emit_f64_ceil(DoubleRegister dst, DoubleRegister src) emit_f64_ceil() argument 1777 emit_f64_floor(DoubleRegister dst, DoubleRegister src) emit_f64_floor() argument 1783 emit_f64_trunc(DoubleRegister dst, DoubleRegister src) emit_f64_trunc() argument 1789 emit_f64_nearest_int(DoubleRegister dst, DoubleRegister src) emit_f64_nearest_int() argument 1796 emit_f64_sqrt(DoubleRegister dst, DoubleRegister src) emit_f64_sqrt() argument 1805 ConvertFloatToIntAndBack(LiftoffAssembler* assm, Register dst, DoubleRegister src, DoubleRegister converted_back) ConvertFloatToIntAndBack() argument 1840 EmitTruncateFloatToInt(LiftoffAssembler* assm, Register dst, DoubleRegister src, Label* trap) EmitTruncateFloatToInt() argument 1872 EmitSatTruncateFloatToInt(LiftoffAssembler* assm, Register dst, DoubleRegister src) EmitSatTruncateFloatToInt() argument 1949 EmitSatTruncateFloatToUInt64(LiftoffAssembler* assm, Register dst, DoubleRegister src) EmitSatTruncateFloatToUInt64() argument 1991 emit_type_conversion(WasmOpcode opcode, LiftoffRegister dst, LiftoffRegister src, Label* trap) emit_type_conversion() argument 2108 emit_i32_signextend_i8(Register dst, Register src) emit_i32_signextend_i8() argument 2112 emit_i32_signextend_i16(Register dst, Register src) emit_i32_signextend_i16() argument 2116 emit_i64_signextend_i8(LiftoffRegister dst, LiftoffRegister src) emit_i64_signextend_i8() argument 2121 emit_i64_signextend_i16(LiftoffRegister dst, LiftoffRegister src) emit_i64_signextend_i16() argument 2126 emit_i64_signextend_i32(LiftoffRegister dst, LiftoffRegister src) emit_i64_signextend_i32() argument 2178 emit_i32_eqz(Register dst, Register src) emit_i32_eqz() argument 2193 emit_i64_eqz(Register dst, LiftoffRegister src) emit_i64_eqz() argument 2363 EmitAnyTrue(LiftoffAssembler* assm, LiftoffRegister dst, LiftoffRegister src) EmitAnyTrue() argument 2371 EmitAllTrue(LiftoffAssembler* assm, LiftoffRegister dst, LiftoffRegister src, base::Optional<CpuFeature> feature = base::nullopt) EmitAllTrue() argument 2430 LoadLane(LiftoffRegister dst, LiftoffRegister src, Register addr, Register offset_reg, uintptr_t offset_imm, LoadType type, uint8_t laneidx, uint32_t* protected_load_pc) LoadLane() argument 2449 StoreLane(Register dst, Register offset, uintptr_t offset_imm, LiftoffRegister src, StoreType type, uint8_t lane, uint32_t* protected_store_pc) StoreLane() argument 2513 emit_i8x16_popcnt(LiftoffRegister dst, LiftoffRegister src) emit_i8x16_popcnt() argument 2519 emit_i8x16_splat(LiftoffRegister dst, LiftoffRegister src) emit_i8x16_splat() argument 2524 emit_i16x8_splat(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_splat() argument 2529 emit_i32x4_splat(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_splat() argument 2535 emit_i64x2_splat(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_splat() argument 2541 emit_f32x4_splat(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_splat() argument 2546 emit_f64x2_splat(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_splat() argument 2846 emit_s128_not(LiftoffRegister dst, LiftoffRegister src) emit_s128_not() argument 2883 emit_i8x16_neg(LiftoffRegister dst, LiftoffRegister src) emit_i8x16_neg() argument 2894 emit_v128_anytrue(LiftoffRegister dst, LiftoffRegister src) emit_v128_anytrue() argument 2899 emit_i8x16_alltrue(LiftoffRegister dst, LiftoffRegister src) emit_i8x16_alltrue() argument 2904 emit_i8x16_bitmask(LiftoffRegister dst, LiftoffRegister src) emit_i8x16_bitmask() argument 3013 emit_i16x8_neg(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_neg() argument 3024 emit_i16x8_alltrue(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_alltrue() argument 3029 emit_i16x8_bitmask(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_bitmask() argument 3150 emit_i16x8_extadd_pairwise_i8x16_s(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_extadd_pairwise_i8x16_s() argument 3156 emit_i16x8_extadd_pairwise_i8x16_u(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_extadd_pairwise_i8x16_u() argument 3193 emit_i32x4_neg(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_neg() argument 3204 emit_i32x4_alltrue(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_alltrue() argument 3209 emit_i32x4_bitmask(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_bitmask() argument 3305 emit_i32x4_extadd_pairwise_i16x8_s(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_extadd_pairwise_i16x8_s() argument 3310 emit_i32x4_extadd_pairwise_i16x8_u(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_extadd_pairwise_i16x8_u() argument 3367 emit_i64x2_neg(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_neg() argument 3372 emit_i64x2_alltrue(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_alltrue() argument 3464 emit_i64x2_bitmask(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_bitmask() argument 3469 emit_i64x2_sconvert_i32x4_low(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_sconvert_i32x4_low() argument 3474 emit_i64x2_sconvert_i32x4_high(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_sconvert_i32x4_high() argument 3479 emit_i64x2_uconvert_i32x4_low(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_uconvert_i32x4_low() argument 3484 emit_i64x2_uconvert_i32x4_high(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_uconvert_i32x4_high() argument 3489 emit_f32x4_abs(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_abs() argument 3494 emit_f32x4_neg(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_neg() argument 3499 emit_f32x4_sqrt(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_sqrt() argument 3504 emit_f32x4_ceil(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_ceil() argument 3511 emit_f32x4_floor(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_floor() argument 3518 emit_f32x4_trunc(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_trunc() argument 3525 emit_f32x4_nearest_int(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_nearest_int() argument 3580 emit_f64x2_abs(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_abs() argument 3585 emit_f64x2_neg(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_neg() argument 3590 emit_f64x2_sqrt(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_sqrt() argument 3595 emit_f64x2_ceil(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_ceil() argument 3602 emit_f64x2_floor(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_floor() argument 3609 emit_f64x2_trunc(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_trunc() argument 3616 emit_f64x2_nearest_int(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_nearest_int() argument 3671 emit_f64x2_convert_low_i32x4_s(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_convert_low_i32x4_s() argument 3676 emit_f64x2_convert_low_i32x4_u(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_convert_low_i32x4_u() argument 3681 emit_f64x2_promote_low_f32x4(LiftoffRegister dst, LiftoffRegister src) emit_f64x2_promote_low_f32x4() argument 3686 emit_i32x4_sconvert_f32x4(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_sconvert_f32x4() argument 3691 emit_i32x4_uconvert_f32x4(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_uconvert_f32x4() argument 3727 emit_f32x4_sconvert_i32x4(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_sconvert_i32x4() argument 3732 emit_f32x4_uconvert_i32x4(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_uconvert_i32x4() argument 3750 emit_f32x4_demote_f64x2_zero(LiftoffRegister dst, LiftoffRegister src) emit_f32x4_demote_f64x2_zero() argument 3787 emit_i16x8_sconvert_i8x16_low(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_sconvert_i8x16_low() argument 3792 emit_i16x8_sconvert_i8x16_high(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_sconvert_i8x16_high() argument 3797 emit_i16x8_uconvert_i8x16_low(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_uconvert_i8x16_low() argument 3802 emit_i16x8_uconvert_i8x16_high(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_uconvert_i8x16_high() argument 3807 emit_i32x4_sconvert_i16x8_low(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_sconvert_i16x8_low() argument 3812 emit_i32x4_sconvert_i16x8_high(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_sconvert_i16x8_high() argument 3817 emit_i32x4_uconvert_i16x8_low(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_uconvert_i16x8_low() argument 3822 emit_i32x4_uconvert_i16x8_high(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_uconvert_i16x8_high() argument 3827 emit_i32x4_trunc_sat_f64x2_s_zero(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_trunc_sat_f64x2_s_zero() argument 3833 emit_i32x4_trunc_sat_f64x2_u_zero(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_trunc_sat_f64x2_u_zero() argument 3860 emit_i8x16_abs(LiftoffRegister dst, LiftoffRegister src) emit_i8x16_abs() argument 3865 emit_i16x8_abs(LiftoffRegister dst, LiftoffRegister src) emit_i16x8_abs() argument 3870 emit_i32x4_abs(LiftoffRegister dst, LiftoffRegister src) emit_i32x4_abs() argument 3875 emit_i64x2_abs(LiftoffRegister dst, LiftoffRegister src) emit_i64x2_abs() argument 4172 emit_set_if_nan(Register dst, DoubleRegister src, ValueKind kind) emit_set_if_nan() argument 4186 emit_s128_set_if_nan(Register dst, LiftoffRegister src, Register tmp_gp, LiftoffRegister tmp_s128, ValueKind lane_kind) emit_s128_set_if_nan() argument 4210 const LiftoffAssembler::VarState& src = slot.src_; Construct() local [all...] |