HPCToolkit
amd-xop.c File Reference
#include "amd-xop.h"
Include dependency graph for amd-xop.c:

Go to the source code of this file.

Classes

struct  apm_t
 
struct  apm_c5_t
 

Macros

#define Table_spec(t)   t, sizeof(t)
 
#define Opc_in_tbl(t)   opc_in_table(opc, Table_spec(t))
 

Typedefs

typedef unsigned char uc
 

Functions

static bool opc_in_table (uc opc, const uc opc_tbl[], const size_t len)
 
static bool xop_op4 (void *seq)
 
static bool vex_op4 (void *seq)
 
static bool vex5_op4 (void *seq)
 
static size_t op4_imm (void *seq)
 
static size_t disp_size (void *seq)
 
static size_t sib_byte (void *seq)
 
static size_t escape_len (void *seq)
 
static size_t ins_len (void *seq)
 
static bool is_prefix (void *ins)
 
void adv_amd_decode (amd_decode_t *stat, void *ins)
 

Variables

static const uc vex_op4_tbl []
 
static const uc xop_op4_tbl []
 
static const uc prefix_tbl []
 

Macro Definition Documentation

◆ Opc_in_tbl

#define Opc_in_tbl (   t)    opc_in_table(opc, Table_spec(t))

Definition at line 82 of file amd-xop.c.

◆ Table_spec

#define Table_spec (   t)    t, sizeof(t)

Definition at line 81 of file amd-xop.c.

Typedef Documentation

◆ uc

typedef unsigned char uc

Definition at line 3 of file amd-xop.c.

Function Documentation

◆ adv_amd_decode()

void adv_amd_decode ( amd_decode_t stat,
void *  ins 
)

Definition at line 221 of file amd-xop.c.

Here is the call graph for this function:

◆ disp_size()

static size_t disp_size ( void *  seq)
static

Definition at line 136 of file amd-xop.c.

Here is the caller graph for this function:

◆ escape_len()

static size_t escape_len ( void *  seq)
static

Definition at line 183 of file amd-xop.c.

Here is the caller graph for this function:

◆ ins_len()

static size_t ins_len ( void *  seq)
inlinestatic

Definition at line 196 of file amd-xop.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_prefix()

static bool is_prefix ( void *  ins)
static

Definition at line 211 of file amd-xop.c.

Here is the caller graph for this function:

◆ op4_imm()

static size_t op4_imm ( void *  seq)
static

Definition at line 120 of file amd-xop.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ opc_in_table()

static bool opc_in_table ( uc  opc,
const uc  opc_tbl[],
const size_t  len 
)
inlinestatic

Definition at line 85 of file amd-xop.c.

◆ sib_byte()

static size_t sib_byte ( void *  seq)
static

Definition at line 162 of file amd-xop.c.

Here is the caller graph for this function:

◆ vex5_op4()

static bool vex5_op4 ( void *  seq)
static

Definition at line 111 of file amd-xop.c.

Here is the caller graph for this function:

◆ vex_op4()

static bool vex_op4 ( void *  seq)
static

Definition at line 102 of file amd-xop.c.

Here is the caller graph for this function:

◆ xop_op4()

static bool xop_op4 ( void *  seq)
static

Definition at line 93 of file amd-xop.c.

Here is the caller graph for this function:

Variable Documentation

◆ prefix_tbl

const uc prefix_tbl[]
static
Initial value:
= {
0x66,
0x67,
0x2e, 0x3e, 0x26, 0x64, 0x65, 0x36,
0xf0,
0xf2, 0xf3,
}

Definition at line 202 of file amd-xop.c.

◆ vex_op4_tbl

const uc vex_op4_tbl[]
static
Initial value:
= {
0x48,
0x49,
0x5c,
0x5d,
0x5e,
0x5f,
0x68,
0x69,
0x6a,
0x6b,
0x6c,
0x6d,
0x6e,
0x6f,
0x78,
0x79,
0x7a,
0x7b,
0x7c,
0x7d,
0x7e,
0x7f,
}

Definition at line 32 of file amd-xop.c.

◆ xop_op4_tbl

const uc xop_op4_tbl[]
static
Initial value:
= {
0x85,
0x86,
0x87,
0x8e,
0x8f,
0x95,
0x96,
0x97,
0x9f,
0xa2,
0xa3,
0xa6,
0xb6,
0xcc,
0xcd,
0xce,
0xcf,
0xec,
0xed,
0xee,
0xef,
}

Definition at line 57 of file amd-xop.c.