summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/DataStructure.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-07-16 02:02:34 +0000
committerNate Begeman <natebegeman@mac.com>2005-07-16 02:02:34 +0000
commit7e74c834c1c83936bcdd4c667944995d8ff44d78 (patch)
treefab01793a2725e5bcfb5d1fa0ca114dc5ef80e8c /llvm/lib/Analysis/DataStructure/DataStructure.cpp
parent8293d0e232f747edb61a96026dc7c2fb3bd6dff6 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud