OSDN Git Service

Add new test case for addcarry. NFC.
authorAmaury Sechet <deadalnix@gmail.com>
Tue, 2 May 2017 16:07:32 +0000 (16:07 +0000)
committerAmaury Sechet <deadalnix@gmail.com>
Tue, 2 May 2017 16:07:32 +0000 (16:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301932 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/addcarry.ll [moved from test/CodeGen/X86/adde-carry.ll with 92% similarity]

similarity index 92%
rename from test/CodeGen/X86/adde-carry.ll
rename to test/CodeGen/X86/addcarry.ll
index e6189f4..6fc07cd 100644 (file)
@@ -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
+}