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 | 10 // This file defines properties of ICE primitive types in the form of |
(...skipping 22 matching lines...) Expand all Loading... |
33 X(IceType_v8i16, 16, 2, 8, IceType_i16, "<8 x i16>") \ | 33 X(IceType_v8i16, 16, 2, 8, IceType_i16, "<8 x i16>") \ |
34 X(IceType_v4i32, 16, 4, 4, IceType_i32, "<4 x i32>") \ | 34 X(IceType_v4i32, 16, 4, 4, IceType_i32, "<4 x i32>") \ |
35 X(IceType_v4f32, 16, 4, 4, IceType_f32, "<4 x float>") \ | 35 X(IceType_v4f32, 16, 4, 4, IceType_f32, "<4 x float>") \ |
36 //#define X(tag, size, align, elts, elty, str) | 36 //#define X(tag, size, align, elts, elty, str) |
37 | 37 |
38 // Dictionary: | 38 // Dictionary: |
39 // V - Is vector type. | 39 // V - Is vector type. |
40 // I - Is integer value (scalar or vector). | 40 // I - Is integer value (scalar or vector). |
41 // F - Is floating point value (scalar or vector). | 41 // F - Is floating point value (scalar or vector). |
42 // IA - Is integer arithmetic type | 42 // IA - Is integer arithmetic type |
| 43 // LS - true if load/store allowed on type. |
43 // CR - Result type of compare instruction for argument type | 44 // CR - Result type of compare instruction for argument type |
44 // (IceType_void if disallowed) | 45 // (IceType_void if disallowed) |
45 #define ICETYPE_PROPS_TABLE \ | 46 #define ICETYPE_PROPS_TABLE \ |
46 /* Enum Value V I F IA CR */ \ | 47 /* Enum Value V I F IA LS CR */ \ |
47 X(IceType_void, 0, 0, 0, 0, IceType_void) \ | 48 X(IceType_void, 0, 0, 0, 0, 0, IceType_void) \ |
48 X(IceType_i1, 0, 1, 0, 0, IceType_i1) \ | 49 X(IceType_i1, 0, 1, 0, 0, 0, IceType_i1) \ |
49 X(IceType_i8, 0, 1, 0, 1, IceType_i1) \ | 50 X(IceType_i8, 0, 1, 0, 1, 1, IceType_i1) \ |
50 X(IceType_i16, 0, 1, 0, 1, IceType_i1) \ | 51 X(IceType_i16, 0, 1, 0, 1, 1, IceType_i1) \ |
51 X(IceType_i32, 0, 1, 0, 1, IceType_i1) \ | 52 X(IceType_i32, 0, 1, 0, 1, 1, IceType_i1) \ |
52 X(IceType_i64, 0, 1, 0, 1, IceType_i1) \ | 53 X(IceType_i64, 0, 1, 0, 1, 1, IceType_i1) \ |
53 X(IceType_f32, 0, 0, 1, 0, IceType_i1) \ | 54 X(IceType_f32, 0, 0, 1, 0, 1, IceType_i1) \ |
54 X(IceType_f64, 0, 0, 1, 0, IceType_i1) \ | 55 X(IceType_f64, 0, 0, 1, 0, 1, IceType_i1) \ |
55 X(IceType_v4i1, 1, 1, 0, 0, IceType_v4i1) \ | 56 X(IceType_v4i1, 1, 1, 0, 0, 0, IceType_v4i1) \ |
56 X(IceType_v8i1, 1, 1, 0, 0, IceType_v8i1) \ | 57 X(IceType_v8i1, 1, 1, 0, 0, 0, IceType_v8i1) \ |
57 X(IceType_v16i1, 1, 1, 0, 0, IceType_v16i1) \ | 58 X(IceType_v16i1, 1, 1, 0, 0, 0, IceType_v16i1) \ |
58 X(IceType_v16i8, 1, 1, 0, 1, IceType_v16i1) \ | 59 X(IceType_v16i8, 1, 1, 0, 1, 1, IceType_v16i1) \ |
59 X(IceType_v8i16, 1, 1, 0, 1, IceType_v8i1) \ | 60 X(IceType_v8i16, 1, 1, 0, 1, 1, IceType_v8i1) \ |
60 X(IceType_v4i32, 1, 1, 0, 1, IceType_v4i1) \ | 61 X(IceType_v4i32, 1, 1, 0, 1, 1, IceType_v4i1) \ |
61 X(IceType_v4f32, 1, 0, 1, 0, IceType_v4i1) \ | 62 X(IceType_v4f32, 1, 0, 1, 0, 1, IceType_v4i1) \ |
62 //#define X(tag, IsVec, IsInt, IsFloat, IsIntArith, CompareResult) | 63 //#define X(tag, IsVec, IsInt, IsFloat, IsIntArith, IsLoadStore, CompareResult) |
63 | 64 |
64 #endif // SUBZERO_SRC_ICETYPES_DEF | 65 #endif // SUBZERO_SRC_ICETYPES_DEF |
OLD | NEW |