GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions
/tmp/gdb-13.1/gdb/i387-tdep.h File Reference

Go to the source code of this file.

Macros

#define I387_NUM_REGS   16
 
#define I387_ST0_REGNUM(tdep)   ((tdep)->st0_regnum)
 
#define I387_NUM_XMM_REGS(tdep)   ((tdep)->num_xmm_regs)
 
#define I387_NUM_XMM_AVX512_REGS(tdep)   ((tdep)->num_xmm_avx512_regs)
 
#define I387_MM0_REGNUM(tdep)   ((tdep)->mm0_regnum)
 
#define I387_NUM_YMM_REGS(tdep)   ((tdep)->num_ymm_regs)
 
#define I387_YMM0H_REGNUM(tdep)   ((tdep)->ymm0h_regnum)
 
#define I387_BND0R_REGNUM(tdep)   ((tdep)->bnd0r_regnum)
 
#define I387_BNDCFGU_REGNUM(tdep)   ((tdep)->bndcfgu_regnum)
 
#define I387_NUM_MPX_REGS   6
 
#define I387_NUM_BND_REGS   4
 
#define I387_NUM_MPX_CTRL_REGS   2
 
#define I387_NUM_K_REGS   8
 
#define I387_NUM_PKEYS_REGS   1
 
#define I387_PKRU_REGNUM(tdep)   ((tdep)->pkru_regnum)
 
#define I387_K0_REGNUM(tdep)   ((tdep)->k0_regnum)
 
#define I387_NUM_ZMMH_REGS(tdep)   ((tdep)->num_zmm_regs)
 
#define I387_ZMM0H_REGNUM(tdep)   ((tdep)->zmm0h_regnum)
 
#define I387_NUM_YMM_AVX512_REGS(tdep)   ((tdep)->num_ymm_avx512_regs)
 
#define I387_YMM16H_REGNUM(tdep)   ((tdep)->ymm16h_regnum)
 
#define I387_FCTRL_REGNUM(tdep)   (I387_ST0_REGNUM (tdep) + 8)
 
#define I387_FSTAT_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 1)
 
#define I387_FTAG_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 2)
 
#define I387_FISEG_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 3)
 
#define I387_FIOFF_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 4)
 
#define I387_FOSEG_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 5)
 
#define I387_FOOFF_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 6)
 
#define I387_FOP_REGNUM(tdep)   (I387_FCTRL_REGNUM (tdep) + 7)
 
#define I387_XMM0_REGNUM(tdep)   (I387_ST0_REGNUM (tdep) + 16)
 
#define I387_XMM16_REGNUM(tdep)   ((tdep)->xmm16_regnum)
 
#define I387_MXCSR_REGNUM(tdep)    (I387_XMM0_REGNUM (tdep) + I387_NUM_XMM_REGS (tdep))
 
#define I387_YMM0_REGNUM(tdep)   (I387_MXCSR_REGNUM(tdep) + 1)
 
#define I387_YMMENDH_REGNUM(tdep)    (I387_YMM0H_REGNUM (tdep) + I387_NUM_YMM_REGS (tdep))
 
#define I387_MPXEND_REGNUM(tdep)    (I387_BND0R_REGNUM (tdep) + I387_NUM_MPX_REGS)
 
#define I387_KEND_REGNUM(tdep)    (I387_K0_REGNUM (tdep) + I387_NUM_K_REGS)
 
#define I387_ZMMENDH_REGNUM(tdep)    (I387_ZMM0H_REGNUM (tdep) + I387_NUM_ZMMH_REGS (tdep))
 
#define I387_YMMH_AVX512_END_REGNUM(tdep)    (I387_YMM16H_REGNUM (tdep) + I387_NUM_YMM_AVX512_REGS (tdep))
 
#define I387_XMM_AVX512_END_REGNUM(tdep)    (I387_XMM16_REGNUM (tdep) + I387_NUM_XMM_AVX512_REGS (tdep))
 
#define I387_PKEYSEND_REGNUM(tdep)    (I387_PKRU_REGNUM (tdep) + I387_NUM_PKEYS_REGS)
 
#define I387_SIZEOF_FSAVE   108
 
#define I387_SIZEOF_FXSAVE   512
 

Functions

void i387_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args)
 
int i387_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
 
int i387_register_to_value (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep)
 
void i387_value_to_register (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *from)
 
void i387_supply_fsave (struct regcache *regcache, int regnum, const void *fsave)
 
void i387_collect_fsave (const struct regcache *regcache, int regnum, void *fsave)
 
void i387_supply_fxsave (struct regcache *regcache, int regnum, const void *fxsave)
 
void i387_supply_xsave (struct regcache *regcache, int regnum, const void *xsave)
 
void i387_collect_fxsave (const struct regcache *regcache, int regnum, void *fxsave)
 
void i387_collect_xsave (const struct regcache *regcache, int regnum, void *xsave, int gcore)
 
ULONGEST i387_xsave_get_clear_bv (struct gdbarch *gdbarch, const void *xsave)
 
void i387_return_value (struct gdbarch *gdbarch, struct regcache *regcache)
 
