@@ -126,3 +126,46 @@ body: |
126126 %1:vregbank(<64 x s8>) = G_IMPLICIT_DEF
127127 %2:vregbank(<128 x s8>) = G_CONCAT_VECTORS %0(<64 x s8>), %1(<64 x s8>)
128128 PseudoRET implicit $lr, implicit %2
129+ ...
130+
131+ ---
132+ name : vconcat_1024_8x64_acc
133+ legalized : true
134+ regBankSelected : true
135+ tracksRegLiveness : true
136+ stack :
137+ - { id: 0, name: "", size: 128, alignment: 32 }
138+ body : |
139+ bb.0.entry:
140+
141+ ; CHECK-LABEL: name: vconcat_1024_8x64_acc
142+ ; CHECK: [[DEF:%[0-9]+]]:acc256 = IMPLICIT_DEF
143+ ; CHECK-NEXT: [[DEF1:%[0-9]+]]:acc256 = IMPLICIT_DEF
144+ ; CHECK-NEXT: [[REG_SEQUENCE:%[0-9]+]]:acc512 = REG_SEQUENCE [[DEF]], %subreg.sub_256_lo, [[DEF1]], %subreg.sub_256_hi
145+ ; CHECK-NEXT: PseudoRET implicit $lr, implicit [[REG_SEQUENCE]]
146+ %0:accregbank(<4 x s64>) = G_IMPLICIT_DEF
147+ %1:accregbank(<4 x s64>) = G_IMPLICIT_DEF
148+ %2:accregbank(<8 x s64>) = G_CONCAT_VECTORS %0(<4 x s64>), %1(<4 x s64>)
149+ PseudoRET implicit $lr, implicit %2
150+ ...
151+
152+ ---
153+ name : vconcat_1024_16x64_acc
154+ legalized : true
155+ regBankSelected : true
156+ tracksRegLiveness : true
157+ stack :
158+ - { id: 0, name: "", size: 128, alignment: 32 }
159+ body : |
160+ bb.0.entry:
161+
162+ ; CHECK-LABEL: name: vconcat_1024_16x64_acc
163+ ; CHECK: [[DEF:%[0-9]+]]:ebml = IMPLICIT_DEF
164+ ; CHECK-NEXT: [[DEF1:%[0-9]+]]:ebmh = IMPLICIT_DEF
165+ ; CHECK-NEXT: [[REG_SEQUENCE:%[0-9]+]]:acc1024 = REG_SEQUENCE [[DEF]], %subreg.sub_512_lo, [[DEF1]], %subreg.sub_512_hi
166+ ; CHECK-NEXT: PseudoRET implicit $lr, implicit [[REG_SEQUENCE]]
167+ %0:accregbank(<8 x s64>) = G_IMPLICIT_DEF
168+ %1:accregbank(<8 x s64>) = G_IMPLICIT_DEF
169+ %2:accregbank(<16 x s64>) = G_CONCAT_VECTORS %0(<8 x s64>), %1(<8 x s64>)
170+ PseudoRET implicit $lr, implicit %2
171+ ...
0 commit comments