|
8 | 8 | //
|
9 | 9 | // This file defines various SVE builtin types. The macros are:
|
10 | 10 | //
|
11 |
| -// SVE_TYPE(Name, Id, SingletonId) - A builtin type that has not been |
12 |
| -// covered by any other #define. Defining this macro covers all |
13 |
| -// the builtins. |
| 11 | +// SVE_TYPE: |
| 12 | +// - (Name, MangledName, Id, SingletonId) |
| 13 | +// A builtin type that has not been covered by any other #define. Defining |
| 14 | +// this macro covers all the builtin types. |
14 | 15 | //
|
15 |
| -// SVE_VECTOR_TYPE(Name, Id, SingletonId, ElKind, ElBits, IsSigned, IsFP) - |
16 |
| -// An SVE scalable vector. |
| 16 | +// SVE_VECTOR_TYPE, SVE_PREDICATE_TYPE, SVE_OPAQUE_TYPE: |
| 17 | +// - (Name, MangledName, Id, SingletonId) |
| 18 | +// A builtin type that has not been covered by any other #define. Defining |
| 19 | +// this macro covers the named subset of builtin types. |
17 | 20 | //
|
18 |
| -// SVE_PREDICATE_TYPE(Name, Id, SingletonId, ElKind) - An SVE scalable |
19 |
| -// predicate. |
| 21 | +// SVE_VECTOR_TYPE_INT |
| 22 | +// - (Name, MangledName, Id, SingletonId, NumEls, ElBits, NF, IsSigned) |
| 23 | +// Defining the macro covers the integer vector types. |
| 24 | +// |
| 25 | +// SVE_VECTOR_TYPE_FLOAT, SVE_VECTOR_TYPE_BFLOAT: |
| 26 | +// - (Name, MangledName, Id, SingletonId, NumEls, ElBits, NF) |
| 27 | +// Defining the macro covers the floating point vector types. |
| 28 | +// |
| 29 | +// SVE_PREDICATE_TYPE_ALL: |
| 30 | +// - (Name, MangledName, Id, SingletonId, NumEls, NF) |
| 31 | +// Defining the macro covers the boolean vector types. |
20 | 32 | //
|
21 | 33 | // where:
|
22 | 34 | //
|
23 | 35 | // - Name is the name of the builtin type.
|
24 | 36 | //
|
| 37 | +// - MangledName is the mangled name of the builtin type. |
| 38 | +// |
25 | 39 | // - BuiltinType::Id is the enumerator defining the type.
|
26 | 40 | //
|
27 | 41 | // - Context.SingletonId is the global singleton of this type.
|
28 | 42 | //
|
29 | 43 | // - ElKind enumerates the type of the elements.
|
30 | 44 | //
|
| 45 | +// - NumEls enumerates the number of the elements. |
| 46 | +// |
31 | 47 | // - ElBits is the size of one element in bits.
|
32 | 48 | //
|
| 49 | +// - NF enumerates the number of sub-vectors. |
| 50 | +// TODO: Tuple types are represented as a concatination of "NumEls x ElBits" |
| 51 | +// vectors. This will be changed to become a struct containing NF vectors. |
| 52 | +// |
33 | 53 | // - IsSigned is true for vectors of signed integer elements and
|
34 | 54 | // for vectors of floating-point elements.
|
35 | 55 | //
|
|
39 | 59 | //===----------------------------------------------------------------------===//
|
40 | 60 |
|
41 | 61 | #ifndef SVE_VECTOR_TYPE
|
42 |
| -#define SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId, NumEls, ElBits, \ |
43 |
| - IsSigned, IsFP, IsBF) \ |
| 62 | +#define SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId) \ |
44 | 63 | SVE_TYPE(Name, Id, SingletonId)
|
45 | 64 | #endif
|
46 | 65 |
|
| 66 | +#ifndef SVE_VECTOR_TYPE_DETAILS |
| 67 | +#define SVE_VECTOR_TYPE_DETAILS(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF, IsSigned, IsFP, IsBF) \ |
| 68 | + SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId) |
| 69 | +#endif |
| 70 | + |
| 71 | +#ifndef SVE_VECTOR_TYPE_BFLOAT |
| 72 | +#define SVE_VECTOR_TYPE_BFLOAT(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF) \ |
| 73 | + SVE_VECTOR_TYPE_DETAILS(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF, false, false, true) |
| 74 | +#endif |
| 75 | + |
| 76 | +#ifndef SVE_VECTOR_TYPE_FLOAT |
| 77 | +#define SVE_VECTOR_TYPE_FLOAT(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF) \ |
| 78 | + SVE_VECTOR_TYPE_DETAILS(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF, false, true, false) |
| 79 | +#endif |
| 80 | + |
| 81 | +#ifndef SVE_VECTOR_TYPE_INT |
| 82 | +#define SVE_VECTOR_TYPE_INT(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF, IsSigned) \ |
| 83 | + SVE_VECTOR_TYPE_DETAILS(Name, MangledName, Id, SingletonId, NumEls, ElBits, NF, IsSigned, false, false) |
| 84 | +#endif |
| 85 | + |
47 | 86 | #ifndef SVE_PREDICATE_TYPE
|
48 |
| -#define SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId, NumEls) \ |
| 87 | +#define SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) \ |
49 | 88 | SVE_TYPE(Name, Id, SingletonId)
|
50 | 89 | #endif
|
51 | 90 |
|
| 91 | +#ifndef SVE_PREDICATE_TYPE_ALL |
| 92 | +#define SVE_PREDICATE_TYPE_ALL(Name, MangledName, Id, SingletonId, NumEls, NF) \ |
| 93 | + SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) |
| 94 | +#endif |
| 95 | + |
52 | 96 | #ifndef SVE_OPAQUE_TYPE
|
53 |
| -#define SVE_OPAQUE_TYPE(Name, MangledName, Id, SingletonId) \ |
| 97 | +#define SVE_OPAQUE_TYPE(Name, MangledName, Id, SingletonId) \ |
54 | 98 | SVE_TYPE(Name, Id, SingletonId)
|
55 | 99 | #endif
|
56 | 100 |
|
57 | 101 | //===- Vector point types -----------------------------------------------===//
|
58 | 102 |
|
| 103 | +SVE_VECTOR_TYPE_INT("__SVInt8_t", "__SVInt8_t", SveInt8, SveInt8Ty, 16, 8, 1, true) |
| 104 | +SVE_VECTOR_TYPE_INT("__SVInt16_t", "__SVInt16_t", SveInt16, SveInt16Ty, 8, 16, 1, true) |
| 105 | +SVE_VECTOR_TYPE_INT("__SVInt32_t", "__SVInt32_t", SveInt32, SveInt32Ty, 4, 32, 1, true) |
| 106 | +SVE_VECTOR_TYPE_INT("__SVInt64_t", "__SVInt64_t", SveInt64, SveInt64Ty, 2, 64, 1, true) |
59 | 107 |
|
60 |
| -SVE_VECTOR_TYPE("__SVInt8_t", "__SVInt8_t", SveInt8, SveInt8Ty, 16, 8, true, false, false) |
61 |
| -SVE_VECTOR_TYPE("__SVInt16_t", "__SVInt16_t", SveInt16, SveInt16Ty, 8, 16, true, false, false) |
62 |
| -SVE_VECTOR_TYPE("__SVInt32_t", "__SVInt32_t", SveInt32, SveInt32Ty, 4, 32, true, false, false) |
63 |
| -SVE_VECTOR_TYPE("__SVInt64_t", "__SVInt64_t", SveInt64, SveInt64Ty, 2, 64, true, false, false) |
64 |
| - |
65 |
| -SVE_VECTOR_TYPE("__SVUint8_t", "__SVUint8_t", SveUint8, SveUint8Ty, 16, 8, false, false, false) |
66 |
| -SVE_VECTOR_TYPE("__SVUint16_t", "__SVUint16_t", SveUint16, SveUint16Ty, 8, 16, false, false, false) |
67 |
| -SVE_VECTOR_TYPE("__SVUint32_t", "__SVUint32_t", SveUint32, SveUint32Ty, 4, 32, false, false, false) |
68 |
| -SVE_VECTOR_TYPE("__SVUint64_t", "__SVUint64_t", SveUint64, SveUint64Ty, 2, 64, false, false, false) |
| 108 | +SVE_VECTOR_TYPE_INT("__SVUint8_t", "__SVUint8_t", SveUint8, SveUint8Ty, 16, 8, 1, false) |
| 109 | +SVE_VECTOR_TYPE_INT("__SVUint16_t", "__SVUint16_t", SveUint16, SveUint16Ty, 8, 16, 1, false) |
| 110 | +SVE_VECTOR_TYPE_INT("__SVUint32_t", "__SVUint32_t", SveUint32, SveUint32Ty, 4, 32, 1, false) |
| 111 | +SVE_VECTOR_TYPE_INT("__SVUint64_t", "__SVUint64_t", SveUint64, SveUint64Ty, 2, 64, 1, false) |
69 | 112 |
|
70 |
| -SVE_VECTOR_TYPE("__SVFloat16_t", "__SVFloat16_t", SveFloat16, SveFloat16Ty, 8, 16, true, true, false) |
71 |
| -SVE_VECTOR_TYPE("__SVFloat32_t", "__SVFloat32_t", SveFloat32, SveFloat32Ty, 4, 32, true, true, false) |
72 |
| -SVE_VECTOR_TYPE("__SVFloat64_t", "__SVFloat64_t", SveFloat64, SveFloat64Ty, 2, 64, true, true, false) |
| 113 | +SVE_VECTOR_TYPE_FLOAT("__SVFloat16_t", "__SVFloat16_t", SveFloat16, SveFloat16Ty, 8, 16, 1) |
| 114 | +SVE_VECTOR_TYPE_FLOAT("__SVFloat32_t", "__SVFloat32_t", SveFloat32, SveFloat32Ty, 4, 32, 1) |
| 115 | +SVE_VECTOR_TYPE_FLOAT("__SVFloat64_t", "__SVFloat64_t", SveFloat64, SveFloat64Ty, 2, 64, 1) |
73 | 116 |
|
74 |
| -SVE_VECTOR_TYPE("__SVBfloat16_t", "__SVBfloat16_t", SveBFloat16, SveBFloat16Ty, 8, 16, true, false, true) |
| 117 | +SVE_VECTOR_TYPE_BFLOAT("__SVBfloat16_t", "__SVBfloat16_t", SveBFloat16, SveBFloat16Ty, 8, 16, 1) |
75 | 118 |
|
76 | 119 | //
|
77 | 120 | // x2
|
78 | 121 | //
|
79 |
| -SVE_VECTOR_TYPE("__clang_svint8x2_t", "svint8x2_t", SveInt8x2, SveInt8x2Ty, 32, 8, true, false, false) |
80 |
| -SVE_VECTOR_TYPE("__clang_svint16x2_t", "svint16x2_t", SveInt16x2, SveInt16x2Ty, 16, 16, true, false, false) |
81 |
| -SVE_VECTOR_TYPE("__clang_svint32x2_t", "svint32x2_t", SveInt32x2, SveInt32x2Ty, 8, 32, true, false, false) |
82 |
| -SVE_VECTOR_TYPE("__clang_svint64x2_t", "svint64x2_t", SveInt64x2, SveInt64x2Ty, 4, 64, true, false, false) |
83 | 122 |
|
84 |
| -SVE_VECTOR_TYPE("__clang_svuint8x2_t", "svuint8x2_t", SveUint8x2, SveUint8x2Ty, 32, 8, false, false, false) |
85 |
| -SVE_VECTOR_TYPE("__clang_svuint16x2_t", "svuint16x2_t", SveUint16x2, SveUint16x2Ty, 16, 16, false, false, false) |
86 |
| -SVE_VECTOR_TYPE("__clang_svuint32x2_t", "svuint32x2_t", SveUint32x2, SveUint32x2Ty, 8, 32, false, false, false) |
87 |
| -SVE_VECTOR_TYPE("__clang_svuint64x2_t", "svuint64x2_t", SveUint64x2, SveUint64x2Ty, 4, 64, false, false, false) |
| 123 | +SVE_VECTOR_TYPE_INT("__clang_svint8x2_t", "svint8x2_t", SveInt8x2, SveInt8x2Ty, 16, 8, 2, true) |
| 124 | +SVE_VECTOR_TYPE_INT("__clang_svint16x2_t", "svint16x2_t", SveInt16x2, SveInt16x2Ty, 8, 16, 2, true) |
| 125 | +SVE_VECTOR_TYPE_INT("__clang_svint32x2_t", "svint32x2_t", SveInt32x2, SveInt32x2Ty, 4, 32, 2, true) |
| 126 | +SVE_VECTOR_TYPE_INT("__clang_svint64x2_t", "svint64x2_t", SveInt64x2, SveInt64x2Ty, 2, 64, 2, true) |
88 | 127 |
|
89 |
| -SVE_VECTOR_TYPE("__clang_svfloat16x2_t", "svfloat16x2_t", SveFloat16x2, SveFloat16x2Ty, 16, 16, true, true, false) |
90 |
| -SVE_VECTOR_TYPE("__clang_svfloat32x2_t", "svfloat32x2_t", SveFloat32x2, SveFloat32x2Ty, 8, 32, true, true, false) |
91 |
| -SVE_VECTOR_TYPE("__clang_svfloat64x2_t", "svfloat64x2_t", SveFloat64x2, SveFloat64x2Ty, 4, 64, true, true, false) |
| 128 | +SVE_VECTOR_TYPE_INT("__clang_svuint8x2_t", "svuint8x2_t", SveUint8x2, SveUint8x2Ty, 16 , 8, 2, false) |
| 129 | +SVE_VECTOR_TYPE_INT("__clang_svuint16x2_t", "svuint16x2_t", SveUint16x2, SveUint16x2Ty, 8, 16, 2, false) |
| 130 | +SVE_VECTOR_TYPE_INT("__clang_svuint32x2_t", "svuint32x2_t", SveUint32x2, SveUint32x2Ty, 4, 32, 2, false) |
| 131 | +SVE_VECTOR_TYPE_INT("__clang_svuint64x2_t", "svuint64x2_t", SveUint64x2, SveUint64x2Ty, 2, 64, 2, false) |
| 132 | + |
| 133 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat16x2_t", "svfloat16x2_t", SveFloat16x2, SveFloat16x2Ty, 8, 16, 2) |
| 134 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat32x2_t", "svfloat32x2_t", SveFloat32x2, SveFloat32x2Ty, 4, 32, 2) |
| 135 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat64x2_t", "svfloat64x2_t", SveFloat64x2, SveFloat64x2Ty, 2, 64, 2) |
| 136 | + |
| 137 | +SVE_VECTOR_TYPE_BFLOAT("__clang_svbfloat16x2_t", "svbfloat16x2_t", SveBFloat16x2, SveBFloat16x2Ty, 8, 16, 2) |
92 | 138 |
|
93 |
| -SVE_VECTOR_TYPE("__clang_svbfloat16x2_t", "svbfloat16x2_t", SveBFloat16x2, SveBFloat16x2Ty, 16, 16, true, false, true) |
94 | 139 | //
|
95 | 140 | // x3
|
96 | 141 | //
|
97 |
| -SVE_VECTOR_TYPE("__clang_svint8x3_t", "svint8x3_t", SveInt8x3, SveInt8x3Ty, 48, 8, true, false, false) |
98 |
| -SVE_VECTOR_TYPE("__clang_svint16x3_t", "svint16x3_t", SveInt16x3, SveInt16x3Ty, 24, 16, true, false, false) |
99 |
| -SVE_VECTOR_TYPE("__clang_svint32x3_t", "svint32x3_t", SveInt32x3, SveInt32x3Ty, 12, 32, true, false, false) |
100 |
| -SVE_VECTOR_TYPE("__clang_svint64x3_t", "svint64x3_t", SveInt64x3, SveInt64x3Ty, 6, 64, true, false, false) |
101 | 142 |
|
102 |
| -SVE_VECTOR_TYPE("__clang_svuint8x3_t", "svuint8x3_t", SveUint8x3, SveUint8x3Ty, 48, 8, false, false, false) |
103 |
| -SVE_VECTOR_TYPE("__clang_svuint16x3_t", "svuint16x3_t", SveUint16x3, SveUint16x3Ty, 24, 16, false, false, false) |
104 |
| -SVE_VECTOR_TYPE("__clang_svuint32x3_t", "svuint32x3_t", SveUint32x3, SveUint32x3Ty, 12, 32, false, false, false) |
105 |
| -SVE_VECTOR_TYPE("__clang_svuint64x3_t", "svuint64x3_t", SveUint64x3, SveUint64x3Ty, 6, 64, false, false, false) |
| 143 | +SVE_VECTOR_TYPE_INT("__clang_svint8x3_t", "svint8x3_t", SveInt8x3, SveInt8x3Ty, 16, 8, 3, true) |
| 144 | +SVE_VECTOR_TYPE_INT("__clang_svint16x3_t", "svint16x3_t", SveInt16x3, SveInt16x3Ty, 8, 16, 3, true) |
| 145 | +SVE_VECTOR_TYPE_INT("__clang_svint32x3_t", "svint32x3_t", SveInt32x3, SveInt32x3Ty, 4, 32, 3, true) |
| 146 | +SVE_VECTOR_TYPE_INT("__clang_svint64x3_t", "svint64x3_t", SveInt64x3, SveInt64x3Ty, 2, 64, 3, true) |
| 147 | + |
| 148 | +SVE_VECTOR_TYPE_INT("__clang_svuint8x3_t", "svuint8x3_t", SveUint8x3, SveUint8x3Ty, 16, 8, 3, false) |
| 149 | +SVE_VECTOR_TYPE_INT("__clang_svuint16x3_t", "svuint16x3_t", SveUint16x3, SveUint16x3Ty, 8, 16, 3, false) |
| 150 | +SVE_VECTOR_TYPE_INT("__clang_svuint32x3_t", "svuint32x3_t", SveUint32x3, SveUint32x3Ty, 4, 32, 3, false) |
| 151 | +SVE_VECTOR_TYPE_INT("__clang_svuint64x3_t", "svuint64x3_t", SveUint64x3, SveUint64x3Ty, 2, 64, 3, false) |
106 | 152 |
|
107 |
| -SVE_VECTOR_TYPE("__clang_svfloat16x3_t", "svfloat16x3_t", SveFloat16x3, SveFloat16x3Ty, 24, 16, true, true, false) |
108 |
| -SVE_VECTOR_TYPE("__clang_svfloat32x3_t", "svfloat32x3_t", SveFloat32x3, SveFloat32x3Ty, 12, 32, true, true, false) |
109 |
| -SVE_VECTOR_TYPE("__clang_svfloat64x3_t", "svfloat64x3_t", SveFloat64x3, SveFloat64x3Ty, 6, 64, true, true, false) |
| 153 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat16x3_t", "svfloat16x3_t", SveFloat16x3, SveFloat16x3Ty, 8, 16, 3) |
| 154 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat32x3_t", "svfloat32x3_t", SveFloat32x3, SveFloat32x3Ty, 4, 32, 3) |
| 155 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat64x3_t", "svfloat64x3_t", SveFloat64x3, SveFloat64x3Ty, 2, 64, 3) |
| 156 | + |
| 157 | +SVE_VECTOR_TYPE_BFLOAT("__clang_svbfloat16x3_t", "svbfloat16x3_t", SveBFloat16x3, SveBFloat16x3Ty, 8, 16, 3) |
110 | 158 |
|
111 |
| -SVE_VECTOR_TYPE("__clang_svbfloat16x3_t", "svbfloat16x3_t", SveBFloat16x3, SveBFloat16x3Ty, 24, 16, true, false, true) |
112 | 159 | //
|
113 | 160 | // x4
|
114 | 161 | //
|
115 |
| -SVE_VECTOR_TYPE("__clang_svint8x4_t", "svint8x4_t", SveInt8x4, SveInt8x4Ty, 64, 8, true, false, false) |
116 |
| -SVE_VECTOR_TYPE("__clang_svint16x4_t", "svint16x4_t", SveInt16x4, SveInt16x4Ty, 32, 16, true, false, false) |
117 |
| -SVE_VECTOR_TYPE("__clang_svint32x4_t", "svint32x4_t", SveInt32x4, SveInt32x4Ty, 16, 32, true, false, false) |
118 |
| -SVE_VECTOR_TYPE("__clang_svint64x4_t", "svint64x4_t", SveInt64x4, SveInt64x4Ty, 8, 64, true, false, false) |
119 | 162 |
|
120 |
| -SVE_VECTOR_TYPE("__clang_svuint8x4_t", "svuint8x4_t", SveUint8x4, SveUint8x4Ty, 64, 8, false, false, false) |
121 |
| -SVE_VECTOR_TYPE("__clang_svuint16x4_t", "svuint16x4_t", SveUint16x4, SveUint16x4Ty, 32, 16, false, false, false) |
122 |
| -SVE_VECTOR_TYPE("__clang_svuint32x4_t", "svuint32x4_t", SveUint32x4, SveUint32x4Ty, 16, 32, false, false, false) |
123 |
| -SVE_VECTOR_TYPE("__clang_svuint64x4_t", "svuint64x4_t", SveUint64x4, SveUint64x4Ty, 8, 64, false, false, false) |
| 163 | +SVE_VECTOR_TYPE_INT("__clang_svint8x4_t", "svint8x4_t", SveInt8x4, SveInt8x4Ty, 16, 8, 4, true) |
| 164 | +SVE_VECTOR_TYPE_INT("__clang_svint16x4_t", "svint16x4_t", SveInt16x4, SveInt16x4Ty, 8, 16, 4, true) |
| 165 | +SVE_VECTOR_TYPE_INT("__clang_svint32x4_t", "svint32x4_t", SveInt32x4, SveInt32x4Ty, 4, 32, 4, true) |
| 166 | +SVE_VECTOR_TYPE_INT("__clang_svint64x4_t", "svint64x4_t", SveInt64x4, SveInt64x4Ty, 2, 64, 4, true) |
| 167 | + |
| 168 | +SVE_VECTOR_TYPE_INT("__clang_svuint8x4_t", "svuint8x4_t", SveUint8x4, SveUint8x4Ty, 16, 8, 4, false) |
| 169 | +SVE_VECTOR_TYPE_INT("__clang_svuint16x4_t", "svuint16x4_t", SveUint16x4, SveUint16x4Ty, 8, 16, 4, false) |
| 170 | +SVE_VECTOR_TYPE_INT("__clang_svuint32x4_t", "svuint32x4_t", SveUint32x4, SveUint32x4Ty, 4, 32, 4, false) |
| 171 | +SVE_VECTOR_TYPE_INT("__clang_svuint64x4_t", "svuint64x4_t", SveUint64x4, SveUint64x4Ty, 2, 64, 4, false) |
124 | 172 |
|
125 |
| -SVE_VECTOR_TYPE("__clang_svfloat16x4_t", "svfloat16x4_t", SveFloat16x4, SveFloat16x4Ty, 32, 16, true, true, false) |
126 |
| -SVE_VECTOR_TYPE("__clang_svfloat32x4_t", "svfloat32x4_t", SveFloat32x4, SveFloat32x4Ty, 16, 32, true, true, false) |
127 |
| -SVE_VECTOR_TYPE("__clang_svfloat64x4_t", "svfloat64x4_t", SveFloat64x4, SveFloat64x4Ty, 8, 64, true, true, false) |
| 173 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat16x4_t", "svfloat16x4_t", SveFloat16x4, SveFloat16x4Ty, 8, 16, 4) |
| 174 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat32x4_t", "svfloat32x4_t", SveFloat32x4, SveFloat32x4Ty, 4, 32, 4) |
| 175 | +SVE_VECTOR_TYPE_FLOAT("__clang_svfloat64x4_t", "svfloat64x4_t", SveFloat64x4, SveFloat64x4Ty, 2, 64, 4) |
128 | 176 |
|
129 |
| -SVE_VECTOR_TYPE("__clang_svbfloat16x4_t", "svbfloat16x4_t", SveBFloat16x4, SveBFloat16x4Ty, 32, 16, true, false, true) |
| 177 | +SVE_VECTOR_TYPE_BFLOAT("__clang_svbfloat16x4_t", "svbfloat16x4_t", SveBFloat16x4, SveBFloat16x4Ty, 8, 16, 4) |
130 | 178 |
|
131 |
| -SVE_PREDICATE_TYPE("__SVBool_t", "__SVBool_t", SveBool, SveBoolTy, 16) |
132 |
| -SVE_PREDICATE_TYPE("__clang_svboolx2_t", "svboolx2_t", SveBoolx2, SveBoolx2Ty, 32) |
133 |
| -SVE_PREDICATE_TYPE("__clang_svboolx4_t", "svboolx4_t", SveBoolx4, SveBoolx4Ty, 64) |
| 179 | +SVE_PREDICATE_TYPE_ALL("__SVBool_t", "__SVBool_t", SveBool, SveBoolTy, 16, 1) |
| 180 | +SVE_PREDICATE_TYPE_ALL("__clang_svboolx2_t", "svboolx2_t", SveBoolx2, SveBoolx2Ty, 16, 2) |
| 181 | +SVE_PREDICATE_TYPE_ALL("__clang_svboolx4_t", "svboolx4_t", SveBoolx4, SveBoolx4Ty, 16, 4) |
134 | 182 |
|
135 | 183 | SVE_OPAQUE_TYPE("__SVCount_t", "__SVCount_t", SveCount, SveCountTy)
|
136 | 184 |
|
137 | 185 | #undef SVE_VECTOR_TYPE
|
| 186 | +#undef SVE_VECTOR_TYPE_BFLOAT |
| 187 | +#undef SVE_VECTOR_TYPE_FLOAT |
| 188 | +#undef SVE_VECTOR_TYPE_INT |
138 | 189 | #undef SVE_PREDICATE_TYPE
|
| 190 | +#undef SVE_PREDICATE_TYPE_ALL |
139 | 191 | #undef SVE_OPAQUE_TYPE
|
140 | 192 | #undef SVE_TYPE
|
0 commit comments