Index: src/machine-type.h |
diff --git a/src/machine-type.h b/src/machine-type.h |
index fd1d41dcc3a2dd3f8da800c02fd03bcf47c64d64..c61b40cbc381ca9d2837f5f1248161c3f845b0c1 100644 |
--- a/src/machine-type.h |
+++ b/src/machine-type.h |
@@ -29,8 +29,11 @@ enum class MachineRepresentation { |
kFloat32, |
kFloat64, |
kSimd128, |
+ kSimdBool4, // SIMD boolean vector types. |
+ kSimdBool8, |
+ kSimdBool16, |
kFirstFPRepresentation = kFloat32, |
- kLastRepresentation = kSimd128 |
+ kLastRepresentation = kSimdBool16 |
}; |
static_assert(static_cast<int>(MachineRepresentation::kLastRepresentation) < |
@@ -127,6 +130,18 @@ class MachineType { |
static MachineType Simd128() { |
return MachineType(MachineRepresentation::kSimd128, MachineSemantic::kNone); |
} |
+ static MachineType SimdBool4() { |
+ return MachineType(MachineRepresentation::kSimdBool4, |
+ MachineSemantic::kNone); |
+ } |
+ static MachineType SimdBool8() { |
+ return MachineType(MachineRepresentation::kSimdBool8, |
+ MachineSemantic::kNone); |
+ } |
+ static MachineType SimdBool16() { |
+ return MachineType(MachineRepresentation::kSimdBool16, |
+ MachineSemantic::kNone); |
+ } |
static MachineType Pointer() { |
return MachineType(PointerRepresentation(), MachineSemantic::kNone); |
} |
@@ -173,6 +188,18 @@ class MachineType { |
static MachineType RepSimd128() { |
return MachineType(MachineRepresentation::kSimd128, MachineSemantic::kNone); |
} |
+ static MachineType RepSimdBool4() { |
+ return MachineType(MachineRepresentation::kSimdBool4, |
+ MachineSemantic::kNone); |
+ } |
+ static MachineType RepSimdBool8() { |
+ return MachineType(MachineRepresentation::kSimdBool8, |
+ MachineSemantic::kNone); |
+ } |
+ static MachineType RepSimdBool16() { |
+ return MachineType(MachineRepresentation::kSimdBool16, |
+ MachineSemantic::kNone); |
+ } |
static MachineType RepTagged() { |
return MachineType(MachineRepresentation::kTagged, MachineSemantic::kNone); |
} |
@@ -201,6 +228,12 @@ class MachineType { |
return MachineType::Float64(); |
case MachineRepresentation::kSimd128: |
return MachineType::Simd128(); |
+ case MachineRepresentation::kSimdBool4: |
+ return MachineType::SimdBool4(); |
+ case MachineRepresentation::kSimdBool8: |
+ return MachineType::SimdBool8(); |
+ case MachineRepresentation::kSimdBool16: |
+ return MachineType::SimdBool16(); |
case MachineRepresentation::kTagged: |
return MachineType::AnyTagged(); |
case MachineRepresentation::kTaggedSigned: |