Skip to content

Commit cf30d69

Browse files
committed
[AArch64] Pre-commit tests (NFC)
1 parent e4060d3 commit cf30d69

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

llvm/test/CodeGen/AArch64/cmp-to-cmn.ll

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,3 +602,51 @@ define i1 @almost_immediate_neg_ugt_64(i64 %x) {
602602
%cmp = icmp ugt i64 %x, -16773121
603603
ret i1 %cmp
604604
}
605+
606+
define i1 @cmn_nsw(i32 %a, i32 %b) {
607+
; CHECK-LABEL: cmn_nsw:
608+
; CHECK: // %bb.0:
609+
; CHECK-NEXT: neg w8, w1
610+
; CHECK-NEXT: cmp w0, w8
611+
; CHECK-NEXT: cset w0, gt
612+
; CHECK-NEXT: ret
613+
%sub = sub nsw i32 0, %b
614+
%cmp = icmp sgt i32 %a, %sub
615+
ret i1 %cmp
616+
}
617+
618+
define i1 @cmn_nsw_64(i64 %a, i64 %b) {
619+
; CHECK-LABEL: cmn_nsw_64:
620+
; CHECK: // %bb.0:
621+
; CHECK-NEXT: neg x8, x1
622+
; CHECK-NEXT: cmp x0, x8
623+
; CHECK-NEXT: cset w0, gt
624+
; CHECK-NEXT: ret
625+
%sub = sub nsw i64 0, %b
626+
%cmp = icmp sgt i64 %a, %sub
627+
ret i1 %cmp
628+
}
629+
630+
define i1 @cmn_nsw_neg(i32 %a, i32 %b) {
631+
; CHECK-LABEL: cmn_nsw_neg:
632+
; CHECK: // %bb.0:
633+
; CHECK-NEXT: neg w8, w1
634+
; CHECK-NEXT: cmp w0, w8
635+
; CHECK-NEXT: cset w0, gt
636+
; CHECK-NEXT: ret
637+
%sub = sub i32 0, %b
638+
%cmp = icmp sgt i32 %a, %sub
639+
ret i1 %cmp
640+
}
641+
642+
define i1 @cmn_nsw_neg_64(i64 %a, i64 %b) {
643+
; CHECK-LABEL: cmn_nsw_neg_64:
644+
; CHECK: // %bb.0:
645+
; CHECK-NEXT: neg x8, x1
646+
; CHECK-NEXT: cmp x0, x8
647+
; CHECK-NEXT: cset w0, gt
648+
; CHECK-NEXT: ret
649+
%sub = sub i64 0, %b
650+
%cmp = icmp sgt i64 %a, %sub
651+
ret i1 %cmp
652+
}

0 commit comments

Comments
 (0)