1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib
Chris Lattner cecaa1b061 Just rip v2f32 support completely out of the X86 backend. In
the example in the testcase, we now generate:

_test1:                                 ## @test1
	movss	4(%esp), %xmm0
	addss	8(%esp), %xmm0
	movl	12(%esp), %eax
	movss	%xmm0, (%eax)
	ret

instead of:

_test1:                                                     ## @test1
	subl	$20, %esp
	movl	24(%esp), %eax
	movq	%mm0, (%esp)
	movq	%mm0, 8(%esp)
	movss	(%esp), %xmm0
	addss	12(%esp), %xmm0
	movss	%xmm0, (%eax)
	addl	$20, %esp
	ret

v2f32 support did not work reliably because most of the X86
backend didn't know it was legal.  It was apparently only added
to support returning source-level v2f32 values in MMX registers
in x86-32 mode.  If ABI compatibility is important on this
GCC-extended-vector type for some reason, then the frontend
should generate IR that returns v2i32 instead of v2f32.  However,
we generally don't try very hard to be abi compatible on gcc
extended vectors. 

llvm-svn: 107601
2010-07-04 23:07:25 +00:00
..
Analysis
Archive
AsmParser Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
Bitcode Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
CodeGen Infer alignments of fixed frame objects when they are constructed. This ensures remat'ed loads from fixed slots have the right alignments. 2010-07-04 18:52:05 +00:00
CompilerDriver
ExecutionEngine
Linker
MC
Support
System
Target Just rip v2f32 support completely out of the X86 backend. In 2010-07-04 23:07:25 +00:00
Transforms MDString is already checked earlier. 2010-07-02 21:13:23 +00:00
VMCore IndirectBr is not safe to speculatively execute (!) 2010-07-02 00:35:34 +00:00
Makefile