Skip to content

Commit 300a921

Browse files
committed
[AArch64] Pre-commit tests (NFC)
1 parent 1a1927a commit 300a921

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

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

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

0 commit comments

Comments
 (0)