ValueTypes.td revision 200581
1193323Sed//===- ValueTypes.td - ValueType definitions ---------------*- tablegen -*-===// 2193323Sed// 3193323Sed// The LLVM Compiler Infrastructure 4193323Sed// 5193323Sed// This file is distributed under the University of Illinois Open Source 6193323Sed// License. See LICENSE.TXT for details. 7193323Sed// 8193323Sed//===----------------------------------------------------------------------===// 9193323Sed// 10193323Sed// Value types - These values correspond to the register types defined in the 11193323Sed// ValueTypes.h file. If you update anything here, you must update it there as 12193323Sed// well! 13193323Sed// 14193323Sed//===----------------------------------------------------------------------===// 15193323Sed 16193323Sedclass ValueType<int size, int value> { 17193323Sed string Namespace = "MVT"; 18193323Sed int Size = size; 19193323Sed int Value = value; 20193323Sed} 21193323Sed 22193323Seddef OtherVT: ValueType<0 , 0>; // "Other" value 23193323Seddef i1 : ValueType<1 , 1>; // One bit boolean value 24193323Seddef i8 : ValueType<8 , 2>; // 8-bit integer value 25193323Seddef i16 : ValueType<16 , 3>; // 16-bit integer value 26193323Seddef i32 : ValueType<32 , 4>; // 32-bit integer value 27193323Seddef i64 : ValueType<64 , 5>; // 64-bit integer value 28193323Seddef i128 : ValueType<128, 6>; // 128-bit integer value 29193323Seddef f32 : ValueType<32 , 7>; // 32-bit floating point value 30193323Seddef f64 : ValueType<64 , 8>; // 64-bit floating point value 31193323Seddef f80 : ValueType<80 , 9>; // 80-bit floating point value 32193323Seddef f128 : ValueType<128, 10>; // 128-bit floating point value 33193323Seddef ppcf128: ValueType<128, 11>; // PPC 128-bit floating point value 34195340Sed 35200581Srdivackydef v2i8 : ValueType<16 , 12>; // 2 x i8 vector value 36200581Srdivackydef v4i8 : ValueType<32 , 13>; // 4 x i8 vector value 37200581Srdivackydef v8i8 : ValueType<64 , 14>; // 8 x i8 vector value 38200581Srdivackydef v16i8 : ValueType<128, 15>; // 16 x i8 vector value 39200581Srdivackydef v32i8 : ValueType<256, 16>; // 32 x i8 vector value 40200581Srdivackydef v2i16 : ValueType<32 , 17>; // 2 x i16 vector value 41200581Srdivackydef v4i16 : ValueType<64 , 18>; // 4 x i16 vector value 42200581Srdivackydef v8i16 : ValueType<128, 19>; // 8 x i16 vector value 43200581Srdivackydef v16i16 : ValueType<256, 20>; // 16 x i16 vector value 44200581Srdivackydef v2i32 : ValueType<64 , 21>; // 2 x i32 vector value 45200581Srdivackydef v4i32 : ValueType<128, 22>; // 4 x i32 vector value 46200581Srdivackydef v8i32 : ValueType<256, 23>; // 8 x i32 vector value 47200581Srdivackydef v1i64 : ValueType<64 , 24>; // 1 x i64 vector value 48200581Srdivackydef v2i64 : ValueType<128, 25>; // 2 x i64 vector value 49200581Srdivackydef v4i64 : ValueType<256, 26>; // 4 x f64 vector value 50193323Sed 51200581Srdivackydef v2f32 : ValueType<64, 27>; // 2 x f32 vector value 52200581Srdivackydef v4f32 : ValueType<128, 28>; // 4 x f32 vector value 53200581Srdivackydef v8f32 : ValueType<256, 29>; // 8 x f32 vector value 54200581Srdivackydef v2f64 : ValueType<128, 30>; // 2 x f64 vector value 55200581Srdivackydef v4f64 : ValueType<256, 31>; // 4 x f64 vector value 56198090Srdivacky 57200581Srdivackydef FlagVT : ValueType<0 , 32>; // Pre-RA sched glue 58200581Srdivackydef isVoid : ValueType<0 , 33>; // Produces no value 59200581Srdivacky 60198090Srdivackydef MetadataVT: ValueType<0, 250>; // Metadata 61198090Srdivacky 62193323Sed// Pseudo valuetype mapped to the current pointer size to any address space. 63193323Sed// Should only be used in TableGen. 64198090Srdivackydef iPTRAny : ValueType<0, 251>; 65193323Sed 66198090Srdivacky// Pseudo valuetype to represent "vector of any size" 67198090Srdivackydef vAny : ValueType<0 , 252>; 68198090Srdivacky 69193323Sed// Pseudo valuetype to represent "float of any format" 70193323Seddef fAny : ValueType<0 , 253>; 71193323Sed 72193323Sed// Pseudo valuetype to represent "integer of any bit width" 73193323Seddef iAny : ValueType<0 , 254>; 74193323Sed 75193323Sed// Pseudo valuetype mapped to the current pointer size. 76193323Seddef iPTR : ValueType<0 , 255>; 77