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

Unified Diff: src/machine-type.h

Issue 2700813002: [V8] Implement SIMD Boolean vector types to allow mask registers. (Closed)
Patch Set: Rebase. 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
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/machine-type.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/machine-type.h
diff --git a/src/machine-type.h b/src/machine-type.h
index fd1d41dcc3a2dd3f8da800c02fd03bcf47c64d64..1f87cf297bdf52d3815b55a5ab5a3e68e33c7b82 100644
--- a/src/machine-type.h
+++ b/src/machine-type.h
@@ -29,8 +29,11 @@ enum class MachineRepresentation {
kFloat32,
kFloat64,
kSimd128,
+ kSimd1x4, // SIMD boolean vector types.
+ kSimd1x8,
+ kSimd1x16,
kFirstFPRepresentation = kFloat32,
- kLastRepresentation = kSimd128
+ kLastRepresentation = kSimd1x16
};
static_assert(static_cast<int>(MachineRepresentation::kLastRepresentation) <
@@ -127,6 +130,16 @@ class MachineType {
static MachineType Simd128() {
return MachineType(MachineRepresentation::kSimd128, MachineSemantic::kNone);
}
+ static MachineType Simd1x4() {
+ return MachineType(MachineRepresentation::kSimd1x4, MachineSemantic::kNone);
+ }
+ static MachineType Simd1x8() {
+ return MachineType(MachineRepresentation::kSimd1x8, MachineSemantic::kNone);
+ }
+ static MachineType Simd1x16() {
+ return MachineType(MachineRepresentation::kSimd1x16,
+ MachineSemantic::kNone);
+ }
static MachineType Pointer() {
return MachineType(PointerRepresentation(), MachineSemantic::kNone);
}
@@ -173,6 +186,16 @@ class MachineType {
static MachineType RepSimd128() {
return MachineType(MachineRepresentation::kSimd128, MachineSemantic::kNone);
}
+ static MachineType RepSimd1x4() {
+ return MachineType(MachineRepresentation::kSimd1x4, MachineSemantic::kNone);
+ }
+ static MachineType RepSimd1x8() {
+ return MachineType(MachineRepresentation::kSimd1x8, MachineSemantic::kNone);
+ }
+ static MachineType RepSimd1x16() {
+ return MachineType(MachineRepresentation::kSimd1x16,
+ MachineSemantic::kNone);
+ }
static MachineType RepTagged() {
return MachineType(MachineRepresentation::kTagged, MachineSemantic::kNone);
}
@@ -201,6 +224,12 @@ class MachineType {
return MachineType::Float64();
case MachineRepresentation::kSimd128:
return MachineType::Simd128();
+ case MachineRepresentation::kSimd1x4:
+ return MachineType::Simd1x4();
+ case MachineRepresentation::kSimd1x8:
+ return MachineType::Simd1x8();
+ case MachineRepresentation::kSimd1x16:
+ return MachineType::Simd1x16();
case MachineRepresentation::kTagged:
return MachineType::AnyTagged();
case MachineRepresentation::kTaggedSigned:
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/machine-type.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698