![]() |
![]() |
![]() |
Orc Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
enum OrcMMXRegister; enum OrcTargetMMXFlags; #define ORC_MMX_SHUF (a, b, c, d) void orc_mmx_emit_0f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
); void orc_mmx_emit_660f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
); void orc_mmx_emit_f20f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
); void orc_mmx_emit_f30f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
); void orc_mmx_emit_loadib (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_loadil (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_loadiw (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_loadpb (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_loadpl (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_loadpq (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_loadpw (OrcCompiler *p
,int reg
,int value
); void orc_mmx_emit_pshufw (OrcCompiler *p
,int shuf
,int src
,int dest
); void orc_mmx_emit_shiftimm (OrcCompiler *p
,const char *insn_name
,int code
,int modrm_code
,int shift
,int reg
); unsigned int orc_mmx_get_cpu_flags (void
); void orc_mmx_init (void
);
typedef enum { X86_MM0 = ORC_VEC_REG_BASE, X86_MM1, X86_MM2, X86_MM3, X86_MM4, X86_MM5, X86_MM6, X86_MM7 } OrcMMXRegister;
typedef enum { ORC_TARGET_MMX_MMX = (1<<0), ORC_TARGET_MMX_MMXEXT = (1<<1), ORC_TARGET_MMX_3DNOW = (1<<2), ORC_TARGET_MMX_3DNOWEXT = (1<<3), ORC_TARGET_MMX_SSSE3 = (1<<4), ORC_TARGET_MMX_FRAME_POINTER = (1<<7), ORC_TARGET_MMX_SHORT_JUMPS = (1<<8), ORC_TARGET_MMX_64BIT = (1<<9) } OrcTargetMMXFlags;
#define ORC_MMX_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d)&3)<<0))
|
|
|
|
|
|
|
void orc_mmx_emit_0f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
);
|
|
|
|
|
|
|
|
|
void orc_mmx_emit_660f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
);
|
|
|
|
|
|
|
|
|
void orc_mmx_emit_f20f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
);
|
|
|
|
|
|
|
|
|
void orc_mmx_emit_f30f (OrcCompiler *p
,const char *insn_name
,int code
,int src
,int dest
);
|
|
|
|
|
|
|
|
|
void orc_mmx_emit_loadib (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_loadil (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_loadiw (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_loadpb (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_loadpl (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_loadpq (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_loadpw (OrcCompiler *p
,int reg
,int value
);
|
|
|
|
|
void orc_mmx_emit_pshufw (OrcCompiler *p
,int shuf
,int src
,int dest
);
|
|
|
|
|
|
|
void orc_mmx_emit_shiftimm (OrcCompiler *p
,const char *insn_name
,int code
,int modrm_code
,int shift
,int reg
);
|
|
|
|
|
|
|
|
|
|
|