s390x/tcg: Implement VECTOR EXCLUSIVE OR
Easy, we can reuse an existing gvec helper. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com>
This commit is contained in:
parent
449a8ac250
commit
44951e6b03
@ -1088,6 +1088,8 @@
|
|||||||
F(0xe753, VCLZ, VRR_a, V, 0, 0, 0, 0, vclz, 0, IF_VEC)
|
F(0xe753, VCLZ, VRR_a, V, 0, 0, 0, 0, vclz, 0, IF_VEC)
|
||||||
/* VECTOR COUNT TRAILING ZEROS */
|
/* VECTOR COUNT TRAILING ZEROS */
|
||||||
F(0xe752, VCTZ, VRR_a, V, 0, 0, 0, 0, vctz, 0, IF_VEC)
|
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
|
#ifndef CONFIG_USER_ONLY
|
||||||
/* COMPARE AND SWAP AND PURGE */
|
/* COMPARE AND SWAP AND PURGE */
|
||||||
|
@ -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]);
|
gen_gvec_2(get_field(s->fields, v1), get_field(s->fields, v2), &g[es]);
|
||||||
return DISAS_NEXT;
|
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;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user