diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-02-07 08:53:49 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-02-07 08:53:49 +0000 |
commit | a20a7736541049c60fa4509d91f3a8539f62ba9c (patch) | |
tree | 99f5562a5fbef0ba270965972960be431d582ded /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | 1bc1cae318d59735d3af99515d502f26bb3000f2 (diff) | |
download | llvm-a20a7736541049c60fa4509d91f3a8539f62ba9c.zip llvm-a20a7736541049c60fa4509d91f3a8539f62ba9c.tar.gz llvm-a20a7736541049c60fa4509d91f3a8539f62ba9c.tar.bz2 |
Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode.
Before:
_main:
subq $8, %rsp
leaq _X(%rip), %rax
movsd 8(%rax), %xmm1
movss _X(%rip), %xmm0
call _t
xorl %ecx, %ecx
movl %ecx, %eax
addq $8, %rsp
ret
Now:
_main:
subq $8, %rsp
movsd _X+8(%rip), %xmm1
movss _X(%rip), %xmm0
call _t
xorl %ecx, %ecx
movl %ecx, %eax
addq $8, %rsp
ret
Notice there is another idiotic codegen issue that needs to be fixed asap:
xorl %ecx, %ecx
movl %ecx, %eax
llvm-svn: 46850
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions