| OLD | NEW |
| 1 //===- subzero/src/IceTypes.def - X-macros for ICE types --------*- C++ -*-===// | 1 //===- subzero/src/IceTypes.def - X-macros for ICE types --------*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file defines properties of ICE primitive types in the form of x-macros. | 10 // This file defines properties of ICE primitive types in the form of x-macros. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #define TARGETARCH_TABLE \ | 22 #define TARGETARCH_TABLE \ |
| 23 /* enum value, printable string, is_elf64, e_machine, e_flags */ \ | 23 /* enum value, printable string, is_elf64, e_machine, e_flags */ \ |
| 24 X(Target_X8632, "x86-32", false, EM_386, 0) \ | 24 X(Target_X8632, "x86-32", false, EM_386, 0) \ |
| 25 X(Target_X8664, "x86-64", true, EM_X86_64, 0) \ | 25 X(Target_X8664, "x86-64", true, EM_X86_64, 0) \ |
| 26 X(Target_ARM32, "arm32", false, EM_ARM, EF_ARM_EABI_VER5) \ | 26 X(Target_ARM32, "arm32", false, EM_ARM, EF_ARM_EABI_VER5) \ |
| 27 X(Target_ARM64, "arm64", true, EM_AARCH64, 0) \ | 27 X(Target_ARM64, "arm64", true, EM_AARCH64, 0) \ |
| 28 X(Target_MIPS32,"mips32", false, EM_MIPS, 0) \ | 28 X(Target_MIPS32,"mips32", false, EM_MIPS, 0) \ |
| 29 //#define X(tag, str, is_elf64, e_machine, e_flags) | 29 //#define X(tag, str, is_elf64, e_machine, e_flags) |
| 30 | 30 |
| 31 #define ICETYPE_TABLE \ | 31 #define ICETYPE_TABLE \ |
| 32 /* enum value, log_2(size), align, # elts, element type, printable */ \ | 32 /* enum value, log_2(size), align, # elts, element type, */ \ |
| 33 /* string (size and alignment in bytes) */ \ | 33 /* printable string (size and alignment in bytes) */ \ |
| 34 X(IceType_void, -1, 0, 1, IceType_void, "void") \ | 34 X(void, -1, 0, 1, void, "void") \ |
| 35 X(IceType_i1, 0, 1, 1, IceType_i1, "i1") \ | 35 X(i1, 0, 1, 1, i1, "i1") \ |
| 36 X(IceType_i8, 0, 1, 1, IceType_i8, "i8") \ | 36 X(i8, 0, 1, 1, i8, "i8") \ |
| 37 X(IceType_i16, 1, 1, 1, IceType_i16, "i16") \ | 37 X(i16, 1, 1, 1, i16, "i16") \ |
| 38 X(IceType_i32, 2, 1, 1, IceType_i32, "i32") \ | 38 X(i32, 2, 1, 1, i32, "i32") \ |
| 39 X(IceType_i64, 3, 1, 1, IceType_i64, "i64") \ | 39 X(i64, 3, 1, 1, i64, "i64") \ |
| 40 X(IceType_f32, 2, 4, 1, IceType_f32, "float") \ | 40 X(f32, 2, 4, 1, f32, "float") \ |
| 41 X(IceType_f64, 3, 8, 1, IceType_f64, "double") \ | 41 X(f64, 3, 8, 1, f64, "double") \ |
| 42 X(IceType_v4i1, 4, 1, 4, IceType_i1, "<4 x i1>") \ | 42 X(v4i1, 4, 1, 4, i1, "<4 x i1>") \ |
| 43 X(IceType_v8i1, 4, 1, 8, IceType_i1, "<8 x i1>") \ | 43 X(v8i1, 4, 1, 8, i1, "<8 x i1>") \ |
| 44 X(IceType_v16i1, 4, 1, 16, IceType_i1, "<16 x i1>") \ | 44 X(v16i1, 4, 1, 16, i1, "<16 x i1>") \ |
| 45 X(IceType_v16i8, 4, 1, 16, IceType_i8, "<16 x i8>") \ | 45 X(v16i8, 4, 1, 16, i8, "<16 x i8>") \ |
| 46 X(IceType_v8i16, 4, 2, 8, IceType_i16, "<8 x i16>") \ | 46 X(v8i16, 4, 2, 8, i16, "<8 x i16>") \ |
| 47 X(IceType_v4i32, 4, 4, 4, IceType_i32, "<4 x i32>") \ | 47 X(v4i32, 4, 4, 4, i32, "<4 x i32>") \ |
| 48 X(IceType_v4f32, 4, 4, 4, IceType_f32, "<4 x float>") \ | 48 X(v4f32, 4, 4, 4, f32, "<4 x float>") \ |
| 49 //#define X(tag, sizeLog2, align, elts, elty, str) | 49 //#define X(tag, sizeLog2, align, elts, elty, str) |
| 50 | 50 |
| 51 // Dictionary: | 51 // Dictionary: |
| 52 // V - Is vector type. | 52 // V - Is vector type. |
| 53 // I - Is integer value (scalar or vector). | 53 // I - Is integer value (scalar or vector). |
| 54 // F - Is floating point value (scalar or vector). | 54 // F - Is floating point value (scalar or vector). |
| 55 // IA - Is integer arithmetic type | 55 // IA - Is integer arithmetic type |
| 56 // LS - true if load/store allowed on type. | 56 // LS - true if load/store allowed on type. |
| 57 // P - true if can be used for parameter of call. | 57 // P - true if can be used for parameter of call. |
| 58 // CR - Result type of compare instruction for argument type | 58 // CR - Result type of compare instruction for argument type |
| 59 // (IceType_void if disallowed) | 59 // (IceType_void if disallowed) |
| 60 #define ICETYPE_PROPS_TABLE \ | 60 #define ICETYPE_PROPS_TABLE \ |
| 61 /* Enum Value V I F IA LS P CR */ \ | 61 /* Enum Value V I F IA LS P CR */ \ |
| 62 X(IceType_void, 0, 0, 0, 0, 0, 0, IceType_void) \ | 62 X(void, 0, 0, 0, 0, 0, 0, void) \ |
| 63 X(IceType_i1, 0, 1, 0, 0, 0, 0, IceType_i1) \ | 63 X(i1, 0, 1, 0, 0, 0, 0, i1) \ |
| 64 X(IceType_i8, 0, 1, 0, 1, 1, 0, IceType_i1) \ | 64 X(i8, 0, 1, 0, 1, 1, 0, i1) \ |
| 65 X(IceType_i16, 0, 1, 0, 1, 1, 0, IceType_i1) \ | 65 X(i16, 0, 1, 0, 1, 1, 0, i1) \ |
| 66 X(IceType_i32, 0, 1, 0, 1, 1, 1, IceType_i1) \ | 66 X(i32, 0, 1, 0, 1, 1, 1, i1) \ |
| 67 X(IceType_i64, 0, 1, 0, 1, 1, 1, IceType_i1) \ | 67 X(i64, 0, 1, 0, 1, 1, 1, i1) \ |
| 68 X(IceType_f32, 0, 0, 1, 0, 1, 1, IceType_i1) \ | 68 X(f32, 0, 0, 1, 0, 1, 1, i1) \ |
| 69 X(IceType_f64, 0, 0, 1, 0, 1, 1, IceType_i1) \ | 69 X(f64, 0, 0, 1, 0, 1, 1, i1) \ |
| 70 X(IceType_v4i1, 1, 1, 0, 0, 0, 1, IceType_v4i1) \ | 70 X(v4i1, 1, 1, 0, 0, 0, 1, v4i1) \ |
| 71 X(IceType_v8i1, 1, 1, 0, 0, 0, 1, IceType_v8i1) \ | 71 X(v8i1, 1, 1, 0, 0, 0, 1, v8i1) \ |
| 72 X(IceType_v16i1, 1, 1, 0, 0, 0, 1, IceType_v16i1) \ | 72 X(v16i1, 1, 1, 0, 0, 0, 1, v16i1) \ |
| 73 X(IceType_v16i8, 1, 1, 0, 1, 1, 1, IceType_v16i1) \ | 73 X(v16i8, 1, 1, 0, 1, 1, 1, v16i1) \ |
| 74 X(IceType_v8i16, 1, 1, 0, 1, 1, 1, IceType_v8i1) \ | 74 X(v8i16, 1, 1, 0, 1, 1, 1, v8i1) \ |
| 75 X(IceType_v4i32, 1, 1, 0, 1, 1, 1, IceType_v4i1) \ | 75 X(v4i32, 1, 1, 0, 1, 1, 1, v4i1) \ |
| 76 X(IceType_v4f32, 1, 0, 1, 0, 1, 1, IceType_v4i1) \ | 76 X(v4f32, 1, 0, 1, 0, 1, 1, v4i1) \ |
| 77 //#define X(tag, IsVec, IsInt, IsFloat, IsIntArith, IsLoadStore, IsParam, \ | 77 //#define X(tag, IsVec, IsInt, IsFloat, IsIntArith, IsLoadStore, IsParam, \ |
| 78 // CompareResult) | 78 // CompareResult) |
| 79 | 79 |
| 80 #endif // SUBZERO_SRC_ICETYPES_DEF | 80 #endif // SUBZERO_SRC_ICETYPES_DEF |
| OLD | NEW |