[llvm] [X86] Optimized ADD + ADC to ADC (PR #173543)

via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 13 08:33:15 PST 2026


================
@@ -561,3 +561,64 @@ define i64 @add_notx_x(i64 %v0) nounwind {
   %y = add i64 %x, %v0
   ret i64 %y
 }
+
+; Basic positive test
+define i32 @add_adc_to_adc(i32 %0, i32 %1, i32 %2) {
+; CHECK-LABEL: add_adc_to_adc:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    movl %edi, %eax
+; CHECK-NEXT:    cmpl %esi, %edi
+; CHECK-NEXT:    adcl $42, %edx
+; CHECK-NEXT:    cmovsl %esi, %eax
+; CHECK-NEXT:    retq
+  %4 = icmp ult i32 %0, %1
+  %5 = zext i1 %4 to i32
+  %6 = add i32 %2, 42
----------------
JaydeepChauhan14 wrote:

Done

https://github.com/llvm/llvm-project/pull/173543


More information about the llvm-commits mailing list