[llvm-branch-commits] [llvm-branch] r85968 - in /llvm/branches/Apple/Bender-SWB/test/CodeGen/X86: scalar-extract.ll widen_load-0.ll
Bill Wendling
isanbard at gmail.com
Tue Nov 3 15:27:23 PST 2009
Author: void
Date: Tue Nov 3 17:27:22 2009
New Revision: 85968
URL: http://llvm.org/viewvc/llvm-project?rev=85968&view=rev
Log:
Apply patch for <rdar://problem/7098635>.
Modified:
llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/scalar-extract.ll
llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/widen_load-0.ll
Modified: llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/scalar-extract.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/scalar-extract.ll?rev=85968&r1=85967&r2=85968&view=diff
==============================================================================
--- llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/scalar-extract.ll (original)
+++ llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/scalar-extract.ll Tue Nov 3 17:27:22 2009
@@ -1,8 +1,8 @@
; RUN: llvm-as < %s | llc -march=x86 -mattr=+mmx -o %t -f
-; RUN: not grep movq %t
+; RUN: grep movq %t
-; Check that widening doesn't introduce a mmx register in this case when
-; a simple load/store would suffice.
+; Due to splatting the last element for widening <rdar://problem/7098635>,
+; we would introduce a movq since a simple load/store would not suffice.
define void @foo(<2 x i16>* %A, <2 x i16>* %B) {
entry:
Modified: llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/widen_load-0.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/widen_load-0.ll?rev=85968&r1=85967&r2=85968&view=diff
==============================================================================
--- llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/widen_load-0.ll (original)
+++ llvm/branches/Apple/Bender-SWB/test/CodeGen/X86/widen_load-0.ll Tue Nov 3 17:27:22 2009
@@ -1,11 +1,14 @@
; RUN: llc < %s -o - -march=x86-64 | FileCheck %s
; PR4891
+; Due to splatting the last value <rdar://problem/7098635>, the loads are
+; widened before the store.
+
; Both loads should happen before either store.
-; CHECK: movl (%rdi), %eax
-; CHECK: movl (%rsi), %ecx
-; CHECK: movl %ecx, (%rdi)
+; CHECK: movd (%rsi), %mm0
+; CHECK: movd (%rdi), %mm0
+; CHECK: movl %eax, (%rdi)
; CHECK: movl %eax, (%rsi)
define void @short2_int_swap(<2 x i16>* nocapture %b, i32* nocapture %c) nounwind {
More information about the llvm-branch-commits
mailing list