]> sourceware.org Git - dyninstfans.git/commit
Clean up and improve documentation of x86_64 registers (#1630)
authorTim Haines <thaines.astro@gmail.com>
Tue, 21 Nov 2023 21:52:49 +0000 (15:52 -0600)
committerGitHub <noreply@github.com>
Tue, 21 Nov 2023 21:52:49 +0000 (15:52 -0600)
commit30f08e7b85fa9f3524676691d36bb21723a3d7f5
tree22cb3375bf7b9733488eec065c1dc4e601c0f49b
parentd9426a14d4cbaad486193fb8baa78afdf62d736c
Clean up and improve documentation of x86_64 registers (#1630)

* Improve comments for register lengths

* Separate MMX/3DNow! and x87 register lengths and categories

The MMX* registers are only the lower 64 bits of the st* ones.

* Fix x86_64 subrange mappings in MachRegister::getROSERegister

The values in the two namespaces are not the same.

* Improve comments for EFLAGS fields

* Use symbolic names for the segment register base IDs

* Add missing flag1 from RFLAGS

* Add missing flag3 from RFLAGS

* Add missing flag5 from RFLAGS

* Add missing flagc from RFLAGS

FLAGC is the lower bit of the I/O Permission Level field.

* Add missing flagd from RFLAGS

FLAGC is the upper bit of the I/O Permission Level field.

* Add missing flagf from RFLAGS

* Add missing Virtual-8086 mode (VM) rFLAGS field

* Add conversion to ROSE register for Resume Flag

* Add conversion to ROSE register for Nested Task flag

* Add missing Alignment Check/Access Control (AC) RFLAGS field

* Add missing Virtual Interrupt Flag (VIF) RFLAGS field

* Add missing Virtual Interrupt Pending (VIP) RFLAGS field

* Add missing ID Flag (ID) RFLAGS field

* Fix avx-512 opmask size.

It's 64 bits, not 128.

From Intel(R) 64 and IA-32 Architectures Software Developer’s Manual
June 2021

15.6.1 OPMASK Register to Predicate Vector Data Processing
  The opmask is a set of eight architectural registers of size
  MAX_KL (64-bit).

* Rename OCT to XMMS

This makes it consistent with the names used for the other vector
extensions.

* Add missing subranges in MachRegister::getROSERegister

* Preserve register number in getBaseRegister

* Clear whole subrange byte for GPRs in getBaseRegister
common/h/registers/x86_64_regs.h
common/src/registers/MachRegister.C
dataflowAPI/src/SymEvalPolicy.C
This page took 0.136914 seconds and 5 git commands to generate.