Remove the v3i32 and v3f32 value types: they are not
authorDuncan Sands <baldrick@free.fr>
Wed, 15 Jul 2009 15:28:52 +0000 (15:28 +0000)
committerDuncan Sands <baldrick@free.fr>
Wed, 15 Jul 2009 15:28:52 +0000 (15:28 +0000)
native for any supported targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75785 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/ValueTypes.h
include/llvm/CodeGen/ValueTypes.td
include/llvm/Intrinsics.td
lib/VMCore/ValueTypes.cpp
utils/TableGen/CodeGenTarget.cpp

index 4f6dee402973bc6d1a6a045ca0b1e51f28557f0f..57ca285fac49fa160053d3b4422d7fb45874a393 100644 (file)
@@ -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:
index 8b404fb1cc753020f3effdbb946b993dbfccc7ae..596da059c9524cffd346ce2df8eb6ee46cda87fd 100644 (file)
@@ -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
 
index 9febb4086522b3b7e9a9a6b8183904cb34bbf2b1..6d0a563b3e04e8f7e458c133f173c197b6fe1e25 100644 (file)
@@ -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
index 6e2917b6e7229706bca53f971a6144c722451c91..5badffc82c357325a1b0f327ff2eed2d82c8fd80 100644 (file)
@@ -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);
index b0e896b7e840de99646e719b92166f1b06fe93fb..ed703be944ac6f2e2b128da5744847beb278d217 100644 (file)
@@ -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";