void i387_reset_bnd_regs (struct gdbarch *gdbarch, struct regcache *regcache)
 

Macro Definition Documentation

◆ I387_BND0R_REGNUM

#define I387_BND0R_REGNUM (   tdep)    ((tdep)->bnd0r_regnum)

Definition at line 39 of file i387-tdep.h.

◆ I387_BNDCFGU_REGNUM

#define I387_BNDCFGU_REGNUM (   tdep)    ((tdep)->bndcfgu_regnum)

Definition at line 40 of file i387-tdep.h.

◆ I387_FCTRL_REGNUM

#define I387_FCTRL_REGNUM (   tdep)    (I387_ST0_REGNUM (tdep) + 8)

Definition at line 56 of file i387-tdep.h.

◆ I387_FIOFF_REGNUM

#define I387_FIOFF_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 4)

Definition at line 60 of file i387-tdep.h.

◆ I387_FISEG_REGNUM

#define I387_FISEG_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 3)

Definition at line 59 of file i387-tdep.h.

◆ I387_FOOFF_REGNUM

#define I387_FOOFF_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 6)

Definition at line 62 of file i387-tdep.h.

◆ I387_FOP_REGNUM

#define I387_FOP_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 7)

Definition at line 63 of file i387-tdep.h.

◆ I387_FOSEG_REGNUM

#define I387_FOSEG_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 5)

Definition at line 61 of file i387-tdep.h.

◆ I387_FSTAT_REGNUM

#define I387_FSTAT_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 1)

Definition at line 57 of file i387-tdep.h.

◆ I387_FTAG_REGNUM

#define I387_FTAG_REGNUM (   tdep)    (I387_FCTRL_REGNUM (tdep) + 2)

Definition at line 58 of file i387-tdep.h.

◆ I387_K0_REGNUM

#define I387_K0_REGNUM (   tdep)    ((tdep)->k0_regnum)

Definition at line 50 of file i387-tdep.h.

◆ I387_KEND_REGNUM

#define I387_KEND_REGNUM (   tdep)     (I387_K0_REGNUM (tdep) + I387_NUM_K_REGS)

Definition at line 75 of file i387-tdep.h.

◆ I387_MM0_REGNUM

#define I387_MM0_REGNUM (   tdep)    ((tdep)->mm0_regnum)

Definition at line 35 of file i387-tdep.h.

◆ I387_MPXEND_REGNUM

#define I387_MPXEND_REGNUM (   tdep)     (I387_BND0R_REGNUM (tdep) + I387_NUM_MPX_REGS)

Definition at line 72 of file i387-tdep.h.

◆ I387_MXCSR_REGNUM

#define I387_MXCSR_REGNUM (   tdep)     (I387_XMM0_REGNUM (tdep) + I387_NUM_XMM_REGS (tdep))

Definition at line 66 of file i387-tdep.h.

◆ I387_NUM_BND_REGS

#define I387_NUM_BND_REGS   4

Definition at line 44 of file i387-tdep.h.

◆ I387_NUM_K_REGS

#define I387_NUM_K_REGS   8

Definition at line 46 of file i387-tdep.h.

◆ I387_NUM_MPX_CTRL_REGS

#define I387_NUM_MPX_CTRL_REGS   2

Definition at line 45 of file i387-tdep.h.

◆ I387_NUM_MPX_REGS

#define I387_NUM_MPX_REGS   6

Definition at line 43 of file i387-tdep.h.

◆ I387_NUM_PKEYS_REGS

#define I387_NUM_PKEYS_REGS   1

Definition at line 47 of file i387-tdep.h.

◆ I387_NUM_REGS

#define I387_NUM_REGS   16

Definition at line 30 of file i387-tdep.h.

◆ I387_NUM_XMM_AVX512_REGS

#define I387_NUM_XMM_AVX512_REGS (   tdep)    ((tdep)->num_xmm_avx512_regs)

Definition at line 34 of file i387-tdep.h.

◆ I387_NUM_XMM_REGS

#define I387_NUM_XMM_REGS (   tdep)    ((tdep)->num_xmm_regs)

Definition at line 33 of file i387-tdep.h.

◆ I387_NUM_YMM_AVX512_REGS

#define I387_NUM_YMM_AVX512_REGS (   tdep)    ((tdep)->num_ymm_avx512_regs)

Definition at line 53 of file i387-tdep.h.

◆ I387_NUM_YMM_REGS

#define I387_NUM_YMM_REGS (   tdep)    ((tdep)->num_ymm_regs)

Definition at line 36 of file i387-tdep.h.

◆ I387_NUM_ZMMH_REGS

#define I387_NUM_ZMMH_REGS (   tdep)    ((tdep)->num_zmm_regs)

Definition at line 51 of file i387-tdep.h.

◆ I387_PKEYSEND_REGNUM

#define I387_PKEYSEND_REGNUM (   tdep)     (I387_PKRU_REGNUM (tdep) + I387_NUM_PKEYS_REGS)

Definition at line 84 of file i387-tdep.h.

◆ I387_PKRU_REGNUM

