aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2009-07-15 15:28:52 +0000
committerDuncan Sands <baldrick@free.fr>2009-07-15 15:28:52 +0000
commita4b048668418f74dfb2399421dc54db1d999c9cd (patch)
tree84db09f08328f373ce2645720d79d58f2a4ed404
parentbd594a14a07e24f717b7f8d90679cb5b6bc98212 (diff)
downloadexternal_llvm-a4b048668418f74dfb2399421dc54db1d999c9cd.zip
external_llvm-a4b048668418f74dfb2399421dc54db1d999c9cd.tar.gz
external_llvm-a4b048668418f74dfb2399421dc54db1d999c9cd.tar.bz2
Remove the v3i32 and v3f32 value types: they are not
native for any supported targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75785 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/ValueTypes.h35
-rw-r--r--include/llvm/CodeGen/ValueTypes.td22
-rw-r--r--include/llvm/Intrinsics.td1
-rw-r--r--lib/VMCore/ValueTypes.cpp4
-rw-r--r--utils/TableGen/CodeGenTarget.cpp2
5 files changed, 22 insertions, 42 deletions
diff --git a/include/llvm/CodeGen/ValueTypes.h b/include/llvm/CodeGen/ValueTypes.h
index 4f6dee4..57ca285 100644
--- a/include/llvm/CodeGen/ValueTypes.h
+++ b/include/llvm/CodeGen/ValueTypes.h
@@ -60,24 +60,22 @@ namespace llvm {
v8i16 = 21, // 8 x i16
v16i16 = 22, // 16 x i16
v2i32 = 23, // 2 x i32
- v3i32 = 24, // 3 x i32
- v4i32 = 25, // 4 x i32
- v8i32 = 26, // 8 x i32
- v1i64 = 27, // 1 x i64
- v2i64 = 28, // 2 x i64
- v4i64 = 29, // 4 x i64
-
- v2f32 = 30, // 2 x f32
- v3f32 = 31, // 3 x f32
- v4f32 = 32, // 4 x f32
- v8f32 = 33, // 8 x f32
- v2f64 = 34, // 2 x f64
- v4f64 = 35, // 4 x f64
+ v4i32 = 24, // 4 x i32
+ v8i32 = 25, // 8 x i32
+ v1i64 = 26, // 1 x i64
+ v2i64 = 27, // 2 x i64
+ v4i64 = 28, // 4 x i64
+
+ v2f32 = 29, // 2 x f32
+ v4f32 = 30, // 4 x f32
+ v8f32 = 31, // 8 x f32
+ v2f64 = 32, // 2 x f64
+ v4f64 = 33, // 4 x f64
FIRST_VECTOR_VALUETYPE = v2i8,
LAST_VECTOR_VALUETYPE = v4f64,
- LAST_VALUETYPE = 36, // This always remains at the end of the list.
+ LAST_VALUETYPE = 34, // This always remains at the end of the list.
// This is the current maximum for LAST_VALUETYPE.
// MVT::MAX_ALLOWED_VALUETYPE is used for asserts and to size bit vectors
@@ -197,7 +195,6 @@ namespace llvm {
break;
case i32:
if (NumElements == 2) return v2i32;
- if (NumElements == 3) return v3i32;
if (NumElements == 4) return v4i32;
if (NumElements == 8) return v8i32;
break;
@@ -208,7 +205,6 @@ namespace llvm {
break;
case f32:
if (NumElements == 2) return v2f32;
- if (NumElements == 3) return v3f32;
if (NumElements == 4) return v4f32;
if (NumElements == 8) return v8f32;
break;
@@ -227,7 +223,6 @@ namespace llvm {
default: return getVectorVT(i8, NumElts);
case 1: return v1i64;
case 2: return v2i32;
- case 3: return v3i32;
case 4: return v4i16;
case 8: return v8i8;
case 16: return v16i8;
@@ -350,14 +345,12 @@ namespace llvm {
case v8i16:
case v16i16: return i16;
case v2i32:
- case v3i32:
case v4i32:
case v8i32: return i32;
case v1i64:
case v2i64:
case v4i64: return i64;
case v2f32:
- case v3f32:
case v4f32:
case v8f32: return f32;
case v2f64:
@@ -385,8 +378,6 @@ namespace llvm {
case v4i64:
case v4f32:
case v4f64: return 4;
- case v3i32:
- case v3f32: return 3;
case v2i8:
case v2i16:
case v2i32:
@@ -424,8 +415,6 @@ namespace llvm {
case v1i64:
case v2f32: return 64;
case f80 : return 80;
- case v3i32:
- case v3f32: return 96;
case f128:
case ppcf128:
case i128:
diff --git a/include/llvm/CodeGen/ValueTypes.td b/include/llvm/CodeGen/ValueTypes.td
index 8b404fb..596da05 100644
--- a/include/llvm/CodeGen/ValueTypes.td
+++ b/include/llvm/CodeGen/ValueTypes.td
@@ -44,19 +44,17 @@ def v4i16 : ValueType<64 , 20>; // 4 x i16 vector value
def v8i16 : ValueType<128, 21>; // 8 x i16 vector value
def v16i16 : ValueType<256, 22>; // 16 x i16 vector value
def v2i32 : ValueType<64 , 23>; // 2 x i32 vector value
-def v3i32 : ValueType<96 , 24>; // 3 x i32 vector value
-def v4i32 : ValueType<128, 25>; // 4 x i32 vector value
-def v8i32 : ValueType<256, 26>; // 8 x i32 vector value
-def v1i64 : ValueType<64 , 27>; // 1 x i64 vector value
-def v2i64 : ValueType<128, 28>; // 2 x i64 vector value
-def v4i64 : ValueType<256, 29>; // 4 x f64 vector value
+def v4i32 : ValueType<128, 24>; // 4 x i32 vector value
+def v8i32 : ValueType<256, 25>; // 8 x i32 vector value
+def v1i64 : ValueType<64 , 26>; // 1 x i64 vector value
+def v2i64 : ValueType<128, 27>; // 2 x i64 vector value
+def v4i64 : ValueType<256, 28>; // 4 x f64 vector value
-def v2f32 : ValueType<64, 30>; // 2 x f32 vector value
-def v3f32 : ValueType<96 , 31>; // 3 x f32 vector value
-def v4f32 : ValueType<128, 32>; // 4 x f32 vector value
-def v8f32 : ValueType<256, 33>; // 8 x f32 vector value
-def v2f64 : ValueType<128, 34>; // 2 x f64 vector value
-def v4f64 : ValueType<256, 35>; // 4 x f64 vector value
+def v2f32 : ValueType<64, 29>; // 2 x f32 vector value
+def v4f32 : ValueType<128, 30>; // 4 x f32 vector value
+def v8f32 : ValueType<256, 31>; // 8 x f32 vector value
+def v2f64 : ValueType<128, 32>; // 2 x f64 vector value
+def v4f64 : ValueType<256, 33>; // 4 x f64 vector value
def MetadataVT: ValueType<0, 251>; // Metadata
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 9febb40..6d0a563 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -127,7 +127,6 @@ def llvm_v2i64_ty : LLVMType<v2i64>; // 2 x i64
def llvm_v4i64_ty : LLVMType<v4i64>; // 4 x i64
def llvm_v2f32_ty : LLVMType<v2f32>; // 2 x float
-def llvm_v3f32_ty : LLVMType<v3f32>; // 3 x float
def llvm_v4f32_ty : LLVMType<v4f32>; // 4 x float
def llvm_v8f32_ty : LLVMType<v8f32>; // 8 x float
def llvm_v2f64_ty : LLVMType<v2f64>; // 2 x double
diff --git a/lib/VMCore/ValueTypes.cpp b/lib/VMCore/ValueTypes.cpp
index 6e2917b..5badffc 100644
--- a/lib/VMCore/ValueTypes.cpp
+++ b/lib/VMCore/ValueTypes.cpp
@@ -117,14 +117,12 @@ std::string MVT::getMVTString() const {
case MVT::v8i16: return "v8i16";
case MVT::v16i16: return "v16i16";
case MVT::v2i32: return "v2i32";
- case MVT::v3i32: return "v3i32";
case MVT::v4i32: return "v4i32";
case MVT::v8i32: return "v8i32";
case MVT::v1i64: return "v1i64";
case MVT::v2i64: return "v2i64";
case MVT::v4i64: return "v4i64";
case MVT::v2f32: return "v2f32";
- case MVT::v3f32: return "v3f32";
case MVT::v4f32: return "v4f32";
case MVT::v8f32: return "v8f32";
case MVT::v2f64: return "v2f64";
@@ -162,14 +160,12 @@ const Type *MVT::getTypeForMVT(LLVMContext &Context) const {
case MVT::v8i16: return Context.getVectorType(Type::Int16Ty, 8);
case MVT::v16i16: return Context.getVectorType(Type::Int16Ty, 16);
case MVT::v2i32: return Context.getVectorType(Type::Int32Ty, 2);
- case MVT::v3i32: return Context.getVectorType(Type::Int32Ty, 3);
case MVT::v4i32: return Context.getVectorType(Type::Int32Ty, 4);
case MVT::v8i32: return Context.getVectorType(Type::Int32Ty, 8);
case MVT::v1i64: return Context.getVectorType(Type::Int64Ty, 1);
case MVT::v2i64: return Context.getVectorType(Type::Int64Ty, 2);
case MVT::v4i64: return Context.getVectorType(Type::Int64Ty, 4);
case MVT::v2f32: return Context.getVectorType(Type::FloatTy, 2);
- case MVT::v3f32: return Context.getVectorType(Type::FloatTy, 3);
case MVT::v4f32: return Context.getVectorType(Type::FloatTy, 4);
case MVT::v8f32: return Context.getVectorType(Type::FloatTy, 8);
case MVT::v2f64: return Context.getVectorType(Type::DoubleTy, 2);
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp
index b0e896b..ed703be 100644
--- a/utils/TableGen/CodeGenTarget.cpp
+++ b/utils/TableGen/CodeGenTarget.cpp
@@ -79,8 +79,6 @@ std::string llvm::getEnumName(MVT::SimpleValueType T) {
case MVT::v8f32: return "MVT::v8f32";
case MVT::v2f64: return "MVT::v2f64";
case MVT::v4f64: return "MVT::v4f64";
- case MVT::v3i32: return "MVT::v3i32";
- case MVT::v3f32: return "MVT::v3f32";
case MVT::Metadata: return "MVT::Metadata";
case MVT::iPTR: return "MVT::iPTR";
case MVT::iPTRAny: return "MVT::iPTRAny";