diff options
author | Richard Henderson <rth@twiddle.net> | 2017-06-15 12:38:10 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2017-07-17 14:13:16 -0700 |
commit | c67ba3030719ab9cb16bfe9bcd1365a262fd308f (patch) | |
tree | f1a8f155d662d8cec8362074ea8ca463be492d5f /target/s390x/translate.c | |
parent | ca4e667dbf431d4a2a5a619cde79d30dd2ac3eb2 (diff) |
target/s390x: Implement CSST
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target/s390x/translate.c')
-rw-r--r-- | target/s390x/translate.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 592d6b0f38..e7395256d2 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2033,6 +2033,18 @@ static ExitStatus op_cdsg(DisasContext *s, DisasOps *o) return NO_EXIT; } +static ExitStatus op_csst(DisasContext *s, DisasOps *o) +{ + int r3 = get_field(s->fields, r3); + TCGv_i32 t_r3 = tcg_const_i32(r3); + + gen_helper_csst(cc_op, cpu_env, t_r3, o->in1, o->in2); + tcg_temp_free_i32(t_r3); + + set_cc_static(s); + return NO_EXIT; +} + #ifndef CONFIG_USER_ONLY static ExitStatus op_csp(DisasContext *s, DisasOps *o) { @@ -5437,7 +5449,6 @@ enum DisasInsnEnum { /* Give smaller names to the various facilities. */ #define FAC_Z S390_FEAT_ZARCH #define FAC_CASS S390_FEAT_COMPARE_AND_SWAP_AND_STORE -#define FAC_CASS2 S390_FEAT_COMPARE_AND_SWAP_AND_STORE_2 #define FAC_DFP S390_FEAT_DFP #define FAC_DFPR S390_FEAT_FLOATING_POINT_SUPPPORT_ENH /* DFP-rounding */ #define FAC_DO S390_FEAT_STFLE_45 /* distinct-operands */ |