Implement "general dynamic", "initial exec" and "local exec" TLS models for
[oota-llvm.git] / include / llvm / CodeGen / ValueTypes.td
index bd221559f372da62b6154f89aafe4d1d04a9bddb..0541785e3eb5d553525878801eb384ec75e1fb5f 100644 (file)
@@ -36,10 +36,18 @@ def Vector : ValueType<0  , 13>;   // Abstract vector 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 v16i8  : ValueType<128, 17>;   // 16 x i8  vector value
-def v8i16  : ValueType<128, 18>;   //  8 x i16 vector value
-def v4i32  : ValueType<128, 19>;   //  4 x i32 vector value
-def v2i64  : ValueType<128, 20>;   //  2 x i64 vector value
-def v2f32  : ValueType<64,  21>;   //  2 x f32 vector value
-def v4f32  : ValueType<128, 22>;   //  4 x f32 vector value
-def v2f64  : ValueType<128, 23>;   //  2 x f64 vector value
+def v1i64  : ValueType<64 , 17>;   //  1 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 v4i32  : ValueType<128, 20>;   //  4 x i32 vector value
+def v2i64  : ValueType<128, 21>;   //  2 x i64 vector value
+def v2f32  : ValueType<64,  22>;   //  2 x f32 vector value
+def v4f32  : ValueType<128, 23>;   //  4 x f32 vector value
+def v2f64  : ValueType<128, 24>;   //  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
+
+// Pseudo valuetype mapped to the current pointer size.
+def iPTR   : ValueType<0  , 255>;