[llvm-commits] [llvm] r47720 - /llvm/trunk/lib/Target/README.txt

Chris Lattner sabre at nondot.org
Thu Feb 28 09:21:27 PST 2008


Author: lattner
Date: Thu Feb 28 11:21:27 2008
New Revision: 47720

URL: http://llvm.org/viewvc/llvm-project?rev=47720&view=rev
Log:
add a note

Modified:
    llvm/trunk/lib/Target/README.txt

Modified: llvm/trunk/lib/Target/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=47720&r1=47719&r2=47720&view=diff

==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Thu Feb 28 11:21:27 2008
@@ -631,6 +631,25 @@
 
 //===---------------------------------------------------------------------===//
 
+This GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34043
+contains a testcase that compiles down to:
+
+	%struct.XMM128 = type { <4 x float> }
+..
+	%src = alloca %struct.XMM128
+..
+	%tmp6263 = bitcast %struct.XMM128* %src to <2 x i64>*
+	%tmp65 = getelementptr %struct.XMM128* %src, i32 0, i32 0
+	store <2 x i64> %tmp5899, <2 x i64>* %tmp6263, align 16
+	%tmp66 = load <4 x float>* %tmp65, align 16		
+	%tmp71 = add <4 x float> %tmp66, %tmp66		
+
+If the mid-level optimizer turned the bitcast of pointer + store of tmp5899
+into a bitcast of the vector value and a store to the pointer, then the 
+store->load could be easily removed.
+
+//===---------------------------------------------------------------------===//
+
 Consider:
 
 int test() {





More information about the llvm-commits mailing list