commit 45873298ff2d17accc65654d64758360616aade5 Author: Andreas Arnez Date: Tue Mar 30 18:10:43 2021 +0200 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 8762975b2..6e0734ae0 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; }