diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-12-04 08:20:37 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-12-06 15:23:33 +0100 |
commit | 9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3 (patch) | |
tree | 2b0c843168dafb939d8df8a15b2aa72b76dee51d /deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h | |
parent | b8fbe69db1292307adb2c2b2e0d5ef48c4ab2faf (diff) | |
download | android-node-v8-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.tar.gz android-node-v8-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.tar.bz2 android-node-v8-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.zip |
deps: update V8 to 7.1.302.28
PR-URL: https://github.com/nodejs/node/pull/23423
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h')
-rw-r--r-- | deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h b/deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h index cdc2dc2a45..c73a60fd7d 100644 --- a/deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h +++ b/deps/v8/src/wasm/baseline/arm64/liftoff-assembler-arm64.h @@ -391,11 +391,24 @@ void LiftoffAssembler::FillI64Half(Register, uint32_t half_index) { Register amount, LiftoffRegList pinned) { \ instruction(dst.W(), src.W(), amount.W()); \ } +#define I32_SHIFTOP_I(name, instruction) \ + I32_SHIFTOP(name, instruction) \ + void LiftoffAssembler::emit_##name(Register dst, Register src, int amount) { \ + DCHECK(is_uint5(amount)); \ + instruction(dst.W(), src.W(), amount); \ + } #define I64_SHIFTOP(name, instruction) \ void LiftoffAssembler::emit_##name(LiftoffRegister dst, LiftoffRegister src, \ Register amount, LiftoffRegList pinned) { \ instruction(dst.gp().X(), src.gp().X(), amount.X()); \ } +#define I64_SHIFTOP_I(name, instruction) \ + I64_SHIFTOP(name, instruction) \ + void LiftoffAssembler::emit_##name(LiftoffRegister dst, LiftoffRegister src, \ + int amount) { \ + DCHECK(is_uint6(amount)); \ + instruction(dst.gp().X(), src.gp().X(), amount); \ + } I32_BINOP(i32_add, Add) I32_BINOP(i32_sub, Sub) @@ -405,7 +418,7 @@ I32_BINOP(i32_or, Orr) I32_BINOP(i32_xor, Eor) I32_SHIFTOP(i32_shl, Lsl) I32_SHIFTOP(i32_sar, Asr) -I32_SHIFTOP(i32_shr, Lsr) +I32_SHIFTOP_I(i32_shr, Lsr) I64_BINOP(i64_add, Add) I64_BINOP(i64_sub, Sub) I64_BINOP(i64_mul, Mul) @@ -414,7 +427,7 @@ I64_BINOP(i64_or, Orr) I64_BINOP(i64_xor, Eor) I64_SHIFTOP(i64_shl, Lsl) I64_SHIFTOP(i64_sar, Asr) -I64_SHIFTOP(i64_shr, Lsr) +I64_SHIFTOP_I(i64_shr, Lsr) FP32_BINOP(f32_add, Fadd) FP32_BINOP(f32_sub, Fsub) FP32_BINOP(f32_mul, Fmul) @@ -450,7 +463,9 @@ FP64_UNOP(f64_sqrt, Fsqrt) #undef FP64_UNOP #undef FP64_UNOP_RETURN_TRUE #undef I32_SHIFTOP +#undef I32_SHIFTOP_I #undef I64_SHIFTOP +#undef I64_SHIFTOP_I bool LiftoffAssembler::emit_i32_clz(Register dst, Register src) { Clz(dst.W(), src.W()); @@ -611,6 +626,16 @@ void LiftoffAssembler::emit_i32_to_intptr(Register dst, Register src) { Sxtw(dst, src); } +void LiftoffAssembler::emit_f32_copysign(DoubleRegister dst, DoubleRegister lhs, + DoubleRegister rhs) { + BAILOUT("f32_copysign"); +} + +void LiftoffAssembler::emit_f64_copysign(DoubleRegister dst, DoubleRegister lhs, + DoubleRegister rhs) { + BAILOUT("f64_copysign"); +} + bool LiftoffAssembler::emit_type_conversion(WasmOpcode opcode, LiftoffRegister dst, LiftoffRegister src, Label* trap) { @@ -749,6 +774,29 @@ bool LiftoffAssembler::emit_type_conversion(WasmOpcode opcode, } } +void LiftoffAssembler::emit_i32_signextend_i8(Register dst, Register src) { + sxtb(dst, src); +} + +void LiftoffAssembler::emit_i32_signextend_i16(Register dst, Register src) { + sxth(dst, src); +} + +void LiftoffAssembler::emit_i64_signextend_i8(LiftoffRegister dst, + LiftoffRegister src) { + sxtb(dst.gp(), src.gp()); +} + +void LiftoffAssembler::emit_i64_signextend_i16(LiftoffRegister dst, + LiftoffRegister src) { + sxth(dst.gp(), src.gp()); +} + +void LiftoffAssembler::emit_i64_signextend_i32(LiftoffRegister dst, + LiftoffRegister src) { + sxtw(dst.gp(), src.gp()); +} + void LiftoffAssembler::emit_jump(Label* label) { B(label); } void LiftoffAssembler::emit_jump(Register target) { Br(target); } |