From: David Hildenbrand Date: Thu, 11 Apr 2019 08:07:35 +0000 (+0200) Subject: s390x/tcg: Implement VECTOR EXCLUSIVE OR X-Git-Tag: v4.1.0-rc0~98^2~10^2~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=44951e6b0349d8981c226cd8e12505d4f45835d8;p=thirdparty%2Fqemu.git s390x/tcg: Implement VECTOR EXCLUSIVE OR Easy, we can reuse an existing gvec helper. Reviewed-by: Richard Henderson Signed-off-by: David Hildenbrand --- diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index a355b7f62f1..b8400c191a7 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -1088,6 +1088,8 @@ F(0xe753, VCLZ, VRR_a, V, 0, 0, 0, 0, vclz, 0, IF_VEC) /* VECTOR COUNT TRAILING ZEROS */ F(0xe752, VCTZ, VRR_a, V, 0, 0, 0, 0, vctz, 0, IF_VEC) +/* VECTOR EXCLUSIVE OR */ + F(0xe76d, VX, VRR_c, V, 0, 0, 0, 0, vx, 0, IF_VEC) #ifndef CONFIG_USER_ONLY /* COMPARE AND SWAP AND PURGE */ diff --git a/target/s390x/translate_vx.inc.c b/target/s390x/translate_vx.inc.c index 2f13d6fa9f4..0935857eff0 100644 --- a/target/s390x/translate_vx.inc.c +++ b/target/s390x/translate_vx.inc.c @@ -1476,3 +1476,10 @@ static DisasJumpType op_vctz(DisasContext *s, DisasOps *o) gen_gvec_2(get_field(s->fields, v1), get_field(s->fields, v2), &g[es]); return DISAS_NEXT; } + +static DisasJumpType op_vx(DisasContext *s, DisasOps *o) +{ + gen_gvec_fn_3(xor, ES_8, get_field(s->fields, v1), get_field(s->fields, v2), + get_field(s->fields, v3)); + return DISAS_NEXT; +}