]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390x: Add missing UNOP insns to s390_insn_as_string
authorAndreas Arnez <arnez@linux.ibm.com>
Tue, 30 Mar 2021 16:10:43 +0000 (18:10 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Thu, 22 Apr 2021 16:38:09 +0000 (18:38 +0200)
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.

VEX/priv/host_s390_defs.c

index 8762975b285fb57795ab0de07030faab993ce79d..6e0734ae0a260a8c6389a3c13c00427bc857292b 100644 (file)
@@ -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;
       }