summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-02-15 14:04:05 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-02-15 14:04:05 +0000
commita62170834d40f8c10b6b32ed6ac5202f98401bf4 (patch)
tree222a98df5bd59d21da7b4dca170e5082ef08df49 /llvm
parent9513b3c4c7f81f723e09afad86c601aba9031928 (diff)
downloadbcm5719-llvm-a62170834d40f8c10b6b32ed6ac5202f98401bf4.tar.gz
bcm5719-llvm-a62170834d40f8c10b6b32ed6ac5202f98401bf4.zip
[X86] Regenerated 64/128 bit multiply tests
llvm-svn: 260890
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/CodeGen/X86/mul128.ll13
-rw-r--r--llvm/test/CodeGen/X86/mul64.ll25
2 files changed, 35 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/mul128.ll b/llvm/test/CodeGen/X86/mul128.ll
index 6825b99f242..2b3a13509b3 100644
--- a/llvm/test/CodeGen/X86/mul128.ll
+++ b/llvm/test/CodeGen/X86/mul128.ll
@@ -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
}
diff --git a/llvm/test/CodeGen/X86/mul64.ll b/llvm/test/CodeGen/X86/mul64.ll
index 5a25c5d0e9d..f5ca52a93b5 100644
--- a/llvm/test/CodeGen/X86/mul64.ll
+++ b/llvm/test/CodeGen/X86/mul64.ll
@@ -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
}
OpenPOWER on IntegriCloud