Skip to content

Commit 1d1c1f8

Browse files
committed
[VE] Add new MVT types for NEC SX Aurora VE vector
This patch adds entries for: v64i64 v128i64 v256i64 v64f64 v128f64 v256f64 Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D88776
1 parent fbb499e commit 1d1c1f8

File tree

4 files changed

+261
-207
lines changed

4 files changed

+261
-207
lines changed

llvm/include/llvm/CodeGen/ValueTypes.td

Lines changed: 107 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -87,107 +87,113 @@ def v4i64 : ValueType<256, 60>; // 4 x i64 vector value
8787
def v8i64 : ValueType<512, 61>; // 8 x i64 vector value
8888
def v16i64 : ValueType<1024,62>; // 16 x i64 vector value
8989
def v32i64 : ValueType<2048,63>; // 32 x i64 vector value
90-
91-
def v1i128 : ValueType<128, 64>; // 1 x i128 vector value
92-
93-
def v2f16 : ValueType<32 , 65>; // 2 x f16 vector value
94-
def v3f16 : ValueType<48 , 66>; // 3 x f16 vector value
95-
def v4f16 : ValueType<64 , 67>; // 4 x f16 vector value
96-
def v8f16 : ValueType<128, 68>; // 8 x f16 vector value
97-
def v16f16 : ValueType<256, 69>; // 16 x f16 vector value
98-
def v32f16 : ValueType<512, 70>; // 32 x f16 vector value
99-
def v64f16 : ValueType<1024, 71>; // 64 x f16 vector value
100-
def v128f16 : ValueType<2048, 72>; // 128 x f16 vector value
101-
def v2bf16 : ValueType<32 , 73>; // 2 x bf16 vector value
102-
def v3bf16 : ValueType<48 , 74>; // 3 x bf16 vector value
103-
def v4bf16 : ValueType<64 , 75>; // 4 x bf16 vector value
104-
def v8bf16 : ValueType<128, 76>; // 8 x bf16 vector value
105-
def v16bf16 : ValueType<256, 77>; // 16 x bf16 vector value
106-
def v32bf16 : ValueType<512, 78>; // 32 x bf16 vector value
107-
def v64bf16 : ValueType<1024, 79>; // 64 x bf16 vector value
108-
def v128bf16 : ValueType<2048, 80>; // 128 x bf16 vector value
109-
def v1f32 : ValueType<32 , 81>; // 1 x f32 vector value
110-
def v2f32 : ValueType<64 , 82>; // 2 x f32 vector value
111-
def v3f32 : ValueType<96 , 83>; // 3 x f32 vector value
112-
def v4f32 : ValueType<128, 84>; // 4 x f32 vector value
113-
def v5f32 : ValueType<160, 85>; // 5 x f32 vector value
114-
def v8f32 : ValueType<256, 86>; // 8 x f32 vector value
115-
def v16f32 : ValueType<512, 87>; // 16 x f32 vector value
116-
def v32f32 : ValueType<1024, 88>; // 32 x f32 vector value
117-
def v64f32 : ValueType<2048, 89>; // 64 x f32 vector value
118-
def v128f32 : ValueType<4096, 90>; // 128 x f32 vector value
119-
def v256f32 : ValueType<8182, 91>; // 256 x f32 vector value
120-
def v512f32 : ValueType<16384, 92>; // 512 x f32 vector value
121-
def v1024f32 : ValueType<32768, 93>; // 1024 x f32 vector value
122-
def v2048f32 : ValueType<65536, 94>; // 2048 x f32 vector value
123-
def v1f64 : ValueType<64, 95>; // 1 x f64 vector value
124-
def v2f64 : ValueType<128, 96>; // 2 x f64 vector value
125-
def v4f64 : ValueType<256, 97>; // 4 x f64 vector value
126-
def v8f64 : ValueType<512, 98>; // 8 x f64 vector value
127-
def v16f64 : ValueType<1024, 99>; // 16 x f64 vector value
128-
def v32f64 : ValueType<2048, 100>; // 32 x f64 vector value
129-
130-
def nxv1i1 : ValueType<1, 101>; // n x 1 x i1 vector value
131-
def nxv2i1 : ValueType<2, 102>; // n x 2 x i1 vector value
132-
def nxv4i1 : ValueType<4, 103>; // n x 4 x i1 vector value
133-
def nxv8i1 : ValueType<8, 104>; // n x 8 x i1 vector value
134-
def nxv16i1 : ValueType<16, 105>; // n x 16 x i1 vector value
135-
def nxv32i1 : ValueType<32, 106>; // n x 32 x i1 vector value
136-
def nxv64i1 : ValueType<64,107>; // n x 64 x i1 vector value
137-
138-
def nxv1i8 : ValueType<8, 108>; // n x 1 x i8 vector value
139-
def nxv2i8 : ValueType<16, 109>; // n x 2 x i8 vector value
140-
def nxv4i8 : ValueType<32, 110>; // n x 4 x i8 vector value
141-
def nxv8i8 : ValueType<64, 111>; // n x 8 x i8 vector value
142-
def nxv16i8 : ValueType<128, 112>; // n x 16 x i8 vector value
143-
def nxv32i8 : ValueType<256, 113>; // n x 32 x i8 vector value
144-
def nxv64i8 : ValueType<512, 114>; // n x 64 x i8 vector value
145-
146-
def nxv1i16 : ValueType<16, 115>; // n x 1 x i16 vector value
147-
def nxv2i16 : ValueType<32, 116>; // n x 2 x i16 vector value
148-
def nxv4i16 : ValueType<64, 117>; // n x 4 x i16 vector value
149-
def nxv8i16 : ValueType<128, 118>; // n x 8 x i16 vector value
150-
def nxv16i16: ValueType<256, 119>; // n x 16 x i16 vector value
151-
def nxv32i16: ValueType<512, 120>; // n x 32 x i16 vector value
152-
153-
def nxv1i32 : ValueType<32, 121>; // n x 1 x i32 vector value
154-
def nxv2i32 : ValueType<64, 122>; // n x 2 x i32 vector value
155-
def nxv4i32 : ValueType<128, 123>; // n x 4 x i32 vector value
156-
def nxv8i32 : ValueType<256, 124>; // n x 8 x i32 vector value
157-
def nxv16i32: ValueType<512, 125>; // n x 16 x i32 vector value
158-
def nxv32i32: ValueType<1024,126>; // n x 32 x i32 vector value
159-
160-
def nxv1i64 : ValueType<64, 127>; // n x 1 x i64 vector value
161-
def nxv2i64 : ValueType<128, 128>; // n x 2 x i64 vector value
162-
def nxv4i64 : ValueType<256, 129>; // n x 4 x i64 vector value
163-
def nxv8i64 : ValueType<512, 130>; // n x 8 x i64 vector value
164-
def nxv16i64: ValueType<1024,131>; // n x 16 x i64 vector value
165-
def nxv32i64: ValueType<2048,132>; // n x 32 x i64 vector value
166-
167-
def nxv1f16 : ValueType<32, 133>; // n x 1 x f16 vector value
168-
def nxv2f16 : ValueType<32 , 134>; // n x 2 x f16 vector value
169-
def nxv4f16 : ValueType<64 , 135>; // n x 4 x f16 vector value
170-
def nxv8f16 : ValueType<128, 136>; // n x 8 x f16 vector value
171-
def nxv16f16 : ValueType<256,137>; // n x 16 x f16 vector value
172-
def nxv32f16 : ValueType<512,138>; // n x 32 x f16 vector value
173-
def nxv2bf16 : ValueType<32 , 139>; // n x 2 x bf16 vector value
174-
def nxv4bf16 : ValueType<64 , 140>; // n x 4 x bf16 vector value
175-
def nxv8bf16 : ValueType<128, 141>; // n x 8 x bf16 vector value
176-
def nxv1f32 : ValueType<32 , 142>; // n x 1 x f32 vector value
177-
def nxv2f32 : ValueType<64 , 143>; // n x 2 x f32 vector value
178-
def nxv4f32 : ValueType<128, 144>; // n x 4 x f32 vector value
179-
def nxv8f32 : ValueType<256, 145>; // n x 8 x f32 vector value
180-
def nxv16f32 : ValueType<512, 146>; // n x 16 x f32 vector value
181-
def nxv1f64 : ValueType<64, 147>; // n x 1 x f64 vector value
182-
def nxv2f64 : ValueType<128, 148>; // n x 2 x f64 vector value
183-
def nxv4f64 : ValueType<256, 149>; // n x 4 x f64 vector value
184-
def nxv8f64 : ValueType<512, 150>; // n x 8 x f64 vector value
185-
186-
def x86mmx : ValueType<64 , 151>; // X86 MMX value
187-
def FlagVT : ValueType<0 , 152>; // Pre-RA sched glue
188-
def isVoid : ValueType<0 , 153>; // Produces no value
189-
def untyped: ValueType<8 , 154>; // Produces an untyped value
190-
def exnref : ValueType<0 , 155>; // WebAssembly's exnref type
90+
def v64i64 : ValueType<4096,64>; // 64 x i64 vector value
91+
def v128i64: ValueType<8192,65>; // 128 x i64 vector value
92+
def v256i64: ValueType<16384,66>; // 256 x i64 vector value
93+
94+
def v1i128 : ValueType<128, 67>; // 1 x i128 vector value
95+
96+
def v2f16 : ValueType<32 , 68>; // 2 x f16 vector value
97+
def v3f16 : ValueType<48 , 69>; // 3 x f16 vector value
98+
def v4f16 : ValueType<64 , 70>; // 4 x f16 vector value
99+
def v8f16 : ValueType<128, 71>; // 8 x f16 vector value
100+
def v16f16 : ValueType<256, 72>; // 16 x f16 vector value
101+
def v32f16 : ValueType<512, 73>; // 32 x f16 vector value
102+
def v64f16 : ValueType<1024, 74>; // 64 x f16 vector value
103+
def v128f16 : ValueType<2048, 75>; // 128 x f16 vector value
104+
def v2bf16 : ValueType<32 , 76>; // 2 x bf16 vector value
105+
def v3bf16 : ValueType<48 , 77>; // 3 x bf16 vector value
106+
def v4bf16 : ValueType<64 , 78>; // 4 x bf16 vector value
107+
def v8bf16 : ValueType<128, 79>; // 8 x bf16 vector value
108+
def v16bf16 : ValueType<256, 80>; // 16 x bf16 vector value
109+
def v32bf16 : ValueType<512, 81>; // 32 x bf16 vector value
110+
def v64bf16 : ValueType<1024, 82>; // 64 x bf16 vector value
111+
def v128bf16 : ValueType<2048, 83>; // 128 x bf16 vector value
112+
def v1f32 : ValueType<32 , 84>; // 1 x f32 vector value
113+
def v2f32 : ValueType<64 , 85>; // 2 x f32 vector value
114+
def v3f32 : ValueType<96 , 86>; // 3 x f32 vector value
115+
def v4f32 : ValueType<128, 87>; // 4 x f32 vector value
116+
def v5f32 : ValueType<160, 88>; // 5 x f32 vector value
117+
def v8f32 : ValueType<256, 89>; // 8 x f32 vector value
118+
def v16f32 : ValueType<512, 90>; // 16 x f32 vector value
119+
def v32f32 : ValueType<1024, 91>; // 32 x f32 vector value
120+
def v64f32 : ValueType<2048, 92>; // 64 x f32 vector value
121+
def v128f32 : ValueType<4096, 93>; // 128 x f32 vector value
122+
def v256f32 : ValueType<8182, 94>; // 256 x f32 vector value
123+
def v512f32 : ValueType<16384, 95>; // 512 x f32 vector value
124+
def v1024f32 : ValueType<32768, 96>; // 1024 x f32 vector value
125+
def v2048f32 : ValueType<65536, 97>; // 2048 x f32 vector value
126+
def v1f64 : ValueType<64, 98>; // 1 x f64 vector value
127+
def v2f64 : ValueType<128, 99>; // 2 x f64 vector value
128+
def v4f64 : ValueType<256, 100>; // 4 x f64 vector value
129+
def v8f64 : ValueType<512, 101>; // 8 x f64 vector value
130+
def v16f64 : ValueType<1024, 102>; // 16 x f64 vector value
131+
def v32f64 : ValueType<2048, 103>; // 32 x f64 vector value
132+
def v64f64 : ValueType<4096, 104>; // 64 x f64 vector value
133+
def v128f64 : ValueType<8192, 105>; // 128 x f64 vector value
134+
def v256f64 : ValueType<16384, 106>; // 256 x f64 vector value
135+
136+
def nxv1i1 : ValueType<1, 107>; // n x 1 x i1 vector value
137+
def nxv2i1 : ValueType<2, 108>; // n x 2 x i1 vector value
138+
def nxv4i1 : ValueType<4, 109>; // n x 4 x i1 vector value
139+
def nxv8i1 : ValueType<8, 110>; // n x 8 x i1 vector value
140+
def nxv16i1 : ValueType<16, 111>; // n x 16 x i1 vector value
141+
def nxv32i1 : ValueType<32, 112>; // n x 32 x i1 vector value
142+
def nxv64i1 : ValueType<64,113>; // n x 64 x i1 vector value
143+
144+
def nxv1i8 : ValueType<8, 114>; // n x 1 x i8 vector value
145+
def nxv2i8 : ValueType<16, 115>; // n x 2 x i8 vector value
146+
def nxv4i8 : ValueType<32, 116>; // n x 4 x i8 vector value
147+
def nxv8i8 : ValueType<64, 117>; // n x 8 x i8 vector value
148+
def nxv16i8 : ValueType<128, 118>; // n x 16 x i8 vector value
149+
def nxv32i8 : ValueType<256, 119>; // n x 32 x i8 vector value
150+
def nxv64i8 : ValueType<512, 120>; // n x 64 x i8 vector value
151+
152+
def nxv1i16 : ValueType<16, 121>; // n x 1 x i16 vector value
153+
def nxv2i16 : ValueType<32, 122>; // n x 2 x i16 vector value
154+
def nxv4i16 : ValueType<64, 123>; // n x 4 x i16 vector value
155+
def nxv8i16 : ValueType<128, 124>; // n x 8 x i16 vector value
156+
def nxv16i16: ValueType<256, 125>; // n x 16 x i16 vector value
157+
def nxv32i16: ValueType<512, 126>; // n x 32 x i16 vector value
158+
159+
def nxv1i32 : ValueType<32, 127>; // n x 1 x i32 vector value
160+
def nxv2i32 : ValueType<64, 128>; // n x 2 x i32 vector value
161+
def nxv4i32 : ValueType<128, 129>; // n x 4 x i32 vector value
162+
def nxv8i32 : ValueType<256, 130>; // n x 8 x i32 vector value
163+
def nxv16i32: ValueType<512, 131>; // n x 16 x i32 vector value
164+
def nxv32i32: ValueType<1024,132>; // n x 32 x i32 vector value
165+
166+
def nxv1i64 : ValueType<64, 133>; // n x 1 x i64 vector value
167+
def nxv2i64 : ValueType<128, 134>; // n x 2 x i64 vector value
168+
def nxv4i64 : ValueType<256, 135>; // n x 4 x i64 vector value
169+
def nxv8i64 : ValueType<512, 136>; // n x 8 x i64 vector value
170+
def nxv16i64: ValueType<1024,137>; // n x 16 x i64 vector value
171+
def nxv32i64: ValueType<2048,138>; // n x 32 x i64 vector value
172+
173+
def nxv1f16 : ValueType<32, 139>; // n x 1 x f16 vector value
174+
def nxv2f16 : ValueType<32 , 140>; // n x 2 x f16 vector value
175+
def nxv4f16 : ValueType<64 , 141>; // n x 4 x f16 vector value
176+
def nxv8f16 : ValueType<128, 142>; // n x 8 x f16 vector value
177+
def nxv16f16 : ValueType<256,143>; // n x 16 x f16 vector value
178+
def nxv32f16 : ValueType<512,144>; // n x 32 x f16 vector value
179+
def nxv2bf16 : ValueType<32 , 145>; // n x 2 x bf16 vector value
180+
def nxv4bf16 : ValueType<64 , 146>; // n x 4 x bf16 vector value
181+
def nxv8bf16 : ValueType<128, 147>; // n x 8 x bf16 vector value
182+
def nxv1f32 : ValueType<32 , 148>; // n x 1 x f32 vector value
183+
def nxv2f32 : ValueType<64 , 149>; // n x 2 x f32 vector value
184+
def nxv4f32 : ValueType<128, 150>; // n x 4 x f32 vector value
185+
def nxv8f32 : ValueType<256, 151>; // n x 8 x f32 vector value
186+
def nxv16f32 : ValueType<512, 152>; // n x 16 x f32 vector value
187+
def nxv1f64 : ValueType<64, 153>; // n x 1 x f64 vector value
188+
def nxv2f64 : ValueType<128, 154>; // n x 2 x f64 vector value
189+
def nxv4f64 : ValueType<256, 155>; // n x 4 x f64 vector value
190+
def nxv8f64 : ValueType<512, 156>; // n x 8 x f64 vector value
191+
192+
def x86mmx : ValueType<64 , 157>; // X86 MMX value
193+
def FlagVT : ValueType<0 , 158>; // Pre-RA sched glue
194+
def isVoid : ValueType<0 , 159>; // Produces no value
195+
def untyped: ValueType<8 , 160>; // Produces an untyped value
196+
def exnref : ValueType<0 , 161>; // WebAssembly's exnref type
191197

192198
def token : ValueType<0 , 248>; // TokenTy
193199
def MetadataVT: ValueType<0, 249>; // Metadata

0 commit comments

Comments
 (0)