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. |
11 // | 11 // |
12 //===----------------------------------------------------------------------===// | 12 //===----------------------------------------------------------------------===// |
13 | 13 |
14 #ifndef SUBZERO_SRC_ICETYPES_DEF | 14 #ifndef SUBZERO_SRC_ICETYPES_DEF |
15 #define SUBZERO_SRC_ICETYPES_DEF | 15 #define SUBZERO_SRC_ICETYPES_DEF |
16 | 16 |
17 // Attributes of each target architecture. | 17 // Attributes of each target architecture. |
18 // NOTE on is_elf64 -- At some point NaCl would like to use ELF32 for all ILP32 | 18 // NOTE on is_elf64 -- At some point NaCl would like to use ELF32 for all ILP32 |
19 // sandboxes, but for now the 64-bit architectures use ELF64: | 19 // sandboxes, but for now the 64-bit architectures use ELF64: |
20 // https://code.google.com/p/nativeclient/issues/detail?id=349 TODO: Whoever | 20 // https://code.google.com/p/nativeclient/issues/detail?id=349 TODO: Whoever |
21 // adds AArch64 will need to set ABI e_flags. | 21 // adds AArch64 will need to set ABI e_flags. |
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", false, 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, */ \ | 32 /* enum value, log_2(size), align, # elts, element type, */ \ |
33 /* printable string (size and alignment in bytes) */ \ | 33 /* printable string (size and alignment in bytes) */ \ |
34 X(void, -1, 0, 1, void, "void") \ | 34 X(void, -1, 0, 1, void, "void") \ |
35 X(i1, 0, 1, 1, i1, "i1") \ | 35 X(i1, 0, 1, 1, i1, "i1") \ |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 X(v8i1, 1, 1, 0, 0, 0, 1, v8i1) \ | 71 X(v8i1, 1, 1, 0, 0, 0, 1, v8i1) \ |
72 X(v16i1, 1, 1, 0, 0, 0, 1, v16i1) \ | 72 X(v16i1, 1, 1, 0, 0, 0, 1, v16i1) \ |
73 X(v16i8, 1, 1, 0, 1, 1, 1, v16i1) \ | 73 X(v16i8, 1, 1, 0, 1, 1, 1, v16i1) \ |
74 X(v8i16, 1, 1, 0, 1, 1, 1, v8i1) \ | 74 X(v8i16, 1, 1, 0, 1, 1, 1, v8i1) \ |
75 X(v4i32, 1, 1, 0, 1, 1, 1, v4i1) \ | 75 X(v4i32, 1, 1, 0, 1, 1, 1, v4i1) \ |
76 X(v4f32, 1, 0, 1, 0, 1, 1, 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 |