diff options
author | David Hildenbrand <david@redhat.com> | 2021-07-05 11:03:41 +0200 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2021-07-07 13:57:25 +0200 |
commit | af4ba0ec8f017c402c239f2888ef62f63770ba8b (patch) | |
tree | 2d38c1793325e7223aaa25adccf44430f46e4050 /target/s390x | |
parent | 28761057043aa234b33a3301b39c8707984bb0a0 (diff) | |
download | qemu-af4ba0ec8f017c402c239f2888ef62f63770ba8b.zip qemu-af4ba0ec8f017c402c239f2888ef62f63770ba8b.tar.gz qemu-af4ba0ec8f017c402c239f2888ef62f63770ba8b.tar.bz2 |
s390x/tcg: Fix m5 vs. m4 field for VECTOR MULTIPLY SUM LOGICAL
The element size is located in m5, not in m4. As there is no m4, qemu
currently crashes with an assertion, trying to lookup that field.
Reproduced and tested via GO, which ends up using VMSL once the
Vector enhancements facility is around for verifying certificates with
elliptic curves.
Reported-by: Jonathan Albrecht <jonathan.albrecht@linux.vnet.ibm.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/449
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Fixes: 8c18fa5b3eba ("s390x/tcg: Implement VECTOR MULTIPLY SUM LOGICAL")
Message-Id: <20210705090341.58289-1-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x')
-rw-r--r-- | target/s390x/translate_vx.c.inc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target/s390x/translate_vx.c.inc b/target/s390x/translate_vx.c.inc index a9d51b1..0afa46e 100644 --- a/target/s390x/translate_vx.c.inc +++ b/target/s390x/translate_vx.c.inc @@ -1783,7 +1783,7 @@ static DisasJumpType op_vmsl(DisasContext *s, DisasOps *o) { TCGv_i64 l1, h1, l2, h2; - if (get_field(s, m4) != ES_64) { + if (get_field(s, m5) != ES_64) { gen_program_exception(s, PGM_SPECIFICATION); return DISAS_NORETURN; } |