]> git.proxmox.com Git - qemu.git/commit
target-s390: Optimize ADDC/SUBB
authorRichard Henderson <rth@twiddle.net>
Thu, 20 Sep 2012 16:51:40 +0000 (09:51 -0700)
committerRichard Henderson <rth@twiddle.net>
Sat, 5 Jan 2013 20:18:46 +0000 (12:18 -0800)
commitc95ec459c6c39b7a7e1850f82abd95eca4ccfcce
tree366fc1d5ba63b9fa304e2d520c9eb2fa568c6ca5
parenta359b770c60bf3085c244bc9d5a5fd8fcf286bce
target-s390: Optimize ADDC/SUBB

Giving the proper mask to disas_jcc allows us to generate an inline
comparison generating the carry/borrow with setcond.

In the very worst case, when we must use the external helper to compute
a value for CC, we generate (cc > 1) instead of (cc >> 1), which is only
very slightly slower on common cpus.

In the very best case, when the CC comes from a COMPARE insn and the
compiler is using ALCG with zero, everything folds out to become just
the setcond that the compiler wanted.

Signed-off-by: Richard Henderson <rth@twiddle.net>
target-s390x/translate.c