aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-08-03 20:51:37 +0000
committerDale Johannesen <dalej@apple.com>2007-08-03 20:51:37 +0000
commite713d9340a1d5dfb816c36d884f667a381981eb2 (patch)
tree58b8a69eab34834b322ef8ea736b4de67c459691 /include/llvm
parent8c1e6a119a68b258365677a9ee5176af3525a26f (diff)
downloadexternal_llvm-e713d9340a1d5dfb816c36d884f667a381981eb2.zip
external_llvm-e713d9340a1d5dfb816c36d884f667a381981eb2.tar.gz
external_llvm-e713d9340a1d5dfb816c36d884f667a381981eb2.tar.bz2
long double patch 3 of N. Add to MVT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40793 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/CodeGen/ValueTypes.h36
-rw-r--r--include/llvm/CodeGen/ValueTypes.td31
2 files changed, 35 insertions, 32 deletions
diff --git a/include/llvm/CodeGen/ValueTypes.h b/include/llvm/CodeGen/ValueTypes.h
index 57826ad..84d8060 100644
--- a/include/llvm/CodeGen/ValueTypes.h
+++ b/include/llvm/CodeGen/ValueTypes.h
@@ -42,29 +42,30 @@ namespace MVT { // MVT = Machine Value Types
f64 = 8, // This is a 64 bit floating point value
f80 = 9, // This is a 80 bit floating point value
f128 = 10, // This is a 128 bit floating point value
- Flag = 11, // This is a condition code or machine flag.
+ ppcf128 = 11, // This is a PPC 128-bit floating point value
+ Flag = 12, // This is a condition code or machine flag.
- isVoid = 12, // This has no value
+ isVoid = 13, // This has no value
- v8i8 = 13, // 8 x i8
- v4i16 = 14, // 4 x i16
- v2i32 = 15, // 2 x i32
- v1i64 = 16, // 1 x i64
- v16i8 = 17, // 16 x i8
- v8i16 = 18, // 8 x i16
- v3i32 = 19, // 3 x i32
- v4i32 = 20, // 4 x i32
- v2i64 = 21, // 2 x i64
+ v8i8 = 14, // 8 x i8
+ v4i16 = 15, // 4 x i16
+ v2i32 = 16, // 2 x i32
+ v1i64 = 17, // 1 x i64
+ v16i8 = 18, // 16 x i8
+ v8i16 = 19, // 8 x i16
+ v3i32 = 20, // 3 x i32
+ v4i32 = 21, // 4 x i32
+ v2i64 = 22, // 2 x i64
- v2f32 = 22, // 2 x f32
- v3f32 = 23, // 3 x f32
- v4f32 = 24, // 4 x f32
- v2f64 = 25, // 2 x f64
+ v2f32 = 23, // 2 x f32
+ v3f32 = 24, // 3 x f32
+ v4f32 = 25, // 4 x f32
+ v2f64 = 26, // 2 x f64
FIRST_VECTOR_VALUETYPE = v8i8,
LAST_VECTOR_VALUETYPE = v2f64,
- LAST_VALUETYPE = 26, // This always remains at the end of the list.
+ LAST_VALUETYPE = 27, // This always remains at the end of the list.
// iAny - An integer value of any bit width. This is used for intrinsics
// that have overloadings based on integer bit widths. This is only for
@@ -114,7 +115,7 @@ namespace MVT { // MVT = Machine Value Types
/// MVT::isFloatingPoint - Return true if this is an FP, or a vector FP type.
static inline bool isFloatingPoint(ValueType VT) {
ValueType SVT = VT & SimpleTypeMask;
- return (SVT >= f32 && SVT <= f128) || (SVT >= v2f32 && SVT <= v2f64);
+ return (SVT >= f32 && SVT <= ppcf128) || (SVT >= v2f32 && SVT <= v2f64);
}
/// MVT::isVector - Return true if this is a vector value type.
@@ -197,6 +198,7 @@ namespace MVT { // MVT = Machine Value Types
case MVT::v3i32:
case MVT::v3f32: return 96;
case MVT::f128:
+ case MVT::ppcf128:
case MVT::i128:
case MVT::v16i8:
case MVT::v8i16:
diff --git a/include/llvm/CodeGen/ValueTypes.td b/include/llvm/CodeGen/ValueTypes.td
index 795c98a..a133875 100644
--- a/include/llvm/CodeGen/ValueTypes.td
+++ b/include/llvm/CodeGen/ValueTypes.td
@@ -30,23 +30,24 @@ def f32 : ValueType<32 , 7>; // 32-bit floating point value
def f64 : ValueType<64 , 8>; // 64-bit floating point value
def f80 : ValueType<80 , 9>; // 80-bit floating point value
def f128 : ValueType<128, 10>; // 128-bit floating point value
-def FlagVT : ValueType<0 , 11>; // Condition code or machine flag
-def isVoid : ValueType<0 , 12>; // Produces no value
-def v8i8 : ValueType<64 , 13>; // 8 x i8 vector value
-def v4i16 : ValueType<64 , 14>; // 4 x i16 vector value
-def v2i32 : ValueType<64 , 15>; // 2 x i32 vector value
-def v1i64 : ValueType<64 , 16>; // 1 x i64 vector value
+def ppcf128: ValueType<128, 11>; // PPC 128-bit floating point value
+def FlagVT : ValueType<0 , 12>; // Condition code or machine flag
+def isVoid : ValueType<0 , 13>; // Produces no value
+def v8i8 : ValueType<64 , 14>; // 8 x i8 vector value
+def v4i16 : ValueType<64 , 15>; // 4 x i16 vector value
+def v2i32 : ValueType<64 , 16>; // 2 x i32 vector value
+def v1i64 : ValueType<64 , 17>; // 1 x i64 vector value
-def v16i8 : ValueType<128, 17>; // 16 x i8 vector value
-def v8i16 : ValueType<128, 18>; // 8 x i16 vector value
-def v3i32 : ValueType<96 , 19>; // 3 x i32 vector value
-def v4i32 : ValueType<128, 20>; // 4 x i32 vector value
-def v2i64 : ValueType<128, 21>; // 2 x i64 vector value
+def v16i8 : ValueType<128, 18>; // 16 x i8 vector value
+def v8i16 : ValueType<128, 19>; // 8 x i16 vector value
+def v3i32 : ValueType<96 , 20>; // 3 x i32 vector value
+def v4i32 : ValueType<128, 21>; // 4 x i32 vector value
+def v2i64 : ValueType<128, 22>; // 2 x i64 vector value
-def v2f32 : ValueType<64, 22>; // 2 x f32 vector value
-def v3f32 : ValueType<96 , 23>; // 3 x f32 vector value
-def v4f32 : ValueType<128, 24>; // 4 x f32 vector value
-def v2f64 : ValueType<128, 25>; // 2 x f64 vector value
+def v2f32 : ValueType<64, 23>; // 2 x f32 vector value
+def v3f32 : ValueType<96 , 24>; // 3 x f32 vector value
+def v4f32 : ValueType<128, 25>; // 4 x f32 vector value
+def v2f64 : ValueType<128, 26>; // 2 x f64 vector value
// Pseudo valuetype to represent "integer of any bit width"
def iAny : ValueType<0 , 254>; // integer value of any bit width