Skip to content

Commit 7e3fe88

Browse files
[LLVM] Regenerate CHECK lines for CodeGen/AArch64/sve-ptest-removal-*.mir
1 parent 3eddb99 commit 7e3fe88

12 files changed

+1545
-502
lines changed

llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.mir

Lines changed: 161 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
22
# RUN: llc -mtriple=aarch64--linux-gnu -mattr=+sve -run-pass=peephole-opt -verify-machineinstrs %s -o - | FileCheck %s
33

44
# Test instruction sequences where PTEST is redundant and thus gets removed.
@@ -23,13 +23,17 @@ body: |
2323
bb.0:
2424
liveins: $p0, $z0, $z1
2525
26-
; Here we check the expected sequence with subsequent tests
27-
; just asserting there is no PTEST instruction.
28-
;
2926
; CHECK-LABEL: name: cmpeq_nxv16i8
30-
; CHECK: %3:ppr = CMPEQ_PPzZZ_B %0, %1, %2, implicit-def $nzcv
31-
; CHECK-NEXT: %4:gpr32 = COPY $wzr
32-
; CHECK-NEXT: %5:gpr32 = CSINCWr %4, $wzr, 0, implicit $nzcv
27+
; CHECK: liveins: $p0, $z0, $z1
28+
; CHECK-NEXT: {{ $}}
29+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
30+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
31+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
32+
; CHECK-NEXT: [[CMPEQ_PPzZZ_B:%[0-9]+]]:ppr = CMPEQ_PPzZZ_B [[COPY2]], [[COPY1]], [[COPY]], implicit-def $nzcv
33+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
34+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
35+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
36+
; CHECK-NEXT: RET_ReallyLR implicit $w0
3337
%2:zpr = COPY $z1
3438
%1:zpr = COPY $z0
3539
%0:ppr_3b = COPY $p0
@@ -65,7 +69,17 @@ body: |
6569
liveins: $p0, $z0, $z1
6670
6771
; CHECK-LABEL: name: cmpeq_nxv8i16
68-
; CHECK: PTEST
72+
; CHECK: liveins: $p0, $z0, $z1
73+
; CHECK-NEXT: {{ $}}
74+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
75+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
76+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
77+
; CHECK-NEXT: [[CMPEQ_PPzZZ_H:%[0-9]+]]:ppr = CMPEQ_PPzZZ_H [[COPY2]], [[COPY1]], [[COPY]], implicit-def dead $nzcv
78+
; CHECK-NEXT: PTEST_PP [[COPY2]], [[CMPEQ_PPzZZ_H]], implicit-def $nzcv
79+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
80+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
81+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
82+
; CHECK-NEXT: RET_ReallyLR implicit $w0
6983
%2:zpr = COPY $z1
7084
%1:zpr = COPY $z0
7185
%0:ppr_3b = COPY $p0
@@ -101,7 +115,17 @@ body: |
101115
liveins: $p0, $z0, $z1
102116
103117
; CHECK-LABEL: name: cmpeq_nxv4i32
104-
; CHECK: PTEST
118+
; CHECK: liveins: $p0, $z0, $z1
119+
; CHECK-NEXT: {{ $}}
120+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
121+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
122+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
123+
; CHECK-NEXT: [[CMPEQ_PPzZZ_S:%[0-9]+]]:ppr = CMPEQ_PPzZZ_S [[COPY2]], [[COPY1]], [[COPY]], implicit-def dead $nzcv
124+
; CHECK-NEXT: PTEST_PP [[COPY2]], [[CMPEQ_PPzZZ_S]], implicit-def $nzcv
125+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
126+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
127+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
128+
; CHECK-NEXT: RET_ReallyLR implicit $w0
105129
%2:zpr = COPY $z1
106130
%1:zpr = COPY $z0
107131
%0:ppr_3b = COPY $p0
@@ -137,7 +161,17 @@ body: |
137161
liveins: $p0, $z0, $z1
138162
139163
; CHECK-LABEL: name: cmpeq_nxv2i64
140-
; CHECK: PTEST
164+
; CHECK: liveins: $p0, $z0, $z1
165+
; CHECK-NEXT: {{ $}}
166+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
167+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
168+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
169+
; CHECK-NEXT: [[CMPEQ_PPzZZ_D:%[0-9]+]]:ppr = CMPEQ_PPzZZ_D [[COPY2]], [[COPY1]], [[COPY]], implicit-def dead $nzcv
170+
; CHECK-NEXT: PTEST_PP [[COPY2]], [[CMPEQ_PPzZZ_D]], implicit-def $nzcv
171+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
172+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
173+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
174+
; CHECK-NEXT: RET_ReallyLR implicit $w0
141175
%2:zpr = COPY $z1
142176
%1:zpr = COPY $z0
143177
%0:ppr_3b = COPY $p0
@@ -170,7 +204,17 @@ body: |
170204
liveins: $p0, $z0
171205
172206
; CHECK-LABEL: name: cmpeq_imm_nxv16i8
173-
; CHECK: PTEST
207+
; CHECK: liveins: $p0, $z0
208+
; CHECK-NEXT: {{ $}}
209+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
210+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
211+
; CHECK-NEXT: [[CMPEQ_PPzZI_B:%[0-9]+]]:ppr = CMPEQ_PPzZI_B [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
212+
; CHECK-NEXT: [[PTRUE_B:%[0-9]+]]:ppr = PTRUE_B 31, implicit $vg
213+
; CHECK-NEXT: PTEST_PP killed [[PTRUE_B]], killed [[CMPEQ_PPzZI_B]], implicit-def $nzcv
214+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr
215+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY2]], $wzr, 0, implicit $nzcv
216+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
217+
; CHECK-NEXT: RET_ReallyLR implicit $w0
174218
%1:zpr = COPY $z0
175219
%0:ppr_3b = COPY $p0
176220
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -204,7 +248,16 @@ body: |
204248
liveins: $p0, $z0
205249
206250
; CHECK-LABEL: name: cmpeq_imm_nxv8i16
207-
; CHECK: PTEST
251+
; CHECK: liveins: $p0, $z0
252+
; CHECK-NEXT: {{ $}}
253+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
254+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
255+
; CHECK-NEXT: [[CMPEQ_PPzZI_H:%[0-9]+]]:ppr = CMPEQ_PPzZI_H [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
256+
; CHECK-NEXT: PTEST_PP [[COPY1]], [[CMPEQ_PPzZI_H]], implicit-def $nzcv
257+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr
258+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY2]], $wzr, 0, implicit $nzcv
259+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
260+
; CHECK-NEXT: RET_ReallyLR implicit $w0
208261
%1:zpr = COPY $z0
209262
%0:ppr_3b = COPY $p0
210263
%2:ppr = CMPEQ_PPzZI_H %0, %1, 0, implicit-def dead $nzcv
@@ -237,7 +290,16 @@ body: |
237290
liveins: $p0, $z0
238291
239292
; CHECK-LABEL: name: cmpeq_imm_nxv4i32
240-
; CHECK: PTEST
293+
; CHECK: liveins: $p0, $z0
294+
; CHECK-NEXT: {{ $}}
295+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
296+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
297+
; CHECK-NEXT: [[CMPEQ_PPzZI_S:%[0-9]+]]:ppr = CMPEQ_PPzZI_S [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
298+
; CHECK-NEXT: PTEST_PP [[COPY1]], [[CMPEQ_PPzZI_S]], implicit-def $nzcv
299+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr
300+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY2]], $wzr, 0, implicit $nzcv
301+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
302+
; CHECK-NEXT: RET_ReallyLR implicit $w0
241303
%1:zpr = COPY $z0
242304
%0:ppr_3b = COPY $p0
243305
%2:ppr = CMPEQ_PPzZI_S %0, %1, 0, implicit-def dead $nzcv
@@ -270,7 +332,16 @@ body: |
270332
liveins: $p0, $z0
271333
272334
; CHECK-LABEL: name: cmpeq_imm_nxv2i64
273-
; CHECK: PTEST
335+
; CHECK: liveins: $p0, $z0
336+
; CHECK-NEXT: {{ $}}
337+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
338+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
339+
; CHECK-NEXT: [[CMPEQ_PPzZI_D:%[0-9]+]]:ppr = CMPEQ_PPzZI_D [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
340+
; CHECK-NEXT: PTEST_PP [[COPY1]], [[CMPEQ_PPzZI_D]], implicit-def $nzcv
341+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr
342+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY2]], $wzr, 0, implicit $nzcv
343+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
344+
; CHECK-NEXT: RET_ReallyLR implicit $w0
274345
%1:zpr = COPY $z0
275346
%0:ppr_3b = COPY $p0
276347
%2:ppr = CMPEQ_PPzZI_D %0, %1, 0, implicit-def dead $nzcv
@@ -303,7 +374,16 @@ body: |
303374
liveins: $p0, $z0, $z1
304375
305376
; CHECK-LABEL: name: cmpeq_wide_nxv16i8
306-
; CHECK-NOT: PTEST
377+
; CHECK: liveins: $p0, $z0, $z1
378+
; CHECK-NEXT: {{ $}}
379+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
380+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
381+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
382+
; CHECK-NEXT: [[CMPEQ_WIDE_PPzZZ_B:%[0-9]+]]:ppr = CMPEQ_WIDE_PPzZZ_B [[COPY2]], [[COPY1]], [[COPY]], implicit-def $nzcv
383+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
384+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
385+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
386+
; CHECK-NEXT: RET_ReallyLR implicit $w0
307387
%2:zpr = COPY $z1
308388
%1:zpr = COPY $z0
309389
%0:ppr_3b = COPY $p0
@@ -339,7 +419,17 @@ body: |
339419
liveins: $p0, $z0, $z1
340420
341421
; CHECK-LABEL: name: cmpeq_wide_nxv8i16
342-
; CHECK: PTEST
422+
; CHECK: liveins: $p0, $z0, $z1
423+
; CHECK-NEXT: {{ $}}
424+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
425+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
426+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
427+
; CHECK-NEXT: [[CMPEQ_WIDE_PPzZZ_H:%[0-9]+]]:ppr = CMPEQ_WIDE_PPzZZ_H [[COPY2]], [[COPY1]], [[COPY]], implicit-def dead $nzcv
428+
; CHECK-NEXT: PTEST_PP [[COPY2]], [[CMPEQ_WIDE_PPzZZ_H]], implicit-def $nzcv
429+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
430+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
431+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
432+
; CHECK-NEXT: RET_ReallyLR implicit $w0
343433
%2:zpr = COPY $z1
344434
%1:zpr = COPY $z0
345435
%0:ppr_3b = COPY $p0
@@ -375,7 +465,17 @@ body: |
375465
liveins: $p0, $z0, $z1
376466
377467
; CHECK-LABEL: name: cmpeq_wide_nxv4i32
378-
; CHECK: PTEST
468+
; CHECK: liveins: $p0, $z0, $z1
469+
; CHECK-NEXT: {{ $}}
470+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
471+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
472+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
473+
; CHECK-NEXT: [[CMPEQ_WIDE_PPzZZ_S:%[0-9]+]]:ppr = CMPEQ_WIDE_PPzZZ_S [[COPY2]], [[COPY1]], [[COPY]], implicit-def dead $nzcv
474+
; CHECK-NEXT: PTEST_PP [[COPY2]], [[CMPEQ_WIDE_PPzZZ_S]], implicit-def $nzcv
475+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
476+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
477+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
478+
; CHECK-NEXT: RET_ReallyLR implicit $w0
379479
%2:zpr = COPY $z1
380480
%1:zpr = COPY $z0
381481
%0:ppr_3b = COPY $p0
@@ -408,11 +508,17 @@ body: |
408508
liveins: $p0, $z0
409509
410510
; CHECK-LABEL: name: cmpeq_imm_nxv16i8_ptest_not_all_active
411-
; CHECK: %2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
412-
; CHECK-NEXT: %3:ppr = PTRUE_B 0, implicit $vg
413-
; CHECK-NEXT: PTEST_PP killed %3, killed %2, implicit-def $nzcv
414-
; CHECK-NEXT: %4:gpr32 = COPY $wzr
415-
; CHECK-NEXT: %5:gpr32 = CSINCWr %4, $wzr, 0, implicit $nzcv
511+
; CHECK: liveins: $p0, $z0
512+
; CHECK-NEXT: {{ $}}
513+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
514+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
515+
; CHECK-NEXT: [[CMPEQ_PPzZI_B:%[0-9]+]]:ppr = CMPEQ_PPzZI_B [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
516+
; CHECK-NEXT: [[PTRUE_B:%[0-9]+]]:ppr = PTRUE_B 0, implicit $vg
517+
; CHECK-NEXT: PTEST_PP killed [[PTRUE_B]], killed [[CMPEQ_PPzZI_B]], implicit-def $nzcv
518+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr
519+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY2]], $wzr, 0, implicit $nzcv
520+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
521+
; CHECK-NEXT: RET_ReallyLR implicit $w0
416522
%1:zpr = COPY $z0
417523
%0:ppr_3b = COPY $p0
418524
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -445,11 +551,17 @@ body: |
445551
liveins: $p0, $z0
446552
447553
; CHECK-LABEL: name: cmpeq_imm_nxv16i8_ptest_of_halfs
448-
; CHECK: %2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
449-
; CHECK-NEXT: %3:ppr = PTRUE_H 31, implicit $vg
450-
; CHECK-NEXT: PTEST_PP killed %3, killed %2, implicit-def $nzcv
451-
; CHECK-NEXT: %4:gpr32 = COPY $wzr
452-
; CHECK-NEXT: %5:gpr32 = CSINCWr %4, $wzr, 0, implicit $nzcv
554+
; CHECK: liveins: $p0, $z0
555+
; CHECK-NEXT: {{ $}}
556+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
557+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
558+
; CHECK-NEXT: [[CMPEQ_PPzZI_B:%[0-9]+]]:ppr = CMPEQ_PPzZI_B [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
559+
; CHECK-NEXT: [[PTRUE_H:%[0-9]+]]:ppr = PTRUE_H 31, implicit $vg
560+
; CHECK-NEXT: PTEST_PP killed [[PTRUE_H]], killed [[CMPEQ_PPzZI_B]], implicit-def $nzcv
561+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr
562+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY2]], $wzr, 0, implicit $nzcv
563+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
564+
; CHECK-NEXT: RET_ReallyLR implicit $w0
453565
%1:zpr = COPY $z0
454566
%0:ppr_3b = COPY $p0
455567
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -483,11 +595,17 @@ body: |
483595
liveins: $p0, $p1, $z0
484596
485597
; CHECK-LABEL: name: cmpeq_imm_nxv16i8_ptest_with_unique_pg
486-
; CHECK: %2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
487-
; CHECK-NEXT: %3:ppr = COPY $p1
488-
; CHECK-NEXT: PTEST_PP killed %3, killed %2, implicit-def $nzcv
489-
; CHECK-NEXT: %4:gpr32 = COPY $wzr
490-
; CHECK-NEXT: %5:gpr32 = CSINCWr %4, $wzr, 0, implicit $nzcv
598+
; CHECK: liveins: $p0, $p1, $z0
599+
; CHECK-NEXT: {{ $}}
600+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
601+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr_3b = COPY $p0
602+
; CHECK-NEXT: [[CMPEQ_PPzZI_B:%[0-9]+]]:ppr = CMPEQ_PPzZI_B [[COPY1]], [[COPY]], 0, implicit-def dead $nzcv
603+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr = COPY $p1
604+
; CHECK-NEXT: PTEST_PP killed [[COPY2]], killed [[CMPEQ_PPzZI_B]], implicit-def $nzcv
605+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
606+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
607+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
608+
; CHECK-NEXT: RET_ReallyLR implicit $w0
491609
%1:zpr = COPY $z0
492610
%0:ppr_3b = COPY $p0
493611
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -521,7 +639,17 @@ body: |
521639
liveins: $p0, $z0, $z1
522640
523641
; CHECK-LABEL: name: cmpeq_nxv16i8_ptest_with_matching_operands
524-
; CHECK-NOT: PTEST
642+
; CHECK: liveins: $p0, $z0, $z1
643+
; CHECK-NEXT: {{ $}}
644+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z1
645+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z0
646+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY $p0
647+
; CHECK-NEXT: [[CMPEQ_PPzZZ_B:%[0-9]+]]:ppr = CMPEQ_PPzZZ_B [[COPY2]], [[COPY1]], [[COPY]], implicit-def dead $nzcv
648+
; CHECK-NEXT: PTEST_PP [[CMPEQ_PPzZZ_B]], killed [[CMPEQ_PPzZZ_B]], implicit-def $nzcv
649+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
650+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
651+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
652+
; CHECK-NEXT: RET_ReallyLR implicit $w0
525653
%2:zpr = COPY $z1
526654
%1:zpr = COPY $z0
527655
%0:ppr_3b = COPY $p0
@@ -533,5 +661,3 @@ body: |
533661
RET_ReallyLR implicit $w0
534662
535663
...
536-
## NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
537-
# CHECK: {{.*}}

0 commit comments

Comments
 (0)