summaryrefslogtreecommitdiff
path: root/gdb-rhel-36225-add-arch14-record.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gdb-rhel-36225-add-arch14-record.patch')
-rw-r--r--gdb-rhel-36225-add-arch14-record.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/gdb-rhel-36225-add-arch14-record.patch b/gdb-rhel-36225-add-arch14-record.patch
new file mode 100644
index 0000000..31c15f9
--- /dev/null
+++ b/gdb-rhel-36225-add-arch14-record.patch
@@ -0,0 +1,46 @@
+From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
+From: Andreas Arnez <arnez@linux.ibm.com>
+Date: Tue, 13 Feb 2024 18:55:29 +0100
+Subject: gdb-rhel-36225-add-arch14-record.patch
+
+;; Backport "gdb: s390: Add arch14 record/replay support"
+;; (Andreas Arnez, RHEL-36225)
+
+Enable recording of the new "arch14" instructions on z/Architecture
+targets, except for the specialized-function-assist instruction NNPA.
+
+diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
+--- a/gdb/s390-tdep.c
++++ b/gdb/s390-tdep.c
+@@ -5534,6 +5534,14 @@ s390_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
+ case 0xe635: /* VLRL - vector load rightmost with immed. length */
+ case 0xe637: /* VLRLR - vector load rightmost with length */
+ case 0xe649: /* VLIP - vector load immediate decimal */
++ case 0xe656: /* VCLFNH - vector fp convert and lengthen from NNP high */
++ case 0xe65e: /* VCLFNL - vector fp convert and lengthen from NNP low */
++ case 0xe655: /* VCNF - vector fp convert to NNP */
++ case 0xe65d: /* VCFN - vector fp convert from NNP */
++ case 0xe674: /* VSCHP - decimal scale and convert to HFP */
++ case 0xe675: /* VCRNF - vector fp convert and round to NNP */
++ case 0xe67c: /* VSCSHP - decimal scale and convert and split to HFP */
++ case 0xe67d: /* VCSPH - vector convert HFP to scaled decimal */
+ case 0xe700: /* VLEB - vector load element */
+ case 0xe701: /* VLEH - vector load element */
+ case 0xe702: /* VLEG - vector load element */
+@@ -5791,11 +5799,16 @@ s390_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
+
+ /* 0xe747-0xe749 undefined */
+
++ case 0xe651: /* VCLZDP - vector count leading zero digits */
++ case 0xe654: /* VUPKZH - vector unpack zoned high */
+ case 0xe658: /* VCVD - vector convert to decimal 32 bit */
+ case 0xe659: /* VSRP - vector shift and round decimal */
+ case 0xe65a: /* VCVDG - vector convert to decimal 64 bit*/
+ case 0xe65b: /* VPSOP - vector perform sign operation decimal */
++ case 0xe65c: /* VUPKZL - vector unpack zoned low */
++ case 0xe670: /* VPKZR - vector pack zoned register */
+ case 0xe671: /* VAP - vector add decimal */
++ case 0xe672: /* VSRPR - vector shift and round decimal register */
+ case 0xe673: /* VSP - vector subtract decimal */
+ case 0xe678: /* VMP - vector multiply decimal */
+ case 0xe679: /* VMSP - vector multiply decimal */