[llvm] [AArch64] Use isKnownNonZero to optimize eligible compares to cmn (PR #96349)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 8 11:20:53 PDT 2024
================
@@ -262,4 +262,18 @@ define <4 x i65> @sign_4xi65(<4 x i65> %a) {
ret <4 x i65> %res
}
+define i32 @or_neg(i32 %x, i32 %y) {
+; CHECK-LABEL: or_neg:
+; CHECK: // %bb.0:
+; CHECK-NEXT: orr w8, w0, #0x1
+; CHECK-NEXT: cmn w1, w8
+; CHECK-NEXT: cset w0, lt
+; CHECK-NEXT: ret
+ %3 = or i32 %x, 1
+ %4 = sub nsw i32 0, %3
----------------
davemgreen wrote:
Remove nsw if it is not needed.
https://github.com/llvm/llvm-project/pull/96349
More information about the llvm-commits
mailing list