diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-11 11:50:17 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-11 11:50:17 +0000 |
commit | 507563e85db880ff875f0a9498a1cf58a50cfad3 (patch) | |
tree | a8d1e70591ca850d274b5e0ca9788e728b1e0ddd /s390.ld | |
parent | 49bcf33cc7c94655c0a48f8de9b3473d29bb6ed0 (diff) |
target-mips: optimize gen_arith()/gen_arith_imm()
Optimize code generation in gen_arith()/gen_arith_imm():
- Don't do sign extension when the value is already guaranteed to be
sign extended (otherwise, results are marked as UNPREDICTABLE).
- When the value is sign extended, compare the value to 0 instead of
testing bit 31/63.
- Temp variables are valid up to and *including* the brcond instruction.
Use them instead of temp local variables.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5680 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 's390.ld')
0 files changed, 0 insertions, 0 deletions