llvm-6502/lib/Transforms
Chris Lattner f98d253bc5 Make some existing optimizations that would only trigger on scalars
also apply to vectors.  This allows us to compile this:

#include <emmintrin.h>
__m128i a(__m128 a, __m128 b) { return a==a & b==b; }
__m128i b(__m128 a, __m128 b) { return a!=a | b!=b; }

to:

_a:
	cmpordps	%xmm1, %xmm0
	ret
_b:
	cmpunordps	%xmm1, %xmm0
	ret

with clang instead of to a ton of horrible code.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76863 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-23 05:32:17 +00:00
..
Hello Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Instrumentation Get rid of the Pass+Context magic. 2009-07-22 00:24:57 +00:00
IPO Remove unnecessary store to temporary std::string. 2009-07-22 20:46:46 +00:00
Scalar Make some existing optimizations that would only trigger on scalars 2009-07-23 05:32:17 +00:00
Utils Don't give a massive inlining cost bonus to available_externally 2009-07-22 08:12:59 +00:00
Makefile I should definitely read make docs someday :( 2009-03-11 20:40:15 +00:00