[X86] Regenerated 64/128 bit multiply tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 15 Feb 2016 14:04:05 +0000 (14:04 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 15 Feb 2016 14:04:05 +0000 (14:04 +0000)
llvm-svn: 260890

llvm/test/CodeGen/X86/mul128.ll
llvm/test/CodeGen/X86/mul64.ll

index 6825b99..2b3a135 100644 (file)
@@ -1,6 +1,17 @@
-; RUN: llc < %s -march=x86-64 | grep mul | count 3
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s --check-prefix=X64
 
 define i128 @foo(i128 %t, i128 %u) {
+; X64-LABEL: foo:
+; X64:       # BB#0:
+; X64-NEXT:    movq %rdx, %r8
+; X64-NEXT:    imulq %rdi, %rcx
+; X64-NEXT:    movq %rdi, %rax
+; X64-NEXT:    mulq %r8
+; X64-NEXT:    addq %rcx, %rdx
+; X64-NEXT:    imulq %r8, %rsi
+; X64-NEXT:    addq %rsi, %rdx
+; X64-NEXT:    retq
   %k = mul i128 %t, %u
   ret i128 %k
 }
index 5a25c5d..f5ca52a 100644 (file)
@@ -1,6 +1,27 @@
-; RUN: llc < %s -march=x86 | grep mul | count 3
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i386-unknown | FileCheck %s --check-prefix=X32
+; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s --check-prefix=X64
 
-define i64 @foo(i64 %t, i64 %u) {
+define i64 @foo(i64 %t, i64 %u) nounwind {
+; X32-LABEL: foo:
+; X32:       # BB#0:
+; X32-NEXT:    pushl %esi
+; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X32-NEXT:    movl %ecx, %eax
+; X32-NEXT:    mull %esi
+; X32-NEXT:    imull {{[0-9]+}}(%esp), %ecx
+; X32-NEXT:    addl %ecx, %edx
+; X32-NEXT:    imull {{[0-9]+}}(%esp), %esi
+; X32-NEXT:    addl %esi, %edx
+; X32-NEXT:    popl %esi
+; X32-NEXT:    retl
+;
+; X64-LABEL: foo:
+; X64:       # BB#0:
+; X64-NEXT:    imulq %rsi, %rdi
+; X64-NEXT:    movq %rdi, %rax
+; X64-NEXT:    retq
   %k = mul i64 %t, %u
   ret i64 %k
 }