diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2015-09-03 12:09:41 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-09-03 12:09:41 +0100 |
commit | fc8135a46d095f865d285e697a874f617bfeeb90 (patch) | |
tree | dce5ca89ed5920fb535b39672e603471eb18b717 /target-alpha/translate.c | |
parent | 654cd2c5841d70e8053b39fb1a9162d5c113326b (diff) | |
parent | 112e4518f0d38fc3c52e55c7d7e77b66a295ec2b (diff) |
Merge remote-tracking branch 'remotes/rth/tags/pull-axp-20150902' into staging
cmpbge emulation improvements
# gpg: Signature made Wed 02 Sep 2015 20:25:10 BST using RSA key ID 4DD0279B
# gpg: Good signature from "Richard Henderson <rth7680@gmail.com>"
# gpg: aka "Richard Henderson <rth@redhat.com>"
# gpg: aka "Richard Henderson <rth@twiddle.net>"
* remotes/rth/tags/pull-axp-20150902:
target-alpha: Special case cmpbge with zero
target-alpha: Rewrite helper_cmpbge using bit tests
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-alpha/translate.c')
-rw-r--r-- | target-alpha/translate.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/target-alpha/translate.c b/target-alpha/translate.c index 1fd9c3be96..206feb5746 100644 --- a/target-alpha/translate.c +++ b/target-alpha/translate.c @@ -1562,7 +1562,12 @@ static ExitStatus translate_one(DisasContext *ctx, uint32_t insn) break; case 0x0F: /* CMPBGE */ - gen_helper_cmpbge(vc, va, vb); + if (ra == 31) { + /* Special case 0 >= X as X == 0. */ + gen_helper_cmpbe0(vc, vb); + } else { + gen_helper_cmpbge(vc, va, vb); + } break; case 0x12: /* S8ADDL */ |