Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(457)

Unified Diff: src/machine-type.h

Issue 2700813002: [V8] Implement SIMD Boolean vector types to allow mask registers. (Closed)
Patch Set: Remove stray DCHECK. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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:

Powered by Google App Engine
This is Rietveld 408576698