diff options
| author | Richard Henderson | 2012-09-20 18:51:40 +0200 |
|---|---|---|
| committer | Richard Henderson | 2013-01-05 21:18:46 +0100 |
| commit | c95ec459c6c39b7a7e1850f82abd95eca4ccfcce (patch) | |
| tree | 366fc1d5ba63b9fa304e2d520c9eb2fa568c6ca5 /fsdev | |
| parent | target-s390: Optimize ADDU/SUBU CC testing (diff) | |
| download | qemu-c95ec459c6c39b7a7e1850f82abd95eca4ccfcce.tar.gz qemu-c95ec459c6c39b7a7e1850f82abd95eca4ccfcce.tar.xz qemu-c95ec459c6c39b7a7e1850f82abd95eca4ccfcce.zip | |
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>
Diffstat (limited to 'fsdev')
0 files changed, 0 insertions, 0 deletions
