diff options
author | 2012-09-20 09:51:40 -0700 | |
---|---|---|
committer | 2013-01-05 12:18:46 -0800 | |
commit | c95ec459c6c39b7a7e1850f82abd95eca4ccfcce (patch) | |
tree | 366fc1d5ba63b9fa304e2d520c9eb2fa568c6ca5 /module.c | |
parent | target-s390: Optimize ADDU/SUBU CC testing (diff) | |
download | 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 'module.c')
0 files changed, 0 insertions, 0 deletions