#define I387_PKRU_REGNUM (   tdep)    ((tdep)->pkru_regnum)

Definition at line 49 of file i387-tdep.h.

◆ I387_SIZEOF_FSAVE

#define I387_SIZEOF_FSAVE   108

Definition at line 116 of file i387-tdep.h.

◆ I387_SIZEOF_FXSAVE

#define I387_SIZEOF_FXSAVE   512

Definition at line 117 of file i387-tdep.h.

◆ I387_ST0_REGNUM

#define I387_ST0_REGNUM (   tdep)    ((tdep)->st0_regnum)

Definition at line 32 of file i387-tdep.h.

◆ I387_XMM0_REGNUM

#define I387_XMM0_REGNUM (   tdep)    (I387_ST0_REGNUM (tdep) + 16)

Definition at line 64 of file i387-tdep.h.

◆ I387_XMM16_REGNUM

#define I387_XMM16_REGNUM (   tdep)    ((tdep)->xmm16_regnum)

Definition at line 65 of file i387-tdep.h.

◆ I387_XMM_AVX512_END_REGNUM

#define I387_XMM_AVX512_END_REGNUM (   tdep)     (I387_XMM16_REGNUM (tdep) + I387_NUM_XMM_AVX512_REGS (tdep))

Definition at line 81 of file i387-tdep.h.

◆ I387_YMM0_REGNUM

#define I387_YMM0_REGNUM (   tdep)    (I387_MXCSR_REGNUM(tdep) + 1)

Definition at line 68 of file i387-tdep.h.

◆ I387_YMM0H_REGNUM

#define I387_YMM0H_REGNUM (   tdep)    ((tdep)->ymm0h_regnum)

Definition at line 37 of file i387-tdep.h.

◆ I387_YMM16H_REGNUM

#define I387_YMM16H_REGNUM (   tdep)    ((tdep)->ymm16h_regnum)

Definition at line 54 of file i387-tdep.h.

◆ I387_YMMENDH_REGNUM

#define I387_YMMENDH_REGNUM (   tdep)     (I387_YMM0H_REGNUM (tdep) + I387_NUM_YMM_REGS (tdep))

Definition at line 69 of file i387-tdep.h.

◆ I387_YMMH_AVX512_END_REGNUM

#define I387_YMMH_AVX512_END_REGNUM (   tdep)     (I387_YMM16H_REGNUM (tdep) + I387_NUM_YMM_AVX512_REGS (tdep))

Definition at line 79 of file i387-tdep.h.

◆ I387_ZMM0H_REGNUM

#define I387_ZMM0H_REGNUM (   tdep)    ((tdep)->zmm0h_regnum)

Definition at line 52 of file i387-tdep.h.

◆ I387_ZMMENDH_REGNUM

#define I387_ZMMENDH_REGNUM (   tdep)     (I387_ZMM0H_REGNUM (tdep) + I387_NUM_ZMMH_REGS (tdep))

Definition at line 77 of file i387-tdep.h.

Function Documentation

◆ i387_collect_fsave()

void i387_collect_fsave ( const struct regcache regcache,
int  regnum,
void *  fsave 
)

◆ i387_collect_fxsave()

void i387_collect_fxsave ( const struct regcache regcache,
int  regnum,
void *  fxsave 
)

◆ i387_collect_xsave()

void i387_collect_xsave ( const struct regcache regcache,
int  regnum,
void *  xsave,
int  gcore 
)

◆ i387_convert_register_p()

int i387_convert_register_p ( struct gdbarch gdbarch,
int  regnum,
struct type type 
)

Definition at line 327 of file i387-tdep.c.

References type::code(), i386_fp_regnum_p(), i387_ext_type(), and regnum.

Referenced by amd64_init_abi(), and i386_convert_register_p().

◆ i387_print_float_info()

void i387_print_float_info ( struct gdbarch gdbarch,
struct ui_file file,
frame_info_ptr  frame,
const char *  args 
)

◆ i387_register_to_value()

int i387_register_to_value ( frame_info_ptr  frame,
int  regnum,
struct type type,
gdb_byte *  to,
int *  optimizedp,
int *  unavailablep 
)

◆ i387_reset_bnd_regs()

void i387_reset_bnd_regs ( struct gdbarch gdbarch,
struct regcache regcache 
)

◆ i387_return_value()

void i387_return_value ( struct gdbarch gdbarch,
struct regcache regcache 
)

◆ i387_supply_fsave()

void i387_supply_fsave ( struct regcache regcache,
int  regnum,
const void *  fsave 
)

◆ i387_supply_fxsave()

void i387_supply_fxsave ( struct regcache regcache,
int  regnum,
const void *  fxsave 
)

◆ i387_supply_xsave()

void i387_supply_xsave ( struct regcache regcache,
int  regnum,
const void *  xsave 
)

◆ i387_value_to_register()

void i387_value_to_register ( frame_info_ptr  frame,
int  regnum,
struct type type,
const gdb_byte *  from 
)

◆ i387_xsave_get_clear_bv()

ULONGEST i387_xsave_get_clear_bv ( struct gdbarch gdbarch,
const void *  xsave 
)