diff options
| author | Nate Begeman <natebegeman@mac.com> | 2005-07-16 02:02:34 +0000 |
|---|---|---|
| committer | Nate Begeman <natebegeman@mac.com> | 2005-07-16 02:02:34 +0000 |
| commit | 7e74c834c1c83936bcdd4c667944995d8ff44d78 (patch) | |
| tree | fab01793a2725e5bcfb5d1fa0ca114dc5ef80e8c /llvm/lib/Analysis/DataStructure/DataStructure.cpp | |
| parent | 8293d0e232f747edb61a96026dc7c2fb3bd6dff6 (diff) | |
| download | bcm5719-llvm-7e74c834c1c83936bcdd4c667944995d8ff44d78.tar.gz bcm5719-llvm-7e74c834c1c83936bcdd4c667944995d8ff44d78.zip | |
Teach the legalizer how to promote SINT_TO_FP to a wider SINT_TO_FP that
the target natively supports. This eliminates some special-case code from
the x86 backend and generates better code as well.
For an i8 to f64 conversion, before & after:
_x87 before:
subl $2, %esp
movb 6(%esp), %al
movsbw %al, %ax
movw %ax, (%esp)
filds (%esp)
addl $2, %esp
ret
_x87 after:
subl $2, %esp
movsbw 6(%esp), %ax
movw %ax, (%esp)
filds (%esp)
addl $2, %esp
ret
_sse before:
subl $12, %esp
movb 16(%esp), %al
movsbl %al, %eax
cvtsi2sd %eax, %xmm0
addl $12, %esp
ret
_sse after:
subl $12, %esp
movsbl 16(%esp), %eax
cvtsi2sd %eax, %xmm0
addl $12, %esp
ret
llvm-svn: 22452
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/DataStructure.cpp')
0 files changed, 0 insertions, 0 deletions

