@@ -127,3 +127,88 @@ body: |
127
127
%2:_(<4 x s64>) = G_CONCAT_VECTORS %0, %1
128
128
$vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %2
129
129
...
130
+
131
+ ---
132
+ name : concat_vectors_v2p1_v2p1
133
+
134
+ body : |
135
+ bb.0:
136
+ liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4_vgpr5_vgpr6_vgpr7
137
+ ; CHECK-LABEL: name: concat_vectors_v2p1_v2p1
138
+ ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p1>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
139
+ ; CHECK: [[COPY1:%[0-9]+]]:_(<2 x p1>) = COPY $vgpr4_vgpr5_vgpr6_vgpr7
140
+ ; CHECK: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x p1>) = G_CONCAT_VECTORS [[COPY]](<2 x p1>), [[COPY1]](<2 x p1>)
141
+ ; CHECK: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[CONCAT_VECTORS]](<4 x p1>)
142
+ %0:_(<2 x p1>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
143
+ %1:_(<2 x p1>) = COPY $vgpr4_vgpr5_vgpr6_vgpr7
144
+ %2:_(<4 x p1>) = G_CONCAT_VECTORS %0, %1
145
+ $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %2
146
+ ...
147
+
148
+ ---
149
+ name : concat_vectors_v2p0_v2p0
150
+
151
+ body : |
152
+ bb.0:
153
+ liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4_vgpr5_vgpr6_vgpr7
154
+ ; CHECK-LABEL: name: concat_vectors_v2p0_v2p0
155
+ ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p0>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
156
+ ; CHECK: [[COPY1:%[0-9]+]]:_(<2 x p0>) = COPY $vgpr4_vgpr5_vgpr6_vgpr7
157
+ ; CHECK: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x p0>) = G_CONCAT_VECTORS [[COPY]](<2 x p0>), [[COPY1]](<2 x p0>)
158
+ ; CHECK: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[CONCAT_VECTORS]](<4 x p0>)
159
+ %0:_(<2 x p0>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
160
+ %1:_(<2 x p0>) = COPY $vgpr4_vgpr5_vgpr6_vgpr7
161
+ %2:_(<4 x p0>) = G_CONCAT_VECTORS %0, %1
162
+ $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %2
163
+ ...
164
+
165
+ ---
166
+ name : concat_vectors_v2p3_v2p3
167
+
168
+ body : |
169
+ bb.0:
170
+ liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
171
+ ; CHECK-LABEL: name: concat_vectors_v2p3_v2p3
172
+ ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p3>) = COPY $vgpr0_vgpr1
173
+ ; CHECK: [[COPY1:%[0-9]+]]:_(<2 x p3>) = COPY $vgpr2_vgpr3
174
+ ; CHECK: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x p3>) = G_CONCAT_VECTORS [[COPY]](<2 x p3>), [[COPY1]](<2 x p3>)
175
+ ; CHECK: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[CONCAT_VECTORS]](<4 x p3>)
176
+ %0:_(<2 x p3>) = COPY $vgpr0_vgpr1
177
+ %1:_(<2 x p3>) = COPY $vgpr2_vgpr3
178
+ %2:_(<4 x p3>) = G_CONCAT_VECTORS %0, %1
179
+ $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %2
180
+ ...
181
+
182
+ ---
183
+ name : concat_vectors_v2p5_v2p5
184
+
185
+ body : |
186
+ bb.0:
187
+ liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
188
+ ; CHECK-LABEL: name: concat_vectors_v2p5_v2p5
189
+ ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p5>) = COPY $vgpr0_vgpr1
190
+ ; CHECK: [[COPY1:%[0-9]+]]:_(<2 x p5>) = COPY $vgpr2_vgpr3
191
+ ; CHECK: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x p5>) = G_CONCAT_VECTORS [[COPY]](<2 x p5>), [[COPY1]](<2 x p5>)
192
+ ; CHECK: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[CONCAT_VECTORS]](<4 x p5>)
193
+ %0:_(<2 x p5>) = COPY $vgpr0_vgpr1
194
+ %1:_(<2 x p5>) = COPY $vgpr2_vgpr3
195
+ %2:_(<4 x p5>) = G_CONCAT_VECTORS %0, %1
196
+ $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %2
197
+ ...
198
+
199
+ ---
200
+ name : concat_vectors_v2p999_v2p999
201
+
202
+ body : |
203
+ bb.0:
204
+ liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4_vgpr5_vgpr6_vgpr7
205
+ ; CHECK-LABEL: name: concat_vectors_v2p999_v2p999
206
+ ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p999>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
207
+ ; CHECK: [[COPY1:%[0-9]+]]:_(<2 x p999>) = COPY $vgpr4_vgpr5_vgpr6_vgpr7
208
+ ; CHECK: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x p999>) = G_CONCAT_VECTORS [[COPY]](<2 x p999>), [[COPY1]](<2 x p999>)
209
+ ; CHECK: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[CONCAT_VECTORS]](<4 x p999>)
210
+ %0:_(<2 x p999>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
211
+ %1:_(<2 x p999>) = COPY $vgpr4_vgpr5_vgpr6_vgpr7
212
+ %2:_(<4 x p999>) = G_CONCAT_VECTORS %0, %1
213
+ $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %2
214
+ ...
0 commit comments