aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-07-04 23:07:25 +0000
committerChris Lattner <sabre@nondot.org>2010-07-04 23:07:25 +0000
commit45cc4d74a3b5d27519e43626843839c759b76324 (patch)
treec374b387e57ee0876b0b8b17c401f6489cafbe47 /llvm/lib/CodeGen/MachineInstr.cpp
parent681b926d54db894fac04083841ad10e9624982c4 (diff)
downloadllvm-45cc4d74a3b5d27519e43626843839c759b76324.zip
llvm-45cc4d74a3b5d27519e43626843839c759b76324.tar.gz
llvm-45cc4d74a3b5d27519e43626843839c759b76324.tar.bz2
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
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
0 files changed, 0 insertions, 0 deletions