summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/machine-operator.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/machine-operator.h')
-rw-r--r--deps/v8/src/compiler/machine-operator.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/deps/v8/src/compiler/machine-operator.h b/deps/v8/src/compiler/machine-operator.h
index 17db145f58..1bd806eefb 100644
--- a/deps/v8/src/compiler/machine-operator.h
+++ b/deps/v8/src/compiler/machine-operator.h
@@ -239,6 +239,7 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const OptionalOperator Word64ReverseBits();
const Operator* Word32ReverseBytes();
const Operator* Word64ReverseBytes();
+ const Operator* Simd128ReverseBytes();
const OptionalOperator Int32AbsWithOverflow();
const OptionalOperator Int64AbsWithOverflow();
@@ -301,8 +302,13 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
// This operator reinterprets the bits of a tagged pointer as a word.
const Operator* BitcastTaggedToWord();
- // This operator reinterprets the bits of a Smi as a word.
- const Operator* BitcastTaggedSignedToWord();
+ // This operator reinterprets the bits of a tagged value as a word preserving
+ // non-pointer bits (all the bits that are not modified by GC):
+ // 1) smi tag
+ // 2) weak tag
+ // 3) smi payload if the tagged value is a smi.
+ // Note, that it's illegal to "look" at the pointer bits of non-smi values.
+ const Operator* BitcastTaggedToWordForTagAndSmiBits();
// This operator reinterprets the bits of a tagged MaybeObject pointer as
// word.
@@ -477,6 +483,7 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const Operator* F64x2Splat();
const Operator* F64x2Abs();
const Operator* F64x2Neg();
+ const Operator* F64x2Sqrt();
const Operator* F64x2Add();
const Operator* F64x2Sub();
const Operator* F64x2Mul();
@@ -489,6 +496,8 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const Operator* F64x2Ne();
const Operator* F64x2Lt();
const Operator* F64x2Le();
+ const Operator* F64x2Qfma();
+ const Operator* F64x2Qfms();
const Operator* F32x4Splat();
const Operator* F32x4ExtractLane(int32_t);
@@ -497,6 +506,7 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const Operator* F32x4UConvertI32x4();
const Operator* F32x4Abs();
const Operator* F32x4Neg();
+ const Operator* F32x4Sqrt();
const Operator* F32x4RecipApprox();
const Operator* F32x4RecipSqrtApprox();
const Operator* F32x4Add();
@@ -510,6 +520,8 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const Operator* F32x4Ne();
const Operator* F32x4Lt();
const Operator* F32x4Le();
+ const Operator* F32x4Qfma();
+ const Operator* F32x4Qfms();
const Operator* I64x2Splat();
const Operator* I64x2ExtractLane(int32_t);
@@ -632,6 +644,7 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const Operator* S128Not();
const Operator* S128Select();
+ const Operator* S8x16Swizzle();
const Operator* S8x16Shuffle(const uint8_t shuffle[16]);
const Operator* S1x2AnyTrue();