diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-01-08 18:01:08 +0100 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2015-02-03 12:27:05 -0800 |
commit | 8cf02f93dc37bc3de30dfb74eb0e904d1700dbf6 (patch) | |
tree | ee389fc9b8798a3033e1f2382bd861efae4d9cbb | |
parent | 5b279407704613dbee8bc0866817bf7006b487a5 (diff) |
target-s390x: support OC and NC in the EX instruction
This is needed to run the GMP testsuite.
Reported-by: Torbjorn Granlund <torbjorng@google.com>
Tested-by: Torbjorn Granlund <torbjorng@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
-rw-r--r-- | target-s390x/mem_helper.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/target-s390x/mem_helper.c b/target-s390x/mem_helper.c index 53bb629fc3..d67b345ad1 100644 --- a/target-s390x/mem_helper.c +++ b/target-s390x/mem_helper.c @@ -490,10 +490,18 @@ uint32_t HELPER(ex)(CPUS390XState *env, uint32_t cc, uint64_t v1, helper_mvc(env, l, get_address(env, 0, b1, d1), get_address(env, 0, b2, d2)); break; + case 0x400: + cc = helper_nc(env, l, get_address(env, 0, b1, d1), + get_address(env, 0, b2, d2)); + break; case 0x500: cc = helper_clc(env, l, get_address(env, 0, b1, d1), get_address(env, 0, b2, d2)); break; + case 0x600: + cc = helper_oc(env, l, get_address(env, 0, b1, d1), + get_address(env, 0, b2, d2)); + break; case 0x700: cc = helper_xc(env, l, get_address(env, 0, b1, d1), get_address(env, 0, b2, d2)); |