]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb/record: add support to vmovd and vmovq instructions
authorGuinevere Larsen <guinevere@redhat.com>
Mon, 29 Jul 2024 17:52:59 +0000 (14:52 -0300)
committerGuinevere Larsen <guinevere@redhat.com>
Mon, 28 Oct 2024 13:46:33 +0000 (10:46 -0300)
commit4b672a4a6d087a12ff24cb5125dbbb5dfa876b9a
treeb8294305e763e68bf480fc6e84dcebb77b5e40ca
parent13f011367694444778dde4600dd86ae79ad8beec
gdb/record: add support to vmovd and vmovq instructions

This commit adds support to the x86_64 AVX instructions vmovd and vmovq.
The programmers manuals for Intel and AMD describe these 2 instructions
as being almost the same, but my local testing, using gcc 13.2 on Fedora
39, showed several differences and inconsistencies.

The instruction is supposed to always use the 3-byte VEX prefix, but I
could only find 2-byte versions. The instructions aren't differentiated
by the VEX.w bit, but by opcodes and VEX.pp.

This patch adds a test with many different uses for both vmovd and
vmovq. It also updates the test gdb.reverse/step-precsave.exp to
reference the generic "missing avx support" bug open in the bug tracker
(17346), instead of pointing to one that specifically calls out to
vmovd instructions.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23188
Approved-By: Tom Tromey <tom@tromey.com>
gdb/i386-tdep.c
gdb/record-full.c
gdb/testsuite/gdb.reverse/i386-avx-reverse.c [new file with mode: 0644]
gdb/testsuite/gdb.reverse/i386-avx-reverse.exp [new file with mode: 0644]
gdb/testsuite/gdb.reverse/step-precsave.exp