diff options
author | Chris Lattner <sabre@nondot.org> | 2006-03-22 05:30:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-03-22 05:30:33 +0000 |
commit | ecfe55e65b6a72fddd543c42f2e2df4c96c647ba (patch) | |
tree | f1b6b27e1a10ef71ed8433fce838e2c9519658e3 /lib/ExecutionEngine/Interpreter/Interpreter.cpp | |
parent | e5ba580ab05b18eaa9fd4d36e31466e41f693ad9 (diff) |
When possible, custom lower 32-bit SINT_TO_FP to this:
_foo2:
extsw r2, r3
std r2, -8(r1)
lfd f0, -8(r1)
fcfid f0, f0
frsp f1, f0
blr
instead of this:
_foo2:
lis r2, ha16(LCPI2_0)
lis r4, 17200
xoris r3, r3, 32768
stw r3, -4(r1)
stw r4, -8(r1)
lfs f0, lo16(LCPI2_0)(r2)
lfd f1, -8(r1)
fsub f0, f1, f0
frsp f1, f0
blr
This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s
with llcbeta (16.7% and 38.1% respectively).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26943 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/Interpreter/Interpreter.cpp')
0 files changed, 0 insertions, 0 deletions