From: Amaury Sechet Date: Tue, 2 May 2017 16:07:32 +0000 (+0000) Subject: Add new test case for addcarry. NFC. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=20c757b9a3e8e710ab7a4e8167a7c13fe572cf6f;p=llvm Add new test case for addcarry. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301932 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/X86/adde-carry.ll b/test/CodeGen/X86/addcarry.ll similarity index 92% rename from test/CodeGen/X86/adde-carry.ll rename to test/CodeGen/X86/addcarry.ll index e6189f4a218..6fc07cd84de 100644 --- a/test/CodeGen/X86/adde-carry.ll +++ b/test/CodeGen/X86/addcarry.ll @@ -186,3 +186,21 @@ entry: store i32 %19, i32* %15, align 4 ret void } + +define i64 @shiftadd(i64 %a, i64 %b, i64 %c, i64 %d) { +; CHECK-LABEL: shiftadd: +; CHECK: # BB#0: # %entry +; CHECK-NEXT: leaq (%rdx,%rcx), %rax +; CHECK-NEXT: addq %rsi, %rdi +; CHECK-NEXT: adcq $0, %rax +; CHECK-NEXT: retq +entry: + %0 = zext i64 %a to i128 + %1 = zext i64 %b to i128 + %2 = add i128 %0, %1 + %3 = lshr i128 %2, 64 + %4 = trunc i128 %3 to i64 + %5 = add i64 %c, %d + %6 = add i64 %4, %5 + ret i64 %6 +}