]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb/record: add support to vzeroupper instruction
authorGuinevere Larsen <guinevere@redhat.com>
Sun, 28 Jul 2024 12:51:11 +0000 (09:51 -0300)
committerGuinevere Larsen <guinevere@redhat.com>
Mon, 28 Oct 2024 13:46:33 +0000 (10:46 -0300)
commit77f6ff446173ac7790f35d43de7d196a768c38b1
tree6209caf9e5c1c586857bbced1971cb122867dd86
parent5bf288d5a88ab6d3fa9bd7bd070e624afd264dc6
gdb/record: add support to vzeroupper instruction

This commit adds recording support for the AVX instruction vzeroupper,
which zeroes the high bits of ymm registers 0..15.  In the programmer's
manual, it is explicitly states that ymm registers 16..31 won't be
affected if present, so we only need to record the first 16 registers.

We record ymm_h registers since only the higher bits are touched, and
that reduces the memory footprint of the instruction.

This instruction is tested differently as we want to confirm we're only
saving the relevant registers, and we want to ensure we're saving
all of them, so it makes use of "maint print record-instruction" to see
exactly what was recorded.

Approved-By: Tom Tromey <tom@tromey.com>
gdb/i386-tdep.c
gdb/testsuite/gdb.reverse/i386-avx-reverse.c
gdb/testsuite/gdb.reverse/i386-avx-reverse.exp