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
2
2
# RUN: llc -mtriple=aarch64--linux-gnu -mattr=+sve -run-pass=peephole-opt -verify-machineinstrs %s -o - | FileCheck %s
3
3
4
4
# Test instruction sequences where PTEST is redundant and thus gets removed.
@@ -23,13 +23,17 @@ body: |
23
23
bb.0:
24
24
liveins: $p0, $z0, $z1
25
25
26
- ; Here we check the expected sequence with subsequent tests
27
- ; just asserting there is no PTEST instruction.
28
- ;
29
26
; 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
33
37
%2:zpr = COPY $z1
34
38
%1:zpr = COPY $z0
35
39
%0:ppr_3b = COPY $p0
@@ -65,7 +69,17 @@ body: |
65
69
liveins: $p0, $z0, $z1
66
70
67
71
; 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
69
83
%2:zpr = COPY $z1
70
84
%1:zpr = COPY $z0
71
85
%0:ppr_3b = COPY $p0
@@ -101,7 +115,17 @@ body: |
101
115
liveins: $p0, $z0, $z1
102
116
103
117
; 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
105
129
%2:zpr = COPY $z1
106
130
%1:zpr = COPY $z0
107
131
%0:ppr_3b = COPY $p0
@@ -137,7 +161,17 @@ body: |
137
161
liveins: $p0, $z0, $z1
138
162
139
163
; 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
141
175
%2:zpr = COPY $z1
142
176
%1:zpr = COPY $z0
143
177
%0:ppr_3b = COPY $p0
@@ -170,7 +204,17 @@ body: |
170
204
liveins: $p0, $z0
171
205
172
206
; 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
174
218
%1:zpr = COPY $z0
175
219
%0:ppr_3b = COPY $p0
176
220
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -204,7 +248,16 @@ body: |
204
248
liveins: $p0, $z0
205
249
206
250
; 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
208
261
%1:zpr = COPY $z0
209
262
%0:ppr_3b = COPY $p0
210
263
%2:ppr = CMPEQ_PPzZI_H %0, %1, 0, implicit-def dead $nzcv
@@ -237,7 +290,16 @@ body: |
237
290
liveins: $p0, $z0
238
291
239
292
; 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
241
303
%1:zpr = COPY $z0
242
304
%0:ppr_3b = COPY $p0
243
305
%2:ppr = CMPEQ_PPzZI_S %0, %1, 0, implicit-def dead $nzcv
@@ -270,7 +332,16 @@ body: |
270
332
liveins: $p0, $z0
271
333
272
334
; 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
274
345
%1:zpr = COPY $z0
275
346
%0:ppr_3b = COPY $p0
276
347
%2:ppr = CMPEQ_PPzZI_D %0, %1, 0, implicit-def dead $nzcv
@@ -303,7 +374,16 @@ body: |
303
374
liveins: $p0, $z0, $z1
304
375
305
376
; 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
307
387
%2:zpr = COPY $z1
308
388
%1:zpr = COPY $z0
309
389
%0:ppr_3b = COPY $p0
@@ -339,7 +419,17 @@ body: |
339
419
liveins: $p0, $z0, $z1
340
420
341
421
; 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
343
433
%2:zpr = COPY $z1
344
434
%1:zpr = COPY $z0
345
435
%0:ppr_3b = COPY $p0
@@ -375,7 +465,17 @@ body: |
375
465
liveins: $p0, $z0, $z1
376
466
377
467
; 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
379
479
%2:zpr = COPY $z1
380
480
%1:zpr = COPY $z0
381
481
%0:ppr_3b = COPY $p0
@@ -408,11 +508,17 @@ body: |
408
508
liveins: $p0, $z0
409
509
410
510
; 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
416
522
%1:zpr = COPY $z0
417
523
%0:ppr_3b = COPY $p0
418
524
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -445,11 +551,17 @@ body: |
445
551
liveins: $p0, $z0
446
552
447
553
; 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
453
565
%1:zpr = COPY $z0
454
566
%0:ppr_3b = COPY $p0
455
567
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -483,11 +595,17 @@ body: |
483
595
liveins: $p0, $p1, $z0
484
596
485
597
; 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
491
609
%1:zpr = COPY $z0
492
610
%0:ppr_3b = COPY $p0
493
611
%2:ppr = CMPEQ_PPzZI_B %0, %1, 0, implicit-def dead $nzcv
@@ -521,7 +639,17 @@ body: |
521
639
liveins: $p0, $z0, $z1
522
640
523
641
; 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
525
653
%2:zpr = COPY $z1
526
654
%1:zpr = COPY $z0
527
655
%0:ppr_3b = COPY $p0
@@ -533,5 +661,3 @@ body: |
533
661
RET_ReallyLR implicit $w0
534
662
535
663
...
536
- # # NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
537
- # CHECK: {{.*}}
0 commit comments