aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-02-22 05:18:04 +0000
committerChris Lattner <sabre@nondot.org>2008-02-22 05:18:04 +0000
commitc6ad2934578bd0e9a8513c55a61d6572cdb91bfc (patch)
treef86343e7015f38e29dfa9d1080afd73f87312486 /test
parentee3699cf1b65b8000e9723838797eba6125098a7 (diff)
downloadexternal_llvm-c6ad2934578bd0e9a8513c55a61d6572cdb91bfc.zip
external_llvm-c6ad2934578bd0e9a8513c55a61d6572cdb91bfc.tar.gz
external_llvm-c6ad2934578bd0e9a8513c55a61d6572cdb91bfc.tar.bz2
copy mmx values from/to memory with GPRs on x86-32
instead of with mmx registers. This horribleness is apparently done by gcc to avoid having to insert emms in places that really should have it. This is the second half of rdar://5741668. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47474 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/X86/mmx-copy-gprs.ll5
1 files changed, 3 insertions, 2 deletions
diff --git a/test/CodeGen/X86/mmx-copy-gprs.ll b/test/CodeGen/X86/mmx-copy-gprs.ll
index 8cf36e0..da17a04 100644
--- a/test/CodeGen/X86/mmx-copy-gprs.ll
+++ b/test/CodeGen/X86/mmx-copy-gprs.ll
@@ -1,4 +1,5 @@
; RUN: llvm-as < %s | llc -march=x86-64 | grep {movq.*(%rsi), %rax}
+; RUN: llvm-as < %s | llc -march=x86 | grep {movl.*4(%eax),}
; This test should use GPRs to copy the mmx value, not MMX regs. Using mmx regs,
; increases the places that need to use emms.
@@ -6,9 +7,9 @@
; rdar://5741668
target triple = "x86_64-apple-darwin8"
-define i32 @foo(<1 x i64>* %x, <1 x i64>* %y) nounwind {
+define void @foo(<1 x i64>* %x, <1 x i64>* %y) nounwind {
entry:
%tmp1 = load <1 x i64>* %y, align 8 ; <<1 x i64>> [#uses=1]
store <1 x i64> %tmp1, <1 x i64>* %x, align 8
- ret i32 undef
+ ret void
}