[0/3] Small step in supporting AVX instructions

Message ID 20240521202800.2865871-1-blarsen@redhat.com
Headers
Series Small step in supporting AVX instructions |

Message

Guinevere Larsen May 21, 2024, 8:27 p.m. UTC
  This patch series is the first, very small, step in supporting AVX and
AVX2 instructions for the record-full target. It is important that we
support it since glibc has been using avx instructions for a long time
(at least fedora 21), so depending on which functions an inferior uses,
they might be very inconvenienced.

Patch 1 adds capability to identify the VEX prefix, but no instruction
support. Patches 2 and 3 add support for a total of 10 instructions,
which covers around 5% of all AVX instructions used by system libraries
in my fedora 39 box.

While this support is extremely minimal, I figured I could propose the
patch series early so it was open for others with more free time could
help contributing to this :)

As for filed bugs, there are 2 that I could find on bugzilla, but both
name a specific instruction (vmovdqa and vmovdqu) which were not added
by this series, so I figured I should only mention it once those are
added.

Guinevere Larsen (3):
  gdb: Start supporting AVX instruction
  gdb/record: add support to vmovd and vmovq instructions
  gdb/record: add support to AVX unpack instructions

 gdb/amd64-tdep.c                              |   3 +-
 gdb/i386-tdep.c                               | 170 ++++++++++++++-
 gdb/i386-tdep.h                               |   2 +
 gdb/testsuite/gdb.reverse/i386-avx-reverse.c  | 127 +++++++++++
 .../gdb.reverse/i386-avx-reverse.exp          | 197 ++++++++++++++++++
 5 files changed, 496 insertions(+), 3 deletions(-)
 create mode 100644 gdb/testsuite/gdb.reverse/i386-avx-reverse.c
 create mode 100644 gdb/testsuite/gdb.reverse/i386-avx-reverse.exp