From: Andreas Arnez Date: Tue, 30 Mar 2021 16:10:43 +0000 (+0200) Subject: s390x: Add missing UNOP insns to s390_insn_as_string X-Git-Tag: VALGRIND_3_18_0~135 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45873298ff2d17accc65654d64758360616aade5;p=thirdparty%2Fvalgrind.git s390x: Add missing UNOP insns to s390_insn_as_string Some unary operator insns are not handled by s390_insn_as_string(). If they are encountered while the appropriate trace flag is set, a vpanic occurs. Fix this: add handling for the missing insns. --- diff --git a/VEX/priv/host_s390_defs.c b/VEX/priv/host_s390_defs.c index 8762975b28..6e0734ae0a 100644 --- a/VEX/priv/host_s390_defs.c +++ b/VEX/priv/host_s390_defs.c @@ -7860,12 +7860,24 @@ s390_insn_as_string(const s390_insn *insn) op = "v-vunpacku"; break; - case S390_VEC_FLOAT_NEG: - op = "v-vfloatneg"; + case S390_VEC_ABS: + op = "v-vabs"; break; - case S390_VEC_FLOAT_SQRT: - op = "v-vfloatsqrt"; + case S390_VEC_COUNT_LEADING_ZEROES: + op = "v-vclz"; + break; + + case S390_VEC_COUNT_TRAILING_ZEROES: + op = "v-vctz"; + break; + + case S390_VEC_COUNT_ONES: + op = "v-vpopct"; + break; + + case S390_VEC_FLOAT_NEG: + op = "v-vfloatneg"; break; case S390_VEC_FLOAT_ABS: @@ -7876,6 +7888,10 @@ s390_insn_as_string(const s390_insn *insn) op = "v-vfloatnabs"; break; + case S390_VEC_FLOAT_SQRT: + op = "v-vfloatsqrt"; + break; + default: goto fail; }