Skip to content

Commit 715d144

Browse files
Add test.
1 parent 7e3fe88 commit 715d144

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

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

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,3 +661,49 @@ body: |
661661
RET_ReallyLR implicit $w0
662662
663663
...
664+
---
665+
name: cmpeq_nxv16i8_ptest_with_register_class_mismatch
666+
alignment: 2
667+
tracksRegLiveness: true
668+
registers:
669+
- { id: 0, class: ppr }
670+
- { id: 1, class: zpr }
671+
- { id: 2, class: zpr }
672+
- { id: 3, class: ppr_3b }
673+
- { id: 4, class: ppr }
674+
- { id: 5, class: gpr32 }
675+
- { id: 6, class: gpr32 }
676+
liveins:
677+
- { reg: '$z0', virtual-reg: '%1' }
678+
- { reg: '$z1', virtual-reg: '%2' }
679+
frameInfo:
680+
maxCallFrameSize: 0
681+
body: |
682+
bb.0:
683+
liveins: $z0, $z1
684+
685+
; CHECK-LABEL: name: cmpeq_nxv16i8_ptest_with_register_class_mismatch
686+
; CHECK: liveins: $z0, $z1
687+
; CHECK-NEXT: {{ $}}
688+
; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z0
689+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z1
690+
; CHECK-NEXT: [[PTRUE_B:%[0-9]+]]:ppr = PTRUE_B 31, implicit $vg
691+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:ppr_3b = COPY [[PTRUE_B]]
692+
; CHECK-NEXT: [[CMPEQ_PPzZZ_B:%[0-9]+]]:ppr = CMPEQ_PPzZZ_B [[COPY2]], [[COPY]], [[COPY1]], implicit-def dead $nzcv
693+
; CHECK-NEXT: PTEST_PP [[PTRUE_B]], killed [[CMPEQ_PPzZZ_B]], implicit-def $nzcv
694+
; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32 = COPY $wzr
695+
; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr [[COPY3]], $wzr, 0, implicit $nzcv
696+
; CHECK-NEXT: $w0 = COPY [[CSINCWr]]
697+
; CHECK-NEXT: RET_ReallyLR implicit $w0
698+
%1:zpr = COPY $z0
699+
%2:zpr = COPY $z1
700+
%0:ppr = PTRUE_B 31, implicit $vg
701+
%3:ppr_3b = COPY %0
702+
%4:ppr = CMPEQ_PPzZZ_B %3, %1, %2, implicit-def dead $nzcv
703+
PTEST_PP %0, killed %4, implicit-def $nzcv
704+
%5:gpr32 = COPY $wzr
705+
%6:gpr32 = CSINCWr %5, $wzr, 0, implicit $nzcv
706+
$w0 = COPY %6
707+
RET_ReallyLR implicit $w0
708+
709+
...

0 commit comments

Comments
 (0)