aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineModuleInfo.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-03-26 07:53:08 +0000
committerBill Wendling <isanbard@gmail.com>2007-03-26 07:53:08 +0000
commiteebc8a1bc505ebb5c702e63c248a8956d88fda77 (patch)
tree28b27baa095eed54dfc7f193880ed32abd585ebd /lib/CodeGen/MachineModuleInfo.cpp
parent15213b77cfb1f725ebe199b4d68b79407d9e3a84 (diff)
Add support for the v1i64 type. This makes better code for this:
#include <mmintrin.h> extern __m64 C; void baz(__v2si *A, __v2si *B) { *A = C; _mm_empty(); } We get this: _baz: call "L1$pb" "L1$pb": popl %eax movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax movq (%eax), %mm0 movl 4(%esp), %eax movq %mm0, (%eax) emms ret GCC gives us this: _baz: pushl %ebx call L3 "L00000000001$pb": L3: popl %ebx subl $8, %esp movl L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax movl (%eax), %edx movl 4(%eax), %ecx movl 16(%esp), %eax movl %edx, (%eax) movl %ecx, 4(%eax) emms addl $8, %esp popl %ebx ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35351 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions