diff options
Diffstat (limited to 'gdb-rhel-36225-add-arch14-record.patch')
-rw-r--r-- | gdb-rhel-36225-add-arch14-record.patch | 46 |
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 */ |