Blame SOURCES/valgrind-3.17.0-s390_insn_as_string.patch

b1cb33
commit 45873298ff2d17accc65654d64758360616aade5
b1cb33
Author: Andreas Arnez <arnez@linux.ibm.com>
b1cb33
Date:   Tue Mar 30 18:10:43 2021 +0200
b1cb33
b1cb33
    s390x: Add missing UNOP insns to s390_insn_as_string
b1cb33
    
b1cb33
    Some unary operator insns are not handled by s390_insn_as_string().  If
b1cb33
    they are encountered while the appropriate trace flag is set, a vpanic
b1cb33
    occurs.  Fix this: add handling for the missing insns.
b1cb33
b1cb33
diff --git a/VEX/priv/host_s390_defs.c b/VEX/priv/host_s390_defs.c
b1cb33
index 8762975b2..6e0734ae0 100644
b1cb33
--- a/VEX/priv/host_s390_defs.c
b1cb33
+++ b/VEX/priv/host_s390_defs.c
b1cb33
@@ -7860,12 +7860,24 @@ s390_insn_as_string(const s390_insn *insn)
b1cb33
          op = "v-vunpacku";
b1cb33
          break;
b1cb33
 
b1cb33
-      case S390_VEC_FLOAT_NEG:
b1cb33
-         op = "v-vfloatneg";
b1cb33
+      case S390_VEC_ABS:
b1cb33
+         op = "v-vabs";
b1cb33
          break;
b1cb33
 
b1cb33
-      case S390_VEC_FLOAT_SQRT:
b1cb33
-         op = "v-vfloatsqrt";
b1cb33
+      case S390_VEC_COUNT_LEADING_ZEROES:
b1cb33
+         op = "v-vclz";
b1cb33
+         break;
b1cb33
+
b1cb33
+      case S390_VEC_COUNT_TRAILING_ZEROES:
b1cb33
+         op = "v-vctz";
b1cb33
+         break;
b1cb33
+
b1cb33
+      case S390_VEC_COUNT_ONES:
b1cb33
+         op = "v-vpopct";
b1cb33
+         break;
b1cb33
+
b1cb33
+      case S390_VEC_FLOAT_NEG:
b1cb33
+         op = "v-vfloatneg";
b1cb33
          break;
b1cb33
 
b1cb33
       case S390_VEC_FLOAT_ABS:
b1cb33
@@ -7876,6 +7888,10 @@ s390_insn_as_string(const s390_insn *insn)
b1cb33
          op = "v-vfloatnabs";
b1cb33
          break;
b1cb33
 
b1cb33
+      case S390_VEC_FLOAT_SQRT:
b1cb33
+         op = "v-vfloatsqrt";
b1cb33
+         break;
b1cb33
+
b1cb33
       default:
b1cb33
          goto fail;
b1cb33
       }