diff options
author | John Baldwin <jhb@FreeBSD.org> | 2023-08-28 14:18:19 -0700 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2023-08-28 14:18:19 -0700 |
commit | 2e7b61ed19d2eff307721964994bd6989125f125 (patch) | |
tree | 4619dbeb6b0a04d4a0f36c473168e4bd5b17da94 /ld | |
parent | e30e39d5c01897004912946ef621b7580f52affe (diff) | |
download | gdb-2e7b61ed19d2eff307721964994bd6989125f125.zip gdb-2e7b61ed19d2eff307721964994bd6989125f125.tar.gz gdb-2e7b61ed19d2eff307721964994bd6989125f125.tar.bz2 |
gdbserver: Simplify handling of ZMM registers.
- Reuse num_xmm_registers directly for the count of ZMM0-15 registers
as is already done for the YMM registers for AVX rather than using
a new variable that is always the same.
- Replace 3 identical variables for the count of upper ZMM16-31
registers with a single variable. Make use of this to merge
various loops working on the ZMM XSAVE region so that all of the
handling for the various sub-registers in this region are always
handled in a single loop.
- While here, fix some bugs in i387_cache_to_xsave where if
X86_XSTATE_ZMM was set on i386 (e.g. a 32-bit process on a 64-bit
kernel), the -1 register nums would wrap around and store the value
of GPRs in the XSAVE area. This should be harmless, but is
definitely odd. Instead, check num_zmm_high_registers directly when
checking X86_XSTATE_ZMM and skip the ZMM region handling entirely if
the register count is 0.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'ld')
0 files changed, 0 insertions, 0 deletions