[llvm] [ARM] Custom lower UMIN and UMAX for Thumb1 (PR #187881)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 5 15:08:32 PDT 2026
================
@@ -191,11 +190,10 @@ define zeroext i4 @func4(i4 zeroext %x, i4 zeroext %y, i4 zeroext %z) nounwind {
; CHECK-T1-NEXT: movs r2, #15
; CHECK-T1-NEXT: ands r1, r2
; CHECK-T1-NEXT: adds r0, r0, r1
-; CHECK-T1-NEXT: cmp r0, #15
-; CHECK-T1-NEXT: blo .LBB4_2
-; CHECK-T1-NEXT: @ %bb.1:
-; CHECK-T1-NEXT: mov r0, r2
-; CHECK-T1-NEXT: .LBB4_2:
+; CHECK-T1-NEXT: subs r1, r2, r0
+; CHECK-T1-NEXT: sbcs r2, r2
+; CHECK-T1-NEXT: ands r2, r1
+; CHECK-T1-NEXT: adds r0, r0, r2
----------------
SiliconA-Z wrote:
It is: branching is slower than branch free at the cost of one instruction.
https://github.com/llvm/llvm-project/pull/187881
More information about the llvm-commits
mailing list