Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 30f08e7b85fa9f3524676691d36bb21723a3d7f5
      
https://github.com/dyninst/dyninst/commit/30f08e7b85fa9f3524676691d36bb21723a3d7f5
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M common/h/registers/x86_64_regs.h
    M common/src/registers/MachRegister.C
    M dataflowAPI/src/SymEvalPolicy.C

  Log Message:
  -----------
  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



_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to