diff options
| author | Richard Henderson <rth@twiddle.net> | 2012-09-20 09:51:40 -0700 |
|---|---|---|
| committer | Richard Henderson <rth@twiddle.net> | 2013-01-05 12:18:46 -0800 |
| commit | c95ec459c6c39b7a7e1850f82abd95eca4ccfcce (patch) | |
| tree | 366fc1d5ba63b9fa304e2d520c9eb2fa568c6ca5 /hw/lm32_pic.c | |
| parent | a359b770c60bf3085c244bc9d5a5fd8fcf286bce (diff) | |
| download | focaccia-qemu-c95ec459c6c39b7a7e1850f82abd95eca4ccfcce.tar.gz focaccia-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 'hw/lm32_pic.c')
0 files changed, 0 insertions, 0 deletions