Details
enum OrcSSERegister
typedef enum {
X86_XMM0 = ORC_VEC_REG_BASE + 16,
X86_XMM1,
X86_XMM2,
X86_XMM3,
X86_XMM4,
X86_XMM5,
X86_XMM6,
X86_XMM7,
X86_XMM8,
X86_XMM9,
X86_XMM10,
X86_XMM11,
X86_XMM12,
X86_XMM13,
X86_XMM14,
X86_XMM15
} OrcSSERegister;
X86_XMM0
|
|
X86_XMM1
|
|
X86_XMM2
|
|
X86_XMM3
|
|
X86_XMM4
|
|
X86_XMM5
|
|
X86_XMM6
|
|
X86_XMM7
|
|
X86_XMM8
|
|
X86_XMM9
|
|
X86_XMM10
|
|
X86_XMM11
|
|
X86_XMM12
|
|
X86_XMM13
|
|
X86_XMM14
|
|
X86_XMM15
|
|
enum OrcTargetSSEFlags
typedef enum {
ORC_TARGET_SSE_SSE2 = (1<<0),
ORC_TARGET_SSE_SSE3 = (1<<1),
ORC_TARGET_SSE_SSSE3 = (1<<2),
ORC_TARGET_SSE_SSE4_1 = (1<<3),
ORC_TARGET_SSE_SSE4_2 = (1<<4),
ORC_TARGET_SSE_SSE4A = (1<<5),
ORC_TARGET_SSE_SSE5 = (1<<6),
ORC_TARGET_SSE_FRAME_POINTER = (1<<7),
ORC_TARGET_SSE_SHORT_JUMPS = (1<<8),
ORC_TARGET_SSE_64BIT = (1<<9)
} OrcTargetSSEFlags;
ORC_TARGET_SSE_SSE2
|
|
ORC_TARGET_SSE_SSE3
|
|
ORC_TARGET_SSE_SSSE3
|
|
ORC_TARGET_SSE_SSE4_1
|
|
ORC_TARGET_SSE_SSE4_2
|
|
ORC_TARGET_SSE_SSE4A
|
|
ORC_TARGET_SSE_SSE5
|
|
ORC_TARGET_SSE_FRAME_POINTER
|
|
ORC_TARGET_SSE_SHORT_JUMPS
|
|
ORC_TARGET_SSE_64BIT
|
|
ORC_SSE_SHUF()
#define ORC_SSE_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d)&3)<<0))
orc_sse_emit_pshufd()
#define orc_sse_emit_pshufd(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86_pshufd, imm, a, b)
orc_sse_emit_pshuflw()
#define orc_sse_emit_pshuflw(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86_pshuflw, imm, a, b)
orc_sse_get_cpu_flags ()
unsigned int orc_sse_get_cpu_flags (void);
orc_sse_init ()
void orc_sse_init (void);