orcarray.h   orcarray.h 
skipping to change at line 30 skipping to change at line 30
int alloc_len; int alloc_len;
}; };
enum { enum {
ORC_PATTERN_RANDOM = 0, ORC_PATTERN_RANDOM = 0,
ORC_PATTERN_FLOAT_SMALL, ORC_PATTERN_FLOAT_SMALL,
ORC_PATTERN_FLOAT_SPECIAL, ORC_PATTERN_FLOAT_SPECIAL,
ORC_PATTERN_FLOAT_DENORMAL ORC_PATTERN_FLOAT_DENORMAL
}; };
OrcArray *orc_array_new (int n, int m, int element_size, int misalignment); OrcArray *orc_array_new (int n, int m, int element_size, int misalignment,
int alignment);
void orc_array_free (OrcArray *array); void orc_array_free (OrcArray *array);
void orc_array_set_pattern (OrcArray *array, int value); void orc_array_set_pattern (OrcArray *array, int value);
void orc_array_set_random (OrcArray *array, OrcRandomContext *context); void orc_array_set_random (OrcArray *array, OrcRandomContext *context);
void orc_array_set_pattern_2 (OrcArray *array, OrcRandomContext *context, void orc_array_set_pattern_2 (OrcArray *array, OrcRandomContext *context,
int type); int type);
int orc_array_compare (OrcArray *array1, OrcArray *array2, int flags); int orc_array_compare (OrcArray *array1, OrcArray *array2, int flags);
int orc_array_check_out_of_bounds (OrcArray *array); int orc_array_check_out_of_bounds (OrcArray *array);
 End of changes. 1 change blocks. 
1 lines changed or deleted 2 lines changed or added


 orccpuinsn.h   orccpuinsn.h 
skipping to change at line 29 skipping to change at line 29
int memoffset; int memoffset;
int indexreg; int indexreg;
int shift; int shift;
int size; int size;
}; };
struct _OrcSysOpcode { struct _OrcSysOpcode {
char name[16]; char name[16];
int type; int type;
int flags; int flags;
orc_uint8 prefix;
orc_uint32 code; orc_uint32 code;
int code2; int code2;
}; };
#define ORC_SYS_OPCODE_FLAG_FIXED (1<<0) #define ORC_SYS_OPCODE_FLAG_FIXED (1<<0)
#endif #endif
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 orcmmx.h   orcmmx.h 
#ifndef _ORC_MMX_H_ #ifndef _ORC_MMX_H_
#define _ORC_MMX_H_ #define _ORC_MMX_H_
#include <orc/orcx86.h> #include <orc/orcx86.h>
#include <orc/orcx86insn.h>
ORC_BEGIN_DECLS ORC_BEGIN_DECLS
typedef enum { typedef enum {
ORC_TARGET_MMX_MMX = (1<<0), ORC_TARGET_MMX_MMX = (1<<0),
ORC_TARGET_MMX_MMXEXT = (1<<1), ORC_TARGET_MMX_MMXEXT = (1<<1),
ORC_TARGET_MMX_3DNOW = (1<<2), ORC_TARGET_MMX_3DNOW = (1<<2),
ORC_TARGET_MMX_3DNOWEXT = (1<<3), ORC_TARGET_MMX_3DNOWEXT = (1<<3),
ORC_TARGET_MMX_SSSE3 = (1<<4), ORC_TARGET_MMX_SSSE3 = (1<<4),
ORC_TARGET_MMX_SSE4_1 = (1<<5), ORC_TARGET_MMX_SSE4_1 = (1<<5),
skipping to change at line 44 skipping to change at line 45
#define ORC_MMX_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d) &3)<<0)) #define ORC_MMX_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d) &3)<<0))
const char * orc_x86_get_regname_mmx(int i); const char * orc_x86_get_regname_mmx(int i);
void orc_x86_emit_mov_memoffset_mmx (OrcCompiler *compiler, int size, int o ffset, void orc_x86_emit_mov_memoffset_mmx (OrcCompiler *compiler, int size, int o ffset,
int reg1, int reg2, int is_aligned); int reg1, int reg2, int is_aligned);
void orc_x86_emit_mov_memindex_mmx (OrcCompiler *compiler, int size, int of fset, void orc_x86_emit_mov_memindex_mmx (OrcCompiler *compiler, int size, int of fset,
int reg1, int regindex, int shift, int reg2, int is_aligned); int reg1, int regindex, int shift, int reg2, int is_aligned);
void orc_x86_emit_mov_mmx_memoffset (OrcCompiler *compiler, int size, int r eg1, int offset, void orc_x86_emit_mov_mmx_memoffset (OrcCompiler *compiler, int size, int r eg1, int offset,
int reg2, int aligned, int uncached); int reg2, int aligned, int uncached);
#if 0
void orc_x86_emit_mov_mmx_reg_reg (OrcCompiler *compiler, int reg1, int reg 2); void orc_x86_emit_mov_mmx_reg_reg (OrcCompiler *compiler, int reg1, int reg 2);
void orc_x86_emit_mov_reg_mmx (OrcCompiler *compiler, int reg1, int reg2); void orc_x86_emit_mov_reg_mmx (OrcCompiler *compiler, int reg1, int reg2);
void orc_x86_emit_mov_mmx_reg (OrcCompiler *compiler, int reg1, int reg2); void orc_x86_emit_mov_mmx_reg (OrcCompiler *compiler, int reg1, int reg2);
void orc_mmx_emit_loadib (OrcCompiler *p, int reg, int value); void orc_mmx_emit_loadib (OrcCompiler *p, int reg, int value);
void orc_mmx_emit_loadiw (OrcCompiler *p, int reg, int value); void orc_mmx_emit_loadiw (OrcCompiler *p, int reg, int value);
void orc_mmx_emit_loadil (OrcCompiler *p, int reg, int value); void orc_mmx_emit_loadil (OrcCompiler *p, int reg, int value);
void orc_mmx_emit_loadpb (OrcCompiler *p, int reg, int value); void orc_mmx_emit_loadpb (OrcCompiler *p, int reg, int value);
void orc_mmx_emit_loadpw (OrcCompiler *p, int reg, int value); void orc_mmx_emit_loadpw (OrcCompiler *p, int reg, int value);
void orc_mmx_emit_loadpl (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_loadpq (OrcCompiler *p, int reg, int value);
skipping to change at line 71 skipping to change at line 73
void orc_mmx_emit_0f (OrcCompiler *p, const char *insn_name, int code, void orc_mmx_emit_0f (OrcCompiler *p, const char *insn_name, int code,
int src, int dest); int src, int dest);
void orc_mmx_emit_pshufw (OrcCompiler *p, int shuf, int src, int dest); void orc_mmx_emit_pshufw (OrcCompiler *p, int shuf, int src, int dest);
void orc_mmx_emit_palignr (OrcCompiler *p, int align, int src, int dest); void orc_mmx_emit_palignr (OrcCompiler *p, int align, int src, int dest);
void orc_mmx_emit_pinsrw_memoffset (OrcCompiler *p, int imm, int offset, void orc_mmx_emit_pinsrw_memoffset (OrcCompiler *p, int imm, int offset,
int src, int dest); int src, int dest);
void orc_mmx_emit_pextrw_memoffset (OrcCompiler *p, int imm, int src, void orc_mmx_emit_pextrw_memoffset (OrcCompiler *p, int imm, int src,
int offset, int dest); int offset, int dest);
void orc_mmx_emit_shiftimm (OrcCompiler *p, const char *insn_name, void orc_mmx_emit_shiftimm (OrcCompiler *p, const char *insn_name,
int code, int modrm_code, int shift, int reg); int code, int modrm_code, int shift, int reg);
#endif
unsigned int orc_mmx_get_cpu_flags (void); unsigned int orc_mmx_get_cpu_flags (void);
void orc_mmx_load_constant (OrcCompiler *compiler, int reg, int size, void orc_mmx_load_constant (OrcCompiler *compiler, int reg, int size,
orc_uint64 value); orc_uint64 value);
/* MMX instructions */
#define orc_mmx_emit_punpcklbw(p,a,b) orc_mmx_emit_660f (p, "punpcklbw", 0
x60, a, b)
#define orc_mmx_emit_punpcklwd(p,a,b) orc_mmx_emit_660f (p, "punpcklwd", 0
x61, a, b)
#define orc_mmx_emit_punpckldq(p,a,b) orc_mmx_emit_660f (p, "punpckldq", 0
x62, a, b)
#define orc_mmx_emit_packsswb(p,a,b) orc_mmx_emit_660f (p, "packsswb", 0x
63, a, b)
#define orc_mmx_emit_pcmpgtb(p,a,b) orc_mmx_emit_660f (p, "pcmpgtb", 0x6
4, a, b)
#define orc_mmx_emit_pcmpgtw(p,a,b) orc_mmx_emit_660f (p, "pcmpgtw", 0x6
5, a, b)
#define orc_mmx_emit_pcmpgtd(p,a,b) orc_mmx_emit_660f (p, "pcmpgtd", 0x6
6, a, b)
#define orc_mmx_emit_packuswb(p,a,b) orc_mmx_emit_660f (p, "packuswb", 0x
67, a, b)
#define orc_mmx_emit_punpckhbw(p,a,b) orc_mmx_emit_660f (p, "punpckhbw", 0
x68, a, b)
#define orc_mmx_emit_punpckhwd(p,a,b) orc_mmx_emit_660f (p, "punpckhwd", 0
x69, a, b)
#define orc_mmx_emit_punpckhdq(p,a,b) orc_mmx_emit_660f (p, "punpckhdq", 0
x6a, a, b)
#define orc_mmx_emit_packssdw(p,a,b) orc_mmx_emit_660f (p, "packssdw", 0x
6b, a, b)
#define orc_mmx_emit_movq(p,a,b) orc_mmx_emit_660f (p, "movq", 0x6f,
a, b)
#define orc_mmx_emit_psraw_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psraw
", 0x71, 4, a, b)
#define orc_mmx_emit_psrlw_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrlw
", 0x71, 2, a, b)
#define orc_mmx_emit_psllw_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psllw
", 0x71, 6, a, b)
#define orc_mmx_emit_psrad_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrad
", 0x72, 4, a, b)
#define orc_mmx_emit_psrld_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrld
", 0x72, 2, a, b)
#define orc_mmx_emit_pslld_imm(p,a,b) orc_mmx_emit_shiftimm (p, "pslld
", 0x72, 6, a, b)
#define orc_mmx_emit_psrlq_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrlq
", 0x73, 2, a, b)
#define orc_mmx_emit_psllq_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psllq
", 0x73, 6, a, b)
#define orc_mmx_emit_pcmpeqb(p,a,b) orc_mmx_emit_660f (p, "pcmpeqb", 0x7
4, a, b)
#define orc_mmx_emit_pcmpeqw(p,a,b) orc_mmx_emit_660f (p, "pcmpeqw", 0x7
5, a, b)
#define orc_mmx_emit_pcmpeqd(p,a,b) orc_mmx_emit_660f (p, "pcmpeqd", 0x7
6, a, b)
#define orc_mmx_emit_emms(p) orc_x86_emit_emms (p)
#define orc_mmx_emit_pmullw(p,a,b) orc_mmx_emit_660f (p, "pmullw", 0xd5
, a, b)
#define orc_mmx_emit_psubusb(p,a,b) orc_mmx_emit_660f (p, "psubusb", 0xd
8, a, b)
#define orc_mmx_emit_psubusw(p,a,b) orc_mmx_emit_660f (p, "psubusw", 0xd
9, a, b)
#define orc_mmx_emit_pand(p,a,b) orc_mmx_emit_660f (p, "pand", 0xdb,
a, b)
#define orc_mmx_emit_paddusb(p,a,b) orc_mmx_emit_660f (p, "paddusb", 0xd
c, a, b)
#define orc_mmx_emit_paddusw(p,a,b) orc_mmx_emit_660f (p, "paddusw", 0xd
d, a, b)
#define orc_mmx_emit_pandn(p,a,b) orc_mmx_emit_660f (p, "pandn", 0xdf,
a, b)
#define orc_mmx_emit_pmulhw(p,a,b) orc_mmx_emit_660f (p, "pmulhw", 0xe5
, a, b)
#define orc_mmx_emit_psubsb(p,a,b) orc_mmx_emit_660f (p, "psubsb", 0xe8
, a, b)
#define orc_mmx_emit_psubsw(p,a,b) orc_mmx_emit_660f (p, "psubsw", 0xe9
, a, b)
#define orc_mmx_emit_por(p,a,b) orc_mmx_emit_660f (p, "por", 0xeb, a
, b)
#define orc_mmx_emit_paddsb(p,a,b) orc_mmx_emit_660f (p, "paddsb", 0xec
, a, b)
#define orc_mmx_emit_paddsw(p,a,b) orc_mmx_emit_660f (p, "paddsw", 0xed
, a, b)
#define orc_mmx_emit_pxor(p,a,b) orc_mmx_emit_660f (p, "pxor", 0xef,
a, b)
#define orc_mmx_emit_pmaddwd(p,a,b) orc_mmx_emit_660f (p, "pmaddwd", 0xf
5, a, b)
#define orc_mmx_emit_psubb(p,a,b) orc_mmx_emit_660f (p, "psubb", 0xf8,
a, b)
#define orc_mmx_emit_psubw(p,a,b) orc_mmx_emit_660f (p, "psubw", 0xf9,
a, b)
#define orc_mmx_emit_psubd(p,a,b) orc_mmx_emit_660f (p, "psubd", 0xfa,
a, b)
#define orc_mmx_emit_paddb(p,a,b) orc_mmx_emit_660f (p, "paddb", 0xfc,
a, b)
#define orc_mmx_emit_paddw(p,a,b) orc_mmx_emit_660f (p, "paddw", 0xfd,
a, b)
#define orc_mmx_emit_paddd(p,a,b) orc_mmx_emit_660f (p, "paddd", 0xfe,
a, b)
/* MMX EXT instructions */
/* MMX SSE instructions */
#define orc_mmx_emit_pinsrw(p,a,b) orc_mmx_emit_660f (p, "pinsrw", 0xc4
, a, b)
#define orc_mmx_emit_pextrw(p,a,b) orc_mmx_emit_660f (p, "pextrw", 0xc5
, a, b)
#define orc_mmx_emit_pminub(p,a,b) orc_mmx_emit_660f (p, "pminub", 0xda
, a, b)
#define orc_mmx_emit_pmaxub(p,a,b) orc_mmx_emit_660f (p, "pmaxub", 0xde
, a, b)
#define orc_mmx_emit_pavgb(p,a,b) orc_mmx_emit_660f (p, "pavgb", 0xe0,
a, b)
#define orc_mmx_emit_pavgw(p,a,b) orc_mmx_emit_660f (p, "pavgw", 0xe3,
a, b)
#define orc_mmx_emit_pmulhuw(p,a,b) orc_mmx_emit_660f (p, "pmulhuw", 0xe
4, a, b)
#define orc_mmx_emit_pminsw(p,a,b) orc_mmx_emit_660f (p, "pminsw", 0xea
, a, b)
#define orc_mmx_emit_pmaxsw(p,a,b) orc_mmx_emit_660f (p, "pmaxsw", 0xee
, a, b)
#define orc_mmx_emit_psadbw(p,a,b) orc_mmx_emit_660f (p, "psadbw", 0xf6
, a, b)
/* 3DNow! instrunctions, FIXME, not correct */
#define orc_mmx_emit_pmulhrw(p,a,b) orc_mmx_emit_660f (p, "pmulhrw", 0xb
7, a, b)
#define orc_mmx_emit_pavgusb(p,a,b) orc_mmx_emit_660f (p, "pavgusb", 0xb
f, a, b)
/* MMX SSE2 instructions */
#define orc_mmx_emit_paddq(p,a,b) orc_mmx_emit_660f (p, "paddq", 0xd4,
a, b)
#define orc_mmx_emit_psubq(p,a,b) orc_mmx_emit_660f (p, "psubq", 0xfb,
a, b)
#define orc_mmx_emit_pmuludq(p,a,b) orc_mmx_emit_660f (p, "pmuludq", 0xf
4, a, b)
/* MMX SSE3 instructions */
/* MMX SSSE3 instructions */
#define orc_mmx_emit_pshufb(p,a,b) orc_mmx_emit_660f (p, "pshufb", 0x38
00, a, b)
#define orc_mmx_emit_phaddw(p,a,b) orc_mmx_emit_660f (p, "phaddw", 0x38
01, a, b)
#define orc_mmx_emit_phaddd(p,a,b) orc_mmx_emit_660f (p, "phaddd", 0x38
02, a, b)
#define orc_mmx_emit_phaddsw(p,a,b) orc_mmx_emit_660f (p, "phaddsw", 0x3
803, a, b)
#define orc_mmx_emit_pmaddubsw(p,a,b) orc_mmx_emit_660f (p, "pmaddubsw", 0
x3804, a, b)
#define orc_mmx_emit_phsubw(p,a,b) orc_mmx_emit_660f (p, "phsubw", 0x38
05, a, b)
#define orc_mmx_emit_phsubd(p,a,b) orc_mmx_emit_660f (p, "phsubd", 0x38
06, a, b)
#define orc_mmx_emit_phsubsw(p,a,b) orc_mmx_emit_660f (p, "phsubsw", 0x3
807, a, b)
#define orc_mmx_emit_psignb(p,a,b) orc_mmx_emit_660f (p, "psignb", 0x38
08, a, b)
#define orc_mmx_emit_psignw(p,a,b) orc_mmx_emit_660f (p, "psignw", 0x38
09, a, b)
#define orc_mmx_emit_psignd(p,a,b) orc_mmx_emit_660f (p, "psignd", 0x38
0a, a, b)
#define orc_mmx_emit_pmulhrsw(p,a,b) orc_mmx_emit_660f (p, "pmulhrsw", 0x
380b, a, b)
#define orc_mmx_emit_pabsb(p,a,b) orc_mmx_emit_660f (p, "pabsb", 0x381
c, a, b)
#define orc_mmx_emit_pabsw(p,a,b) orc_mmx_emit_660f (p, "pabsw", 0x381
d, a, b)
#define orc_mmx_emit_pabsd(p,a,b) orc_mmx_emit_660f (p, "pabsd", 0x381
e, a, b)
/* MMX SSE4.1 instructions */
#define orc_mmx_emit_pmovsxbw(p,a,b) orc_mmx_emit_660f (p, "pmovsxbw", 0x
3820, a, b)
#define orc_mmx_emit_pmovsxbd(p,a,b) orc_mmx_emit_660f (p, "pmovsxbd", 0x
3821, a, b)
#define orc_mmx_emit_pmovsxbq(p,a,b) orc_mmx_emit_660f (p, "pmovsxbq", 0x
3822, a, b)
#define orc_mmx_emit_pmovsxwd(p,a,b) orc_mmx_emit_660f (p, "pmovsxwd", 0x
3823, a, b)
#define orc_mmx_emit_pmovsxwq(p,a,b) orc_mmx_emit_660f (p, "pmovsxwq", 0x
3824, a, b)
#define orc_mmx_emit_pmovsxdq(p,a,b) orc_mmx_emit_660f (p, "pmovsxdq", 0x
3825, a, b)
#define orc_mmx_emit_pmuldq(p,a,b) orc_mmx_emit_660f (p, "pmuldq", 0x38
28, a, b)
#define orc_mmx_emit_pcmpeqq(p,a,b) orc_mmx_emit_660f (p, "pcmpeqq", 0x3
829, a, b)
#define orc_mmx_emit_packusdw(p,a,b) orc_mmx_emit_660f (p, "packusdw", 0x
382b, a, b)
#define orc_mmx_emit_pmovzxbw(p,a,b) orc_mmx_emit_660f (p, "pmovzxbw", 0x
3830, a, b)
#define orc_mmx_emit_pmovzxbd(p,a,b) orc_mmx_emit_660f (p, "pmovzxbd", 0x
3831, a, b)
#define orc_mmx_emit_pmovzxbq(p,a,b) orc_mmx_emit_660f (p, "pmovzxbq", 0x
3832, a, b)
#define orc_mmx_emit_pmovzxwd(p,a,b) orc_mmx_emit_660f (p, "pmovzxwd", 0x
3833, a, b)
#define orc_mmx_emit_pmovzxwq(p,a,b) orc_mmx_emit_660f (p, "pmovzxwq", 0x
3834, a, b)
#define orc_mmx_emit_pmovzxdq(p,a,b) orc_mmx_emit_660f (p, "pmovzxdq", 0x
3835, a, b)
#define orc_mmx_emit_pmulld(p,a,b) orc_mmx_emit_660f (p, "pmuldq", 0x38
40, a, b)
#define orc_mmx_emit_phminposuw(p,a,b) orc_mmx_emit_660f (p, "phminposuw",
0x3841, a, b)
#define orc_mmx_emit_pminsb(p,a,b) orc_mmx_emit_660f (p, "pminsb", 0x38
38, a, b)
#define orc_mmx_emit_pminsd(p,a,b) orc_mmx_emit_660f (p, "pminsd", 0x38
39, a, b)
#define orc_mmx_emit_pminuw(p,a,b) orc_mmx_emit_660f (p, "pminuw", 0x38
3a, a, b)
#define orc_mmx_emit_pminud(p,a,b) orc_mmx_emit_660f (p, "pminud", 0x38
3b, a, b)
#define orc_mmx_emit_pmaxsb(p,a,b) orc_mmx_emit_660f (p, "pmaxsb", 0x38
3c, a, b)
#define orc_mmx_emit_pmaxsd(p,a,b) orc_mmx_emit_660f (p, "pmaxsd", 0x38
3d, a, b)
#define orc_mmx_emit_pmaxuw(p,a,b) orc_mmx_emit_660f (p, "pmaxuw", 0x38
3e, a, b)
#define orc_mmx_emit_pmaxud(p,a,b) orc_mmx_emit_660f (p, "pmaxud", 0x38
3f, a, b)
/* SSE4.2 instructions */
#define orc_mmx_emit_pcmpgtq(p,a,b) orc_mmx_emit_660f (p, "pcmpgtq", 0x3
837, a, b)
#endif #endif
ORC_END_DECLS ORC_END_DECLS
#endif #endif
 End of changes. 4 change blocks. 
238 lines changed or deleted 3 lines changed or added


 orcprogram.h   orcprogram.h 
skipping to change at line 225 skipping to change at line 225
int used; int used;
int first_use; int first_use;
int last_use; int last_use;
int replaced; int replaced;
int replacement; int replacement;
int alloc; int alloc;
int is_chained; int is_chained;
int is_aligned; int is_aligned;
int alignment;
int is_uncached; int is_uncached;
orc_union64 value; orc_union64 value;
int ptr_register; int ptr_register;
int ptr_offset; int ptr_offset;
int mask_alloc; int mask_alloc;
int aligned_data; int aligned_data;
int param_type; int param_type;
int load_dest; int load_dest;
skipping to change at line 408 skipping to change at line 409
unsigned char *_unused2; unsigned char *_unused2;
/* The offset of code_exec in this structure is part of the ABI */ /* The offset of code_exec in this structure is part of the ABI */
void *code_exec; void *code_exec;
OrcInstruction insns[ORC_N_INSNS]; OrcInstruction insns[ORC_N_INSNS];
OrcVariable vars[ORC_N_VARIABLES]; OrcVariable vars[ORC_N_VARIABLES];
void *backup_func; void *backup_func;
int is_2d; int is_2d;
int constant_n; int constant_n;
int n_multiple;
int n_minimum;
int n_maximum;
int constant_m; int constant_m;
OrcCode *orccode; OrcCode *orccode;
/* Hide this here. Belongs in a Parser object */ /* Hide this here. Belongs in a Parser object */
char *init_function; char *init_function;
char *error_msg;
}; };
/** /**
* OrcCompiler: * OrcCompiler:
* *
* The OrcCompiler structure has no public members * The OrcCompiler structure has no public members
*/ */
struct _OrcCompiler { struct _OrcCompiler {
/*< private >*/ /*< private >*/
OrcProgram *program; OrcProgram *program;
skipping to change at line 444 skipping to change at line 449
unsigned char *code; unsigned char *code;
unsigned char *codeptr; unsigned char *codeptr;
OrcConstant constants[ORC_N_CONSTANTS]; OrcConstant constants[ORC_N_CONSTANTS];
int n_constants; int n_constants;
OrcFixup fixups[ORC_N_FIXUPS]; OrcFixup fixups[ORC_N_FIXUPS];
int n_fixups; int n_fixups;
unsigned char *labels[ORC_N_LABELS]; unsigned char *labels[ORC_N_LABELS];
int labels_int[ORC_N_LABELS];
int n_labels; int n_labels;
int error; int error;
char *error_msg;
OrcCompileResult result; OrcCompileResult result;
int valid_regs[ORC_N_REGS]; int valid_regs[ORC_N_REGS];
int save_regs[ORC_N_REGS]; int save_regs[ORC_N_REGS];
int used_regs[ORC_N_REGS]; int used_regs[ORC_N_REGS];
int alloc_regs[ORC_N_REGS]; int alloc_regs[ORC_N_REGS];
int loop_shift; int loop_shift;
int long_jumps; int long_jumps;
int use_frame_pointer; int use_frame_pointer;
skipping to change at line 485 skipping to change at line 492
int size_region; int size_region;
int has_iterator_opcode; int has_iterator_opcode;
int offset; int offset;
int min_temp_reg; int min_temp_reg;
int max_used_temp_reg; int max_used_temp_reg;
int insn_shift; /* used when emitting rules */ int insn_shift; /* used when emitting rules */
int max_var_size; /* size of largest var */ int max_var_size; /* size of largest var */
int load_params; int load_params;
void *output_insns;
int n_output_insns;
int n_output_insns_alloc;
}; };
#define ORC_SRC_ARG(p,i,n) ((p)->vars[(i)->src_args[(n)]].alloc) #define ORC_SRC_ARG(p,i,n) ((p)->vars[(i)->src_args[(n)]].alloc)
#define ORC_DEST_ARG(p,i,n) ((p)->vars[(i)->dest_args[(n)]].alloc) #define ORC_DEST_ARG(p,i,n) ((p)->vars[(i)->dest_args[(n)]].alloc)
#define ORC_SRC_TYPE(p,i,n) ((p)->vars[(i)->src_args[(n)]].vartype) #define ORC_SRC_TYPE(p,i,n) ((p)->vars[(i)->src_args[(n)]].vartype)
#define ORC_DEST_TYPE(p,i,n) ((p)->vars[(i)->dest_args[(n)]].vartype) #define ORC_DEST_TYPE(p,i,n) ((p)->vars[(i)->dest_args[(n)]].vartype)
#define ORC_SRC_VAL(p,insn,n) ((p)->vars[(insn)->src_args[(n)]].value.i) #define ORC_SRC_VAL(p,insn,n) ((p)->vars[(insn)->src_args[(n)]].value.i)
#define ORC_DEST_VAL(p,insn,n) ((p)->vars[(insn)->dest_args[(n)]].value.i) #define ORC_DEST_VAL(p,insn,n) ((p)->vars[(insn)->dest_args[(n)]].value.i)
/** /**
skipping to change at line 635 skipping to change at line 646
OrcProgram * orc_program_new_dss (int size1, int size2, int size3); OrcProgram * orc_program_new_dss (int size1, int size2, int size3);
OrcProgram * orc_program_new_as (int size1, int size2); OrcProgram * orc_program_new_as (int size1, int size2);
OrcProgram * orc_program_new_ass (int size1, int size2, int size3); OrcProgram * orc_program_new_ass (int size1, int size2, int size3);
OrcStaticOpcode * orc_opcode_find_by_name (const char *name); OrcStaticOpcode * orc_opcode_find_by_name (const char *name);
void orc_opcode_init (void); void orc_opcode_init (void);
const char * orc_program_get_name (OrcProgram *program); const char * orc_program_get_name (OrcProgram *program);
void orc_program_set_name (OrcProgram *program, const char *name); void orc_program_set_name (OrcProgram *program, const char *name);
void orc_program_set_2d (OrcProgram *program); void orc_program_set_2d (OrcProgram *program);
void orc_program_set_constant_n (OrcProgram *program, int n); void orc_program_set_constant_n (OrcProgram *program, int n);
void orc_program_set_n_multiple (OrcProgram *ex, int n);
void orc_program_set_n_minimum (OrcProgram *ex, int n);
void orc_program_set_n_maximum (OrcProgram *ex, int n);
void orc_program_set_constant_m (OrcProgram *program, int m); void orc_program_set_constant_m (OrcProgram *program, int m);
void orc_program_append (OrcProgram *p, const char *opcode, int arg0, int a rg1, int arg2); void orc_program_append (OrcProgram *p, const char *opcode, int arg0, int a rg1, int arg2);
void orc_program_append_2 (OrcProgram *program, const char *name, void orc_program_append_2 (OrcProgram *program, const char *name,
unsigned int flags, int arg0, int arg1, int arg2, int arg3); unsigned int flags, int arg0, int arg1, int arg2, int arg3);
void orc_program_append_str (OrcProgram *p, const char *opcode, void orc_program_append_str (OrcProgram *p, const char *opcode,
const char * arg0, const char * arg1, const char * arg2); const char * arg0, const char * arg1, const char * arg2);
void orc_program_append_str_2 (OrcProgram *program, const char *name, void orc_program_append_str_2 (OrcProgram *program, const char *name,
unsigned int flags, const char *arg1, const char *arg2, const char *arg 3, unsigned int flags, const char *arg1, const char *arg2, const char *arg 3,
const char *arg4); const char *arg4);
skipping to change at line 673 skipping to change at line 687
OrcCompileResult orc_program_compile_full (OrcProgram *p, OrcTarget *target , OrcCompileResult orc_program_compile_full (OrcProgram *p, OrcTarget *target ,
unsigned int flags); unsigned int flags);
void orc_program_set_backup_function (OrcProgram *p, OrcExecutorFunc func); void orc_program_set_backup_function (OrcProgram *p, OrcExecutorFunc func);
void orc_program_free (OrcProgram *program); void orc_program_free (OrcProgram *program);
int orc_program_find_var_by_name (OrcProgram *program, const char *name); int orc_program_find_var_by_name (OrcProgram *program, const char *name);
int orc_program_add_temporary (OrcProgram *program, int size, const char *n ame); int orc_program_add_temporary (OrcProgram *program, int size, const char *n ame);
int orc_program_dup_temporary (OrcProgram *program, int i, int j); int orc_program_dup_temporary (OrcProgram *program, int i, int j);
int orc_program_add_source (OrcProgram *program, int size, const char *name ); int orc_program_add_source (OrcProgram *program, int size, const char *name );
int orc_program_add_source_full (OrcProgram *program, int size, const char
*name,
const char *type_name, int alignment);
int orc_program_add_destination (OrcProgram *program, int size, const char *name); int orc_program_add_destination (OrcProgram *program, int size, const char *name);
int orc_program_add_destination_full (OrcProgram *program, int size, const
char *name,
const char *type_name, int alignment);
int orc_program_add_constant (OrcProgram *program, int size, int value, con st char *name); int orc_program_add_constant (OrcProgram *program, int size, int value, con st char *name);
int orc_program_add_constant_int64 (OrcProgram *program, int size, orc_int6 4 value, const char *name); int orc_program_add_constant_int64 (OrcProgram *program, int size, orc_int6 4 value, const char *name);
int orc_program_add_constant_float (OrcProgram *program, int size, float va lue, const char *name); int orc_program_add_constant_float (OrcProgram *program, int size, float va lue, const char *name);
int orc_program_add_constant_double (OrcProgram *program, int size, double value, const char *name); int orc_program_add_constant_double (OrcProgram *program, int size, double value, const char *name);
int orc_program_add_constant_str (OrcProgram *program, int size, const char *value, const char *name); int orc_program_add_constant_str (OrcProgram *program, int size, const char *value, const char *name);
int orc_program_add_parameter (OrcProgram *program, int size, const char *n ame); int orc_program_add_parameter (OrcProgram *program, int size, const char *n ame);
int orc_program_add_parameter_float (OrcProgram *program, int size, const c har *name); int orc_program_add_parameter_float (OrcProgram *program, int size, const c har *name);
int orc_program_add_parameter_double (OrcProgram *program, int size, const char *name); int orc_program_add_parameter_double (OrcProgram *program, int size, const char *name);
int orc_program_add_parameter_int64 (OrcProgram *program, int size, const c har *name); int orc_program_add_parameter_int64 (OrcProgram *program, int size, const c har *name);
int orc_program_add_accumulator (OrcProgram *program, int size, const char *name); int orc_program_add_accumulator (OrcProgram *program, int size, const char *name);
void orc_program_set_type_name (OrcProgram *program, int var, const char *t ype_name); void orc_program_set_type_name (OrcProgram *program, int var, const char *t ype_name);
void orc_program_set_var_alignment (OrcProgram *program, int var, int align ment);
void orc_program_set_sampling_type (OrcProgram *program, int var, int sampl ing_type); void orc_program_set_sampling_type (OrcProgram *program, int var, int sampl ing_type);
OrcExecutor * orc_executor_new (OrcProgram *program); OrcExecutor * orc_executor_new (OrcProgram *program);
void orc_executor_free (OrcExecutor *ex); void orc_executor_free (OrcExecutor *ex);
void orc_executor_set_program (OrcExecutor *ex, OrcProgram *program); void orc_executor_set_program (OrcExecutor *ex, OrcProgram *program);
void orc_executor_set_array (OrcExecutor *ex, int var, void *ptr); void orc_executor_set_array (OrcExecutor *ex, int var, void *ptr);
void orc_executor_set_stride (OrcExecutor *ex, int var, int stride); void orc_executor_set_stride (OrcExecutor *ex, int var, int stride);
void orc_executor_set_array_str (OrcExecutor *ex, const char *name, void *p tr); void orc_executor_set_array_str (OrcExecutor *ex, const char *name, void *p tr);
void orc_executor_set_param (OrcExecutor *ex, int var, int value); void orc_executor_set_param (OrcExecutor *ex, int var, int value);
void orc_executor_set_param_str (OrcExecutor *ex, const char *name, int val ue); void orc_executor_set_param_str (OrcExecutor *ex, const char *name, int val ue);
skipping to change at line 734 skipping to change at line 753
void orc_code_allocate_codemem (OrcCode *code, int size); void orc_code_allocate_codemem (OrcCode *code, int size);
int orc_compiler_label_new (OrcCompiler *compiler); int orc_compiler_label_new (OrcCompiler *compiler);
int orc_compiler_get_constant (OrcCompiler *compiler, int size, int value); int orc_compiler_get_constant (OrcCompiler *compiler, int size, int value);
int orc_compiler_get_constant_long (OrcCompiler *compiler, orc_uint32 a, int orc_compiler_get_constant_long (OrcCompiler *compiler, orc_uint32 a,
orc_uint32 b, orc_uint32 c, orc_uint32 d); orc_uint32 b, orc_uint32 c, orc_uint32 d);
int orc_compiler_try_get_constant_long (OrcCompiler *compiler, orc_uint32 a , int orc_compiler_try_get_constant_long (OrcCompiler *compiler, orc_uint32 a ,
orc_uint32 b, orc_uint32 c, orc_uint32 d); orc_uint32 b, orc_uint32 c, orc_uint32 d);
int orc_compiler_get_temp_constant (OrcCompiler *compiler, int size, int va lue); int orc_compiler_get_temp_constant (OrcCompiler *compiler, int size, int va lue);
int orc_compiler_get_temp_reg (OrcCompiler *compiler); int orc_compiler_get_temp_reg (OrcCompiler *compiler);
int orc_compiler_get_constant_reg (OrcCompiler *compiler); int orc_compiler_get_constant_reg (OrcCompiler *compiler);
void orc_compiler_error (OrcCompiler *compiler, const char *fmt, ...);
void orc_program_reset (OrcProgram *program); void orc_program_reset (OrcProgram *program);
OrcCode *orc_program_take_code (OrcProgram *program); OrcCode *orc_program_take_code (OrcProgram *program);
const char *orc_program_get_asm_code (OrcProgram *program); const char *orc_program_get_asm_code (OrcProgram *program);
const char *orc_target_get_asm_preamble (const char *target); const char *orc_target_get_asm_preamble (const char *target);
const char * orc_target_get_preamble (OrcTarget *target); const char * orc_target_get_preamble (OrcTarget *target);
const char * orc_target_c_get_typedefs (void); const char * orc_target_c_get_typedefs (void);
const char * orc_program_get_error (OrcProgram *program);
void orc_compiler_append_code (OrcCompiler *p, const char *fmt, ...) void orc_compiler_append_code (OrcCompiler *p, const char *fmt, ...)
ORC_GNU_PRINTF(2,3); ORC_GNU_PRINTF(2,3);
void orc_target_register (OrcTarget *target); void orc_target_register (OrcTarget *target);
OrcTarget *orc_target_get_by_name (const char *target_name); OrcTarget *orc_target_get_by_name (const char *target_name);
int orc_program_get_max_array_size (OrcProgram *program); int orc_program_get_max_array_size (OrcProgram *program);
int orc_program_get_max_accumulator_size (OrcProgram *program); int orc_program_get_max_accumulator_size (OrcProgram *program);
void orc_get_data_cache_sizes (int *level1, int *level2, int *level3); void orc_get_data_cache_sizes (int *level1, int *level2, int *level3);
skipping to change at line 773 skipping to change at line 794
extern int _orc_data_cache_size_level2; extern int _orc_data_cache_size_level2;
extern int _orc_data_cache_size_level3; extern int _orc_data_cache_size_level3;
extern int _orc_cpu_family; extern int _orc_cpu_family;
extern int _orc_cpu_model; extern int _orc_cpu_model;
extern int _orc_cpu_stepping; extern int _orc_cpu_stepping;
extern const char *_orc_cpu_name; extern const char *_orc_cpu_name;
extern int _orc_compiler_flag_backup; extern int _orc_compiler_flag_backup;
extern int _orc_compiler_flag_emulate; extern int _orc_compiler_flag_emulate;
extern int _orc_compiler_flag_debug; extern int _orc_compiler_flag_debug;
extern int _orc_compiler_flag_randomize;
void orc_code_chunk_free (OrcCodeChunk *chunk); void orc_code_chunk_free (OrcCodeChunk *chunk);
#endif #endif
ORC_END_DECLS ORC_END_DECLS
#endif #endif
 End of changes. 13 change blocks. 
0 lines changed or deleted 24 lines changed or added


 orcsse.h   orcsse.h 
skipping to change at line 26 skipping to change at line 26
ORC_TARGET_SSE_SSE4A = (1<<5), ORC_TARGET_SSE_SSE4A = (1<<5),
ORC_TARGET_SSE_SSE5 = (1<<6), ORC_TARGET_SSE_SSE5 = (1<<6),
ORC_TARGET_SSE_FRAME_POINTER = (1<<7), ORC_TARGET_SSE_FRAME_POINTER = (1<<7),
ORC_TARGET_SSE_SHORT_JUMPS = (1<<8), ORC_TARGET_SSE_SHORT_JUMPS = (1<<8),
ORC_TARGET_SSE_64BIT = (1<<9) ORC_TARGET_SSE_64BIT = (1<<9)
}OrcTargetSSEFlags; }OrcTargetSSEFlags;
#ifdef ORC_ENABLE_UNSTABLE_API #ifdef ORC_ENABLE_UNSTABLE_API
typedef enum { typedef enum {
X86_XMM0 = ORC_VEC_REG_BASE, X86_XMM0 = ORC_VEC_REG_BASE + 16,
X86_XMM1, X86_XMM1,
X86_XMM2, X86_XMM2,
X86_XMM3, X86_XMM3,
X86_XMM4, X86_XMM4,
X86_XMM5, X86_XMM5,
X86_XMM6, X86_XMM6,
X86_XMM7, X86_XMM7,
X86_XMM8, X86_XMM8,
X86_XMM9, X86_XMM9,
X86_XMM10, X86_XMM10,
skipping to change at line 49 skipping to change at line 49
X86_XMM13, X86_XMM13,
X86_XMM14, X86_XMM14,
X86_XMM15 X86_XMM15
}OrcSSERegister; }OrcSSERegister;
#define ORC_SSE_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d) &3)<<0)) #define ORC_SSE_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d) &3)<<0))
const char * orc_x86_get_regname_sse(int i); const char * orc_x86_get_regname_sse(int i);
void orc_x86_emit_mov_memoffset_sse (OrcCompiler *compiler, int size, int o ffset, void orc_x86_emit_mov_memoffset_sse (OrcCompiler *compiler, int size, int o ffset,
int reg1, int reg2, int is_aligned); int reg1, int reg2, int is_aligned);
void orc_x86_emit_movhps_memoffset_sse (OrcCompiler *compiler, int offset,
int reg1, int reg2);
void orc_x86_emit_mov_memindex_sse (OrcCompiler *compiler, int size, int of fset, void orc_x86_emit_mov_memindex_sse (OrcCompiler *compiler, int size, int of fset,
int reg1, int regindex, int shift, int reg2, int is_aligned); int reg1, int regindex, int shift, int reg2, int is_aligned);
void orc_x86_emit_mov_sse_memoffset (OrcCompiler *compiler, int size, int r eg1, int offset, void orc_x86_emit_mov_sse_memoffset (OrcCompiler *compiler, int size, int r eg1, int offset,
int reg2, int aligned, int uncached); int reg2, int aligned, int uncached);
void orc_x86_emit_mov_sse_reg_reg (OrcCompiler *compiler, int reg1, int reg
2);
void orc_x86_emit_mov_reg_sse (OrcCompiler *compiler, int reg1, int reg2);
void orc_x86_emit_mov_sse_reg (OrcCompiler *compiler, int reg1, int reg2);
void orc_sse_emit_loadib (OrcCompiler *p, int reg, int value);
void orc_sse_emit_loadiw (OrcCompiler *p, int reg, int value);
void orc_sse_emit_loadil (OrcCompiler *p, int reg, int value);
void orc_sse_emit_loadpb (OrcCompiler *p, int reg, int value);
void orc_sse_emit_loadpw (OrcCompiler *p, int reg, int value);
void orc_sse_emit_loadpl (OrcCompiler *p, int reg, int value);
void orc_sse_emit_loadpq (OrcCompiler *p, int reg, int value);
void orc_sse_set_mxcsr (OrcCompiler *compiler); void orc_sse_set_mxcsr (OrcCompiler *compiler);
void orc_sse_restore_mxcsr (OrcCompiler *compiler); void orc_sse_restore_mxcsr (OrcCompiler *compiler);
void orc_sse_load_constant (OrcCompiler *compiler, int reg, int size, void orc_sse_load_constant (OrcCompiler *compiler, int reg, int size,
orc_uint64 value); orc_uint64 value);
#endif #endif
unsigned int orc_sse_get_cpu_flags (void); unsigned int orc_sse_get_cpu_flags (void);
 End of changes. 3 change blocks. 
14 lines changed or deleted 1 lines changed or added


 orcutils.h   orcutils.h 
skipping to change at line 151 skipping to change at line 151
#else #else
#define ORC_INTERNAL #define ORC_INTERNAL
#endif #endif
#if ORC_GNUC_PREREQ(3,3) /* guess */ #if ORC_GNUC_PREREQ(3,3) /* guess */
#define ORC_GNU_PRINTF(a,b) __attribute__((__format__ (__printf__, a, b))) #define ORC_GNU_PRINTF(a,b) __attribute__((__format__ (__printf__, a, b)))
#else #else
#define ORC_GNU_PRINTF(a,b) #define ORC_GNU_PRINTF(a,b)
#endif #endif
#if ORC_GNUC_PREREQ(2,4)
#define ORC_GNUC_UNUSED __attribute__((__unused__))
#else
#define ORC_GNUC_UNUSED
#endif
#ifdef __cplusplus #ifdef __cplusplus
#define ORC_BEGIN_DECLS extern "C" { #define ORC_BEGIN_DECLS extern "C" {
#define ORC_END_DECLS } #define ORC_END_DECLS }
#else #else
#define ORC_BEGIN_DECLS #define ORC_BEGIN_DECLS
#define ORC_END_DECLS #define ORC_END_DECLS
#endif #endif
#ifdef _MSC_VER #ifdef _MSC_VER
#ifdef ORC_EXPORTS #ifdef ORC_EXPORTS
skipping to change at line 182 skipping to change at line 188
int get_file_int (const char *file, int *value); int get_file_int (const char *file, int *value);
char * get_file (const char *file); char * get_file (const char *file);
char * get_cpuinfo_line (char *cpuinfo, const char *tag); char * get_cpuinfo_line (char *cpuinfo, const char *tag);
char * _strndup (const char *s, int n); char * _strndup (const char *s, int n);
char ** strsplit (const char *s, char delimiter); char ** strsplit (const char *s, char delimiter);
char * get_tag_value (char *s, const char *tag); char * get_tag_value (char *s, const char *tag);
orc_int64 _strtoll (const char *nptr, char **endptr, int base); orc_int64 _strtoll (const char *nptr, char **endptr, int base);
void orc_global_mutex_lock (void);
void orc_global_mutex_unlock (void);
#endif #endif
ORC_END_DECLS ORC_END_DECLS
#endif #endif
 End of changes. 2 change blocks. 
0 lines changed or deleted 9 lines changed or added


 orcx86.h   orcx86.h 
skipping to change at line 62 skipping to change at line 62
const char * orc_x86_get_regname_64(int i); const char * orc_x86_get_regname_64(int i);
const char * orc_x86_get_regname_ptr(OrcCompiler *compiler, int i); const char * orc_x86_get_regname_ptr(OrcCompiler *compiler, int i);
const char * orc_x86_get_regname_size(int i, int size); const char * orc_x86_get_regname_size(int i, int size);
void orc_x86_emit_push (OrcCompiler *compiler, int size, int reg); void orc_x86_emit_push (OrcCompiler *compiler, int size, int reg);
void orc_x86_emit_pop (OrcCompiler *compiler, int size, int reg); void orc_x86_emit_pop (OrcCompiler *compiler, int size, int reg);
#define orc_x86_emit_mov_imm_reg(p,size,value,reg) \ #define orc_x86_emit_mov_imm_reg(p,size,value,reg) \
orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_mov_imm32_r, size, value, reg) orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_mov_imm32_r, size, value, reg)
#define orc_x86_emit_mov_reg_reg(p,size,src,dest) \ #define orc_x86_emit_mov_reg_reg(p,size,src,dest) \
orc_x86_emit_cpuinsn (p, ORC_X86_mov_r_rm, size, src, dest) orc_x86_emit_cpuinsn_size (p, ORC_X86_mov_r_rm, size, src, dest)
#define orc_x86_emit_test_reg_reg(p,size,src,dest) \ #define orc_x86_emit_test_reg_reg(p,size,src,dest) \
orc_x86_emit_cpuinsn (p, ORC_X86_test, size, src, dest) orc_x86_emit_cpuinsn_size (p, ORC_X86_test, size, src, dest)
#define orc_x86_emit_sar_imm_reg(p,size,value,reg) do { \ #define orc_x86_emit_sar_imm_reg(p,size,value,reg) do { \
if (value == 1) { \ if (value == 1) { \
orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_sar, size, value, reg); \ orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_sar, size, value, reg); \
} else if (value > 1) { \ } else if (value > 1) { \
orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_sar_imm, size, value, reg); \ orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_sar_imm, size, value, reg); \
} \ } \
} while (0) } while (0)
#define orc_x86_emit_and_imm_memoffset(p,size,value,offset,reg) \ #define orc_x86_emit_and_imm_memoffset(p,size,value,offset,reg) \
orc_x86_emit_cpuinsn_imm_memoffset (p, (value >= -128 && value < 128) ? \ orc_x86_emit_cpuinsn_imm_memoffset (p, (value >= -128 && value < 128) ? \
ORC_X86_and_imm8_rm : ORC_X86_and_imm32_rm, size, value, offset, reg) ORC_X86_and_imm8_rm : ORC_X86_and_imm32_rm, size, value, offset, reg)
skipping to change at line 92 skipping to change at line 92
orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_and_imm32_rm, size, value, r eg); \ orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_and_imm32_rm, size, value, r eg); \
} \ } \
} \ } \
} while (0) } while (0)
#define orc_x86_emit_add_imm_memoffset(p,size,value,offset,reg) \ #define orc_x86_emit_add_imm_memoffset(p,size,value,offset,reg) \
orc_x86_emit_cpuinsn_imm_memoffset (p, (value >= -128 && value < 128) ? \ orc_x86_emit_cpuinsn_imm_memoffset (p, (value >= -128 && value < 128) ? \
ORC_X86_add_imm8_rm : ORC_X86_add_imm32_rm, size, value, offset, reg) ORC_X86_add_imm8_rm : ORC_X86_add_imm32_rm, size, value, offset, reg)
#define orc_x86_emit_add_reg_memoffset(p,size,src,offset,dest) \ #define orc_x86_emit_add_reg_memoffset(p,size,src,offset,dest) \
orc_x86_emit_cpuinsn_reg_memoffset(p, ORC_X86_add_r_rm, src, offset, dest ) orc_x86_emit_cpuinsn_reg_memoffset(p, ORC_X86_add_r_rm, src, offset, dest )
#define orc_x86_emit_add_reg_reg(p,size,src,dest) \ #define orc_x86_emit_add_reg_reg(p,size,src,dest) \
orc_x86_emit_cpuinsn(p, ORC_X86_add_r_rm, size, src, dest) orc_x86_emit_cpuinsn_size(p, ORC_X86_add_r_rm, size, src, dest)
#define orc_x86_emit_add_memoffset_reg(p,size,offset,src,dest) \ #define orc_x86_emit_add_memoffset_reg(p,size,offset,src,dest) \
orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_add_rm_r, size, offset, src , dest) orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_add_rm_r, size, offset, src , dest)
#define orc_x86_emit_sub_reg_reg(p,size,src,dest) \ #define orc_x86_emit_sub_reg_reg(p,size,src,dest) \
orc_x86_emit_cpuinsn(p, ORC_X86_sub_r_rm, size, src, dest) orc_x86_emit_cpuinsn_size(p, ORC_X86_sub_r_rm, size, src, dest)
#define orc_x86_emit_sub_memoffset_reg(p,size,offset,src,dest) \ #define orc_x86_emit_sub_memoffset_reg(p,size,offset,src,dest) \
orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_sub_rm_r, size, offset, src , dest) orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_sub_rm_r, size, offset, src , dest)
#define orc_x86_emit_imul_memoffset_reg(p,size,offset,src,dest) \ #define orc_x86_emit_imul_memoffset_reg(p,size,offset,src,dest) \
orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_imul_rm_r, size, offset, sr c, dest) orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_imul_rm_r, size, offset, sr c, dest)
#define orc_x86_emit_cmp_reg_memoffset(p,size,src,offset,dest) \ #define orc_x86_emit_cmp_reg_memoffset(p,size,src,offset,dest) \
orc_x86_emit_cpuinsn_reg_memoffset(p, ORC_X86_cmp_r_rm, src, offset, dest ) orc_x86_emit_cpuinsn_reg_memoffset(p, ORC_X86_cmp_r_rm, src, offset, dest )
#define orc_x86_emit_jmp(p,label) \ #define orc_x86_emit_jmp(p,label) \
orc_x86_emit_cpuinsn_branch (p, ORC_X86_jmp, label) orc_x86_emit_cpuinsn_branch (p, ORC_X86_jmp, label)
#define orc_x86_emit_jg(p,label) \ #define orc_x86_emit_jg(p,label) \
orc_x86_emit_cpuinsn_branch (p, ORC_X86_jg, label) orc_x86_emit_cpuinsn_branch (p, ORC_X86_jg, label)
#define orc_x86_emit_jle(p,label) \ #define orc_x86_emit_jle(p,label) \
orc_x86_emit_cpuinsn_branch (p, ORC_X86_jle, label) orc_x86_emit_cpuinsn_branch (p, ORC_X86_jle, label)
#define orc_x86_emit_je(p,label) \ #define orc_x86_emit_je(p,label) \
orc_x86_emit_cpuinsn_branch (p, ORC_X86_jz, label) orc_x86_emit_cpuinsn_branch (p, ORC_X86_jz, label)
#define orc_x86_emit_jne(p,label) \ #define orc_x86_emit_jne(p,label) \
orc_x86_emit_cpuinsn_branch (p, ORC_X86_jnz, label) orc_x86_emit_cpuinsn_branch (p, ORC_X86_jnz, label)
#define orc_x86_emit_align(p,align_shift) \
orc_x86_emit_cpuinsn_align (p, ORC_X86_ALIGN, align_shift)
#define orc_x86_emit_label(p,label) \ #define orc_x86_emit_label(p,label) \
orc_x86_emit_cpuinsn_label (p, ORC_X86_LABEL, label) orc_x86_emit_cpuinsn_label (p, ORC_X86_LABEL, label)
#define orc_x86_emit_emms(p) \ #define orc_x86_emit_emms(p) \
orc_x86_emit_cpuinsn_none (p, ORC_X86_emms) orc_x86_emit_cpuinsn_none (p, ORC_X86_emms)
#define orc_x86_emit_rdtsc(p) \ #define orc_x86_emit_rdtsc(p) \
orc_x86_emit_cpuinsn_none (p, ORC_X86_rdtsc) orc_x86_emit_cpuinsn_none (p, ORC_X86_rdtsc)
#define orc_x86_emit_ret(p) \ #define orc_x86_emit_ret(p) \
orc_x86_emit_cpuinsn_none (p, ((p)->is_64bit) ? ORC_X86_retq : ORC_X86_re t) orc_x86_emit_cpuinsn_none (p, ((p)->is_64bit) ? ORC_X86_retq : ORC_X86_re t)
skipping to change at line 139 skipping to change at line 141
void orc_x86_emit_mov_memoffset_reg (OrcCompiler *compiler, int size, int o ffset, int reg1, int reg2); void orc_x86_emit_mov_memoffset_reg (OrcCompiler *compiler, int size, int o ffset, int reg1, int reg2);
void orc_x86_emit_mov_reg_memoffset (OrcCompiler *compiler, int size, int r eg1, int offset, int reg2); void orc_x86_emit_mov_reg_memoffset (OrcCompiler *compiler, int size, int r eg1, int offset, int reg2);
void orc_x86_emit_dec_memoffset (OrcCompiler *compiler, int size, int offse t, int reg); void orc_x86_emit_dec_memoffset (OrcCompiler *compiler, int size, int offse t, int reg);
void orc_x86_emit_add_imm_reg (OrcCompiler *compiler, int size, int value, int reg, orc_bool record); void orc_x86_emit_add_imm_reg (OrcCompiler *compiler, int size, int value, int reg, orc_bool record);
void orc_x86_emit_add_reg_reg_shift (OrcCompiler *compiler, int size, int r eg1, int reg2, int shift); void orc_x86_emit_add_reg_reg_shift (OrcCompiler *compiler, int size, int r eg1, int reg2, int shift);
void orc_x86_emit_cmp_imm_memoffset (OrcCompiler *compiler, int size, int v alue, void orc_x86_emit_cmp_imm_memoffset (OrcCompiler *compiler, int size, int v alue,
int offset, int reg); int offset, int reg);
void orc_x86_emit_cmp_imm_reg (OrcCompiler *compiler, int size, int value, int reg); void orc_x86_emit_cmp_imm_reg (OrcCompiler *compiler, int size, int value, int reg);
void orc_x86_emit_rep_movs (OrcCompiler *compiler, int size); void orc_x86_emit_rep_movs (OrcCompiler *compiler, int size);
void orc_x86_emit_align (OrcCompiler *compiler);
void orc_x86_emit_prologue (OrcCompiler *compiler); void orc_x86_emit_prologue (OrcCompiler *compiler);
void orc_x86_emit_epilogue (OrcCompiler *compiler); void orc_x86_emit_epilogue (OrcCompiler *compiler);
void orc_x86_emit_rex (OrcCompiler *compiler, int size, int reg1, int reg2, int reg3); void orc_x86_emit_rex (OrcCompiler *compiler, int size, int reg1, int reg2, int reg3);
void orc_x86_emit_modrm_memoffset_old (OrcCompiler *compiler, int reg1, int offset, int reg2); void orc_x86_emit_modrm_memoffset_old (OrcCompiler *compiler, int reg1, int offset, int reg2);
void orc_x86_emit_modrm_memoffset (OrcCompiler *compiler, int offset, int r eg1, int reg2); void orc_x86_emit_modrm_memoffset (OrcCompiler *compiler, int offset, int r eg1, int reg2);
void orc_x86_emit_modrm_reg (OrcCompiler *compiler, int reg1, int reg2); void orc_x86_emit_modrm_reg (OrcCompiler *compiler, int reg1, int reg2);
void orc_x86_emit_modrm_memindex (OrcCompiler *compiler, int reg1, int offs et, void orc_x86_emit_modrm_memindex (OrcCompiler *compiler, int reg1, int offs et,
int reg2, int regindex, int shift); int reg2, int regindex, int shift);
void orc_x86_emit_modrm_memindex2 (OrcCompiler *compiler, int offset, void orc_x86_emit_modrm_memindex2 (OrcCompiler *compiler, int offset,
int src, int src_index, int shift, int dest); int src, int src_index, int shift, int dest);
void x86_add_fixup (OrcCompiler *compiler, unsigned char *ptr, int label, i nt type); void x86_add_fixup (OrcCompiler *compiler, unsigned char *ptr, int label, i nt type);
void x86_add_label (OrcCompiler *compiler, unsigned char *ptr, int label); void x86_add_label (OrcCompiler *compiler, unsigned char *ptr, int label);
void x86_add_label2 (OrcCompiler *compiler, int index, int label);
void orc_x86_do_fixups (OrcCompiler *compiler); void orc_x86_do_fixups (OrcCompiler *compiler);
int orc_x86_assemble_copy_check (OrcCompiler *compiler); int orc_x86_assemble_copy_check (OrcCompiler *compiler);
void orc_x86_assemble_copy (OrcCompiler *compiler); void orc_x86_assemble_copy (OrcCompiler *compiler);
void orc_x86_emit_cpuinsn (OrcCompiler *p, int opcode, int src, int dest, void orc_x86_emit_cpuinsn_size (OrcCompiler *p, int opcode, int size,
int imm); int src, int dest);
void orc_x86_emit_cpuinsn_imm (OrcCompiler *p, int opcode, int imm,
int src, int dest);
void orc_x86_emit_cpuinsn_load_memoffset (OrcCompiler *p, int size, int ind ex, void orc_x86_emit_cpuinsn_load_memoffset (OrcCompiler *p, int size, int ind ex,
int offset, int src, int dest, int imm); int offset, int src, int dest, int imm);
void orc_x86_emit_cpuinsn_store_memoffset (OrcCompiler *p, int size, int in dex, void orc_x86_emit_cpuinsn_store_memoffset (OrcCompiler *p, int size, int in dex,
int src, int offset, int dest, int imm); int src, int offset, int dest, int imm);
void orc_x86_emit_cpuinsn_load_memindex (OrcCompiler *p, int index, int siz e, void orc_x86_emit_cpuinsn_load_memindex (OrcCompiler *p, int index, int siz e,
int imm, int offset, int src, int src_index, int shift, int dest); int imm, int offset, int src, int src_index, int shift, int dest);
void orc_x86_emit_cpuinsn_load_register (OrcCompiler *p, int index, int imm , void orc_x86_emit_cpuinsn_load_register (OrcCompiler *p, int index, int imm ,
int src, int dest); int src, int dest);
void orc_x86_emit_cpuinsn_imm_reg (OrcCompiler *p, int index, int size, int imm, void orc_x86_emit_cpuinsn_imm_reg (OrcCompiler *p, int index, int size, int imm,
int dest); int dest);
void orc_x86_emit_cpuinsn_imm_memoffset (OrcCompiler *p, int index, int siz e, void orc_x86_emit_cpuinsn_imm_memoffset (OrcCompiler *p, int index, int siz e,
int imm, int offset, int dest); int imm, int offset, int dest);
void orc_x86_emit_cpuinsn_reg_memoffset (OrcCompiler *p, int index, int src , void orc_x86_emit_cpuinsn_reg_memoffset (OrcCompiler *p, int index, int src ,
int offset, int dest); int offset, int dest);
void orc_x86_emit_cpuinsn_memoffset_reg (OrcCompiler *p, int index, int siz e, void orc_x86_emit_cpuinsn_memoffset_reg (OrcCompiler *p, int index, int siz e,
int offset, int src, int dest); int offset, int src, int dest);
void orc_x86_emit_cpuinsn_memoffset (OrcCompiler *p, int index, int size,
int offset, int srcdest);
void orc_x86_emit_cpuinsn_branch (OrcCompiler *p, int index, int label); void orc_x86_emit_cpuinsn_branch (OrcCompiler *p, int index, int label);
void orc_x86_emit_cpuinsn_label (OrcCompiler *p, int index, int label); void orc_x86_emit_cpuinsn_label (OrcCompiler *p, int index, int label);
void orc_x86_emit_cpuinsn_none (OrcCompiler *p, int index); void orc_x86_emit_cpuinsn_none (OrcCompiler *p, int index);
void orc_x86_emit_cpuinsn_align (OrcCompiler *p, int index, int align_shift );
#endif #endif
ORC_END_DECLS ORC_END_DECLS
#endif #endif
 End of changes. 10 change blocks. 
7 lines changed or deleted 14 lines changed or added


 orcx86insn.h   orcx86insn.h 
#ifndef ORC_ORC_X86_INSN_H_ #ifndef ORC_ORC_X86_INSN_H_
#define ORC_ORC_X86_INSN_H_ #define ORC_ORC_X86_INSN_H_
#include <orc/orccpuinsn.h>
ORC_BEGIN_DECLS ORC_BEGIN_DECLS
#ifdef ORC_ENABLE_UNSTABLE_API #ifdef ORC_ENABLE_UNSTABLE_API
enum { typedef enum {
ORC_X86_INSN_TYPE_SD, ORC_X86_INSN_TYPE_MMXM_MMX, /* mem/mmx, mmx */
ORC_X86_INSN_TYPE_SHIFTIMM, ORC_X86_INSN_TYPE_IMM8_MMX_SHIFT, /* $shift, mmx. opcode in src */
ORC_X86_INSN_TYPE_SD2, ORC_X86_INSN_TYPE_SSEM_SSE, /* mem/mmx, sse */
ORC_X86_INSN_TYPE_SDI, ORC_X86_INSN_TYPE_IMM8_MMXM_MMX,
ORC_X86_INSN_TYPE_SDI_REV, ORC_X86_INSN_TYPE_IMM8_MMX_REG_REV,
ORC_X86_INSN_TYPE_SD_REV, ORC_X86_INSN_TYPE_MMXM_MMX_REV,
ORC_X86_INSN_TYPE_ED, ORC_X86_INSN_TYPE_SSEM_SSE_REV,
ORC_X86_INSN_TYPE_ED_REV, ORC_X86_INSN_TYPE_REGM_MMX,
ORC_X86_INSN_TYPE_MMX_REGM_REV,
ORC_X86_INSN_TYPE_REGM,
ORC_X86_INSN_TYPE_MEM, ORC_X86_INSN_TYPE_MEM,
ORC_X86_INSN_TYPE_imm8_rm, ORC_X86_INSN_TYPE_IMM8_REGM,
ORC_X86_INSN_TYPE_imm32_rm, ORC_X86_INSN_TYPE_IMM32_REGM,
ORC_X86_INSN_TYPE_rm_r, ORC_X86_INSN_TYPE_REGM_REG,
ORC_X86_INSN_TYPE_r_rm, ORC_X86_INSN_TYPE_REG_REGM,
ORC_X86_INSN_TYPE_LABEL, ORC_X86_INSN_TYPE_LABEL,
ORC_X86_INSN_TYPE_ALIGN,
ORC_X86_INSN_TYPE_BRANCH,
ORC_X86_INSN_TYPE_NONE, ORC_X86_INSN_TYPE_NONE,
ORC_X86_INSN_TYPE_STACK, ORC_X86_INSN_TYPE_STACK,
ORC_X86_INSN_TYPE_mov_imm32, ORC_X86_INSN_TYPE_IMM32_REGM_MOV,
ORC_X86_INSN_TYPE_r_rm_byte, ORC_X86_INSN_TYPE_REG8_REGM,
ORC_X86_INSN_TYPE_r_rm_word, ORC_X86_INSN_TYPE_REG16_REGM,
ORC_X86_INSN_TYPE_imm32_a, ORC_X86_INSN_TYPE_IMM32_A,
ORC_X86_INSN_TYPE_EDI, ORC_X86_INSN_TYPE_IMM8_REGM_MMX,
}; } OrcX86InsnType;
enum { typedef enum {
ORC_X86_punpcklbw, ORC_X86_punpcklbw,
ORC_X86_punpcklwd, ORC_X86_punpcklwd,
ORC_X86_punpckldq, ORC_X86_punpckldq,
ORC_X86_packsswb, ORC_X86_packsswb,
ORC_X86_pcmpgtb, ORC_X86_pcmpgtb,
ORC_X86_pcmpgtw, ORC_X86_pcmpgtw,
ORC_X86_pcmpgtd, ORC_X86_pcmpgtd,
ORC_X86_packuswb, ORC_X86_packuswb,
ORC_X86_punpckhbw, ORC_X86_punpckhbw,
ORC_X86_punpckhwd, ORC_X86_punpckhwd,
skipping to change at line 178 skipping to change at line 184
ORC_X86_psrlq_imm, ORC_X86_psrlq_imm,
ORC_X86_psllq_imm, ORC_X86_psllq_imm,
ORC_X86_psrldq_imm, ORC_X86_psrldq_imm,
ORC_X86_pslldq_imm, ORC_X86_pslldq_imm,
ORC_X86_pshufd, ORC_X86_pshufd,
ORC_X86_pshuflw, ORC_X86_pshuflw,
ORC_X86_pshufhw, ORC_X86_pshufhw,
ORC_X86_palignr, ORC_X86_palignr,
ORC_X86_pinsrw, ORC_X86_pinsrw,
ORC_X86_movd_load, ORC_X86_movd_load,
ORC_X86_movq_load, ORC_X86_movq_sse_load,
ORC_X86_movdqa_load, ORC_X86_movdqa_load,
ORC_X86_movdqu_load, ORC_X86_movdqu_load,
ORC_X86_movhps_load, ORC_X86_movhps_load,
ORC_X86_pextrw, ORC_X86_pextrw,
ORC_X86_movd_store, ORC_X86_movd_store,
ORC_X86_movq_store, ORC_X86_movq_sse_store,
ORC_X86_movdqa_store, ORC_X86_movdqa_store,
ORC_X86_movdqu_store, ORC_X86_movdqu_store,
ORC_X86_movntdq_store, ORC_X86_movntdq_store,
ORC_X86_ldmxcsr, ORC_X86_ldmxcsr,
ORC_X86_stmxcsr, ORC_X86_stmxcsr,
ORC_X86_add_imm8_rm, ORC_X86_add_imm8_rm,
ORC_X86_add_imm32_rm, ORC_X86_add_imm32_rm,
ORC_X86_add_rm_r, ORC_X86_add_rm_r,
ORC_X86_add_r_rm, ORC_X86_add_r_rm,
ORC_X86_or_imm8_rm, ORC_X86_or_imm8_rm,
skipping to change at line 270 skipping to change at line 276
ORC_X86_test_imm, ORC_X86_test_imm,
ORC_X86_leal, ORC_X86_leal,
ORC_X86_leaq, ORC_X86_leaq,
ORC_X86_imul_rm_r, ORC_X86_imul_rm_r,
ORC_X86_imul_rm, ORC_X86_imul_rm,
ORC_X86_inc, ORC_X86_inc,
ORC_X86_dec, ORC_X86_dec,
ORC_X86_sar_imm, ORC_X86_sar_imm,
ORC_X86_sar, ORC_X86_sar,
ORC_X86_and_imm32_a, ORC_X86_and_imm32_a,
ORC_X86_ALIGN,
ORC_X86_pshufw,
ORC_X86_movq_mmx_load,
ORC_X86_movq_mmx_store,
} OrcX86Opcode;
enum {
ORC_X86_RM_REG,
ORC_X86_RM_MEMOFFSET,
ORC_X86_RM_MEMINDEX
}; };
#define orc_sse_emit_punpcklbw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punpc typedef struct _OrcX86Insn OrcX86Insn;
klbw, 0, a, b) struct _OrcX86Insn {
#define orc_sse_emit_punpcklwd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punpc OrcX86Opcode opcode_index;
klwd, 0, a, b) const OrcSysOpcode *opcode;
#define orc_sse_emit_punpckldq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punpc int imm;
kldq, 0, a, b) int src;
#define orc_sse_emit_packsswb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_packss int dest;
wb, 0, a, b) int size;
#define orc_sse_emit_pcmpgtb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpgtb int label;
, 0, a, b) int type;
#define orc_sse_emit_pcmpgtw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpgtw int offset;
, 0, a, b) int index_reg;
#define orc_sse_emit_pcmpgtd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpgtd int shift;
, 0, a, b) int code_offset;
#define orc_sse_emit_packuswb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_packus };
wb, 0, a, b)
#define orc_sse_emit_punpckhbw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punpc OrcX86Insn * orc_x86_get_output_insn (OrcCompiler *p);
khbw, 0, a, b) void orc_x86_output_insns (OrcCompiler *p);
#define orc_sse_emit_punpckhwd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punpc void orc_x86_calculate_offsets (OrcCompiler *p);
khwd, 0, a, b)
#define orc_sse_emit_punpckhdq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punpc #define orc_sse_emit_punpcklbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
khdq, 0, a, b) punpcklbw, 16, a, b)
#define orc_sse_emit_packssdw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_packss #define orc_sse_emit_punpcklwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
dw, 0, a, b) punpcklwd, 16, a, b)
#define orc_sse_emit_punpcklqdq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punp #define orc_sse_emit_punpckldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
cklqdq, 0, a, b) punpckldq, 16, a, b)
#define orc_sse_emit_punpckhqdq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_punp #define orc_sse_emit_packsswb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
ckhqdq, 0, a, b) acksswb, 16, a, b)
#define orc_sse_emit_movdqa(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_movdqa, #define orc_sse_emit_pcmpgtb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
0, a, b) mpgtb, 16, a, b)
#define orc_sse_emit_psraw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psraw, 0, #define orc_sse_emit_pcmpgtw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
a, b) mpgtw, 16, a, b)
#define orc_sse_emit_psrlw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psrlw, 0, #define orc_sse_emit_pcmpgtd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
a, b) mpgtd, 16, a, b)
#define orc_sse_emit_psllw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psllw, 0, #define orc_sse_emit_packuswb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
a, b) ackuswb, 16, a, b)
#define orc_sse_emit_psrad(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psrad, 0, #define orc_sse_emit_punpckhbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
a, b) punpckhbw, 16, a, b)
#define orc_sse_emit_psrld(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psrld, 0, #define orc_sse_emit_punpckhwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
a, b) punpckhwd, 16, a, b)
#define orc_sse_emit_pslld(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pslld, 0, #define orc_sse_emit_punpckhdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
a, b) punpckhdq, 16, a, b)
#define orc_sse_emit_psrlq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psrlq, 0, #define orc_sse_emit_packssdw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
a, b) ackssdw, 16, a, b)
#define orc_sse_emit_psllq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psllq, 0, #define orc_sse_emit_punpcklqdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86
a, b) _punpcklqdq, 16, a, b)
#define orc_sse_emit_psrldq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psrldq, #define orc_sse_emit_punpckhqdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86
0, a, b) _punpckhqdq, 16, a, b)
#define orc_sse_emit_pslldq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pslldq, #define orc_sse_emit_movdqa(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_mov
0, a, b) dqa, 16, a, b)
#define orc_sse_emit_psrlq_reg(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psrlq #define orc_sse_emit_psraw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psra
_reg, 0, a, b) w, 16, a, b)
#define orc_sse_emit_pcmpeqb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpeqb #define orc_sse_emit_psrlw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psrl
, 0, a, b) w, 16, a, b)
#define orc_sse_emit_pcmpeqw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpeqw #define orc_sse_emit_psllw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psll
, 0, a, b) w, 16, a, b)
#define orc_sse_emit_pcmpeqd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpeqd #define orc_sse_emit_psrad(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psra
, 0, a, b) d, 16, a, b)
#define orc_sse_emit_paddq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddq, 0, #define orc_sse_emit_psrld(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psrl
a, b) d, 16, a, b)
#define orc_sse_emit_pmullw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmullw, #define orc_sse_emit_pslld(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psll
0, a, b) d, 16, a, b)
#define orc_sse_emit_psubusb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubusb #define orc_sse_emit_psrlq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psrl
, 0, a, b) q, 16, a, b)
#define orc_sse_emit_psubusw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubusw #define orc_sse_emit_psllq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psll
, 0, a, b) q, 16, a, b)
#define orc_sse_emit_pminub(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pminub, #define orc_sse_emit_psrldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psr
0, a, b) ldq, 16, a, b)
#define orc_sse_emit_pand(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pand, 0, a #define orc_sse_emit_pslldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psl
, b) ldq, 16, a, b)
#define orc_sse_emit_paddusb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddusb #define orc_sse_emit_psrlq_reg(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
, 0, a, b) psrlq_reg, 16, a, b)
#define orc_sse_emit_paddusw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddusw #define orc_sse_emit_pcmpeqb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
, 0, a, b) mpeqb, 16, a, b)
#define orc_sse_emit_pmaxub(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaxub, #define orc_sse_emit_pcmpeqw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
0, a, b) mpeqw, 16, a, b)
#define orc_sse_emit_pandn(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pandn, 0, #define orc_sse_emit_pcmpeqd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
a, b) mpeqd, 16, a, b)
#define orc_sse_emit_pavgb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pavgb, 0, #define orc_sse_emit_paddq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
a, b) q, 16, a, b)
#define orc_sse_emit_pavgw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pavgw, 0, #define orc_sse_emit_pmullw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
a, b) llw, 16, a, b)
#define orc_sse_emit_pmulhuw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmulhuw #define orc_sse_emit_psubusb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ps
, 0, a, b) ubusb, 16, a, b)
#define orc_sse_emit_pmulhw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmulhw, #define orc_sse_emit_psubusw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ps
0, a, b) ubusw, 16, a, b)
#define orc_sse_emit_psubsb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubsb, #define orc_sse_emit_pminub(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
0, a, b) nub, 16, a, b)
#define orc_sse_emit_psubsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubsw, #define orc_sse_emit_pand(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pand,
0, a, b) 16, a, b)
#define orc_sse_emit_pminsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pminsw, #define orc_sse_emit_paddusb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pa
0, a, b) ddusb, 16, a, b)
#define orc_sse_emit_por(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_por, 0, a, #define orc_sse_emit_paddusw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pa
b) ddusw, 16, a, b)
#define orc_sse_emit_paddsb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddsb, #define orc_sse_emit_pmaxub(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
0, a, b) xub, 16, a, b)
#define orc_sse_emit_paddsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddsw, #define orc_sse_emit_pandn(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pand
0, a, b) n, 16, a, b)
#define orc_sse_emit_pmaxsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaxsw, #define orc_sse_emit_pavgb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pavg
0, a, b) b, 16, a, b)
#define orc_sse_emit_pxor(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pxor, 0, a #define orc_sse_emit_pavgw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pavg
, b) w, 16, a, b)
#define orc_sse_emit_pmuludq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmuludq #define orc_sse_emit_pmulhuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pm
, 0, a, b) ulhuw, 16, a, b)
#define orc_sse_emit_pmaddwd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaddwd #define orc_sse_emit_pmulhw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
, 0, a, b) lhw, 16, a, b)
#define orc_sse_emit_psadbw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psadbw, #define orc_sse_emit_psubsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psu
0, a, b) bsb, 16, a, b)
#define orc_sse_emit_psubb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubb, 0, #define orc_sse_emit_psubsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psu
a, b) bsw, 16, a, b)
#define orc_sse_emit_psubw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubw, 0, #define orc_sse_emit_pminsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
a, b) nsw, 16, a, b)
#define orc_sse_emit_psubd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubd, 0, #define orc_sse_emit_por(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_por, 1
a, b) 6, a, b)
#define orc_sse_emit_psubq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psubq, 0, #define orc_sse_emit_paddsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pad
a, b) dsb, 16, a, b)
#define orc_sse_emit_paddb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddb, 0, #define orc_sse_emit_paddsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pad
a, b) dsw, 16, a, b)
#define orc_sse_emit_paddw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddw, 0, #define orc_sse_emit_pmaxsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
a, b) xsw, 16, a, b)
#define orc_sse_emit_paddd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_paddd, 0, #define orc_sse_emit_pxor(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pxor,
a, b) 16, a, b)
#define orc_sse_emit_pshufb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pshufb, #define orc_sse_emit_pmuludq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pm
0, a, b) uludq, 16, a, b)
#define orc_sse_emit_phaddw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phaddw, #define orc_sse_emit_pmaddwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pm
0, a, b) addwd, 16, a, b)
#define orc_sse_emit_phaddd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phaddd, #define orc_sse_emit_psadbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psa
0, a, b) dbw, 16, a, b)
#define orc_sse_emit_phaddsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phaddsw #define orc_sse_emit_psubb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
, 0, a, b) b, 16, a, b)
#define orc_sse_emit_pmaddubsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmadd #define orc_sse_emit_psubw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
ubsw, 0, a, b) w, 16, a, b)
#define orc_sse_emit_phsubw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phsubw, #define orc_sse_emit_psubd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
0, a, b) d, 16, a, b)
#define orc_sse_emit_phsubd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phsubd, #define orc_sse_emit_psubq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
0, a, b) q, 16, a, b)
#define orc_sse_emit_phsubsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phsubsw #define orc_sse_emit_paddb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
, 0, a, b) b, 16, a, b)
#define orc_sse_emit_psignb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psignb, #define orc_sse_emit_paddw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
0, a, b) w, 16, a, b)
#define orc_sse_emit_psignw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psignw, #define orc_sse_emit_paddd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
0, a, b) d, 16, a, b)
#define orc_sse_emit_psignd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psignd, #define orc_sse_emit_pshufb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psh
0, a, b) ufb, 16, a, b)
#define orc_sse_emit_pmulhrsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmulhr #define orc_sse_emit_phaddw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pha
sw, 0, a, b) ddw, 16, a, b)
#define orc_sse_emit_pabsb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pabsb, 0, #define orc_sse_emit_phaddd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pha
a, b) ddd, 16, a, b)
#define orc_sse_emit_pabsw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pabsw, 0, #define orc_sse_emit_phaddsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ph
a, b) addsw, 16, a, b)
#define orc_sse_emit_pabsd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pabsd, 0, #define orc_sse_emit_pmaddubsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
a, b) pmaddubsw, 16, a, b)
#define orc_sse_emit_pmovsxbw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovsx #define orc_sse_emit_phsubw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_phs
bw, 0, a, b) ubw, 16, a, b)
#define orc_sse_emit_pmovsxbd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovsx #define orc_sse_emit_phsubd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_phs
bd, 0, a, b) ubd, 16, a, b)
#define orc_sse_emit_pmovsxbq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovsx #define orc_sse_emit_phsubsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ph
bq, 0, a, b) subsw, 16, a, b)
#define orc_sse_emit_pmovsxwd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovsx #define orc_sse_emit_psignb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psi
wd, 0, a, b) gnb, 16, a, b)
#define orc_sse_emit_pmovsxwq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovsx #define orc_sse_emit_psignw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psi
wq, 0, a, b) gnw, 16, a, b)
#define orc_sse_emit_pmovsxdq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovsx #define orc_sse_emit_psignd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psi
dq, 0, a, b) gnd, 16, a, b)
#define orc_sse_emit_pmuldq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmuldq, #define orc_sse_emit_pmulhrsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) mulhrsw, 16, a, b)
#define orc_sse_emit_pcmpeqq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpeqq #define orc_sse_emit_pabsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pabs
, 0, a, b) b, 16, a, b)
#define orc_sse_emit_packusdw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_packus #define orc_sse_emit_pabsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pabs
dw, 0, a, b) w, 16, a, b)
#define orc_sse_emit_pmovzxbw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovzx #define orc_sse_emit_pabsd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pabs
bw, 0, a, b) d, 16, a, b)
#define orc_sse_emit_pmovzxbd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovzx #define orc_sse_emit_pmovsxbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
bd, 0, a, b) movsxbw, 16, a, b)
#define orc_sse_emit_pmovzxbq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovzx #define orc_sse_emit_pmovsxbd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
bq, 0, a, b) movsxbd, 16, a, b)
#define orc_sse_emit_pmovzxwd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovzx #define orc_sse_emit_pmovsxbq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
wd, 0, a, b) movsxbq, 16, a, b)
#define orc_sse_emit_pmovzxwq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovzx #define orc_sse_emit_pmovsxwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
wq, 0, a, b) movsxwd, 16, a, b)
#define orc_sse_emit_pmovzxdq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmovzx #define orc_sse_emit_pmovsxwq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
dq, 0, a, b) movsxwq, 16, a, b)
#define orc_sse_emit_pmulld(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmulld, #define orc_sse_emit_pmovsxdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movsxdq, 16, a, b)
#define orc_sse_emit_phminposuw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_phmi #define orc_sse_emit_pmuldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
nposuw, 0, a, b) ldq, 16, a, b)
#define orc_sse_emit_pminsb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pminsb, #define orc_sse_emit_pcmpeqq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
0, a, b) mpeqq, 16, a, b)
#define orc_sse_emit_pminsd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pminsd, #define orc_sse_emit_packusdw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) ackusdw, 16, a, b)
#define orc_sse_emit_pminuw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pminuw, #define orc_sse_emit_pmovzxbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movzxbw, 16, a, b)
#define orc_sse_emit_pminud(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pminud, #define orc_sse_emit_pmovzxbd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movzxbd, 16, a, b)
#define orc_sse_emit_pmaxsb(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaxsb, #define orc_sse_emit_pmovzxbq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movzxbq, 16, a, b)
#define orc_sse_emit_pmaxsd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaxsd, #define orc_sse_emit_pmovzxwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movzxwd, 16, a, b)
#define orc_sse_emit_pmaxuw(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaxuw, #define orc_sse_emit_pmovzxwq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movzxwq, 16, a, b)
#define orc_sse_emit_pmaxud(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pmaxud, #define orc_sse_emit_pmovzxdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
0, a, b) movzxdq, 16, a, b)
#define orc_sse_emit_pcmpgtq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pcmpgtq #define orc_sse_emit_pmulld(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
, 0, a, b) lld, 16, a, b)
#define orc_sse_emit_addps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_addps, 0, #define orc_sse_emit_phminposuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86
a, b) _phminposuw, 16, a, b)
#define orc_sse_emit_subps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_subps, 0, #define orc_sse_emit_pminsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
a, b) nsb, 16, a, b)
#define orc_sse_emit_mulps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_mulps, 0, #define orc_sse_emit_pminsd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
a, b) nsd, 16, a, b)
#define orc_sse_emit_divps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_divps, 0, #define orc_sse_emit_pminuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
a, b) nuw, 16, a, b)
#define orc_sse_emit_sqrtps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_sqrtps, #define orc_sse_emit_pminud(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
0, a, b) nud, 16, a, b)
#define orc_sse_emit_addpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_addpd, 0, #define orc_sse_emit_pmaxsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
a, b) xsb, 16, a, b)
#define orc_sse_emit_subpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_subpd, 0, #define orc_sse_emit_pmaxsd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
a, b) xsd, 16, a, b)
#define orc_sse_emit_mulpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_mulpd, 0, #define orc_sse_emit_pmaxuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
a, b) xuw, 16, a, b)
#define orc_sse_emit_divpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_divpd, 0, #define orc_sse_emit_pmaxud(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
a, b) xud, 16, a, b)
#define orc_sse_emit_sqrtpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_sqrtpd, #define orc_sse_emit_pcmpgtq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
0, a, b) mpgtq, 16, a, b)
#define orc_sse_emit_cmpeqps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cmpeqps #define orc_sse_emit_addps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_addp
, 0, a, b) s, 16, a, b)
#define orc_sse_emit_cmpeqpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cmpeqpd #define orc_sse_emit_subps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_subp
, 0, a, b) s, 16, a, b)
#define orc_sse_emit_cmpltps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cmpltps #define orc_sse_emit_mulps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_mulp
, 0, a, b) s, 16, a, b)
#define orc_sse_emit_cmpltpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cmpltpd #define orc_sse_emit_divps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_divp
, 0, a, b) s, 16, a, b)
#define orc_sse_emit_cmpleps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cmpleps #define orc_sse_emit_sqrtps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_sqr
, 0, a, b) tps, 16, a, b)
#define orc_sse_emit_cmplepd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cmplepd #define orc_sse_emit_addpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_addp
, 0, a, b) d, 16, a, b)
#define orc_sse_emit_cvttps2dq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cvttp #define orc_sse_emit_subpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_subp
s2dq, 0, a, b) d, 16, a, b)
#define orc_sse_emit_cvttpd2dq(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cvttp #define orc_sse_emit_mulpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_mulp
d2dq, 0, a, b) d, 16, a, b)
#define orc_sse_emit_cvtdq2ps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cvtdq2 #define orc_sse_emit_divpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_divp
ps, 0, a, b) d, 16, a, b)
#define orc_sse_emit_cvtdq2pd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cvtdq2 #define orc_sse_emit_sqrtpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_sqr
pd, 0, a, b) tpd, 16, a, b)
#define orc_sse_emit_cvtps2pd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cvtps2 #define orc_sse_emit_cmpeqps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
pd, 0, a, b) peqps, 16, a, b)
#define orc_sse_emit_cvtpd2ps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_cvtpd2 #define orc_sse_emit_cmpeqpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
ps, 0, a, b) peqpd, 16, a, b)
#define orc_sse_emit_minps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_minps, 0, #define orc_sse_emit_cmpltps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
a, b) pltps, 16, a, b)
#define orc_sse_emit_minpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_minpd, 0, #define orc_sse_emit_cmpltpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
a, b) pltpd, 16, a, b)
#define orc_sse_emit_maxps(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_maxps, 0, #define orc_sse_emit_cmpleps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
a, b) pleps, 16, a, b)
#define orc_sse_emit_maxpd(p,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_maxpd, 0, #define orc_sse_emit_cmplepd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
a, b) plepd, 16, a, b)
#define orc_sse_emit_psraw_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psr #define orc_sse_emit_cvttps2dq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
aw_imm, imm, 0, b) cvttps2dq, 16, a, b)
#define orc_sse_emit_psrlw_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psr #define orc_sse_emit_cvttpd2dq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
lw_imm, imm, 0, b) cvttpd2dq, 16, a, b)
#define orc_sse_emit_psllw_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psl #define orc_sse_emit_cvtdq2ps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
lw_imm, imm, 0, b) vtdq2ps, 16, a, b)
#define orc_sse_emit_psrad_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psr #define orc_sse_emit_cvtdq2pd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
ad_imm, imm, 0, b) vtdq2pd, 16, a, b)
#define orc_sse_emit_psrld_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psr #define orc_sse_emit_cvtps2pd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
ld_imm, imm, 0, b) vtps2pd, 16, a, b)
#define orc_sse_emit_pslld_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psl #define orc_sse_emit_cvtpd2ps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
ld_imm, imm, 0, b) vtpd2ps, 16, a, b)
#define orc_sse_emit_psrlq_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psr #define orc_sse_emit_minps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_minp
lq_imm, imm, 0, b) s, 16, a, b)
#define orc_sse_emit_psllq_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_psl #define orc_sse_emit_minpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_minp
lq_imm, imm, 0, b) d, 16, a, b)
#define orc_sse_emit_psrldq_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_ps #define orc_sse_emit_maxps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_maxp
rldq_imm, imm, 0, b) s, 16, a, b)
#define orc_sse_emit_pslldq_imm(p,imm,b) orc_x86_emit_cpuinsn(p, ORC_X86_ps #define orc_sse_emit_maxpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_maxp
lldq_imm, imm, 0, b) d, 16, a, b)
#define orc_sse_emit_pshufd(p,imm,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_pshu #define orc_sse_emit_psraw_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
fd, imm, a, b) _psraw_imm, imm, 0, b)
#define orc_sse_emit_pshuflw(p,imm,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psh #define orc_sse_emit_psrlw_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
uflw, imm, a, b) _psrlw_imm, imm, 0, b)
#define orc_sse_emit_pshufhw(p,imm,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psh #define orc_sse_emit_psllw_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
ufhw, imm, a, b) _psllw_imm, imm, 0, b)
#define orc_sse_emit_palignr(p,imm,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_psa #define orc_sse_emit_psrad_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
lignr, imm, a, b) _psrad_imm, imm, 0, b)
#define orc_sse_emit_movdqu(p,offset,a,b) orc_x86_emit_cpuinsn(p, ORC_X86_m #define orc_sse_emit_psrld_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
ovdqu_load, 0, a, b) _psrld_imm, imm, 0, b)
#define orc_sse_emit_pslld_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_pslld_imm, imm, 0, b)
#define orc_sse_emit_psrlq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psrlq_imm, imm, 0, b)
#define orc_sse_emit_psllq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psllq_imm, imm, 0, b)
#define orc_sse_emit_psrldq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X8
6_psrldq_imm, imm, 0, b)
#define orc_sse_emit_pslldq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X8
6_pslldq_imm, imm, 0, b)
#define orc_sse_emit_pshufd(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86_
pshufd, imm, a, b)
#define orc_sse_emit_pshuflw(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_pshuflw, imm, a, b)
#define orc_sse_emit_pshufhw(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_pshufhw, imm, a, b)
#define orc_sse_emit_palignr(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psalignr, imm, a, b)
#define orc_sse_emit_movdqu(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_mov
dqu_load, 16, a, b)
#define orc_sse_emit_pinsrw_memoffset(p,imm,offset,a,b) orc_x86_emit_cpuins n_load_memoffset(p, ORC_X86_pinsrw, 4, imm, offset, a, b) #define orc_sse_emit_pinsrw_memoffset(p,imm,offset,a,b) orc_x86_emit_cpuins n_load_memoffset(p, ORC_X86_pinsrw, 4, imm, offset, a, b)
#define orc_sse_emit_movd_load_memoffset(p,offset,a,b) orc_x86_emit_cpuinsn _load_memoffset(p, ORC_X86_movd_load, 4, 0, offset, a, b) #define orc_sse_emit_movd_load_memoffset(p,offset,a,b) orc_x86_emit_cpuinsn _load_memoffset(p, ORC_X86_movd_load, 4, 0, offset, a, b)
#define orc_sse_emit_movq_load_memoffset(p,offset,a,b) orc_x86_emit_cpuinsn _load_memoffset(p, ORC_X86_movq_load, 4, 0, offset, a, b) #define orc_sse_emit_movq_load_memoffset(p,offset,a,b) orc_x86_emit_cpuinsn _load_memoffset(p, ORC_X86_movq_sse_load, 4, 0, offset, a, b)
#define orc_sse_emit_movdqa_load_memoffset(p,offset,a,b) orc_x86_emit_cpuin sn_load_memoffset(p, ORC_X86_movdqa_load, 4, 0, offset, a, b) #define orc_sse_emit_movdqa_load_memoffset(p,offset,a,b) orc_x86_emit_cpuin sn_load_memoffset(p, ORC_X86_movdqa_load, 4, 0, offset, a, b)
#define orc_sse_emit_movdqu_load_memoffset(p,offset,a,b) orc_x86_emit_cpuin sn_load_memoffset(p, ORC_X86_movdqu_load, 4, 0, offset, a, b) #define orc_sse_emit_movdqu_load_memoffset(p,offset,a,b) orc_x86_emit_cpuin sn_load_memoffset(p, ORC_X86_movdqu_load, 4, 0, offset, a, b)
#define orc_sse_emit_movhps_load_memoffset(p,offset,a,b) orc_x86_emit_cpuin sn_load_memoffset(p, ORC_X86_movhps_load, 4, 0, offset, a, b) #define orc_sse_emit_movhps_load_memoffset(p,offset,a,b) orc_x86_emit_cpuin sn_load_memoffset(p, ORC_X86_movhps_load, 4, 0, offset, a, b)
#define orc_sse_emit_pextrw_memoffset(p,imm,a,offset,b) orc_x86_emit_cpuins n_store_memoffset(p, ORC_X86_pextrw, 16, imm, a, offset, b) #define orc_sse_emit_pextrw_memoffset(p,imm,a,offset,b) orc_x86_emit_cpuins n_store_memoffset(p, ORC_X86_pextrw, 16, imm, a, offset, b)
#define orc_sse_emit_movd_store_memoffset(p,a,offset,b) orc_x86_emit_cpuins n_store_memoffset(p, ORC_X86_movd_store, 16, 0, a, offset, b) #define orc_sse_emit_movd_store_memoffset(p,a,offset,b) orc_x86_emit_cpuins n_store_memoffset(p, ORC_X86_movd_store, 16, 0, a, offset, b)
#define orc_sse_emit_movq_store_memoffset(p,a,offset,b) orc_x86_emit_cpuins n_store_memoffset(p, ORC_X86_movq_store, 16, 0, a, offset, b) #define orc_sse_emit_movq_store_memoffset(p,a,offset,b) orc_x86_emit_cpuins n_store_memoffset(p, ORC_X86_movq_sse_store, 16, 0, a, offset, b)
#define orc_sse_emit_movdqa_store_memoffset(p,a,offset,b) orc_x86_emit_cpui nsn_store_memoffset(p, ORC_X86_movdqa_store, 16, 0, a, offset, b) #define orc_sse_emit_movdqa_store_memoffset(p,a,offset,b) orc_x86_emit_cpui nsn_store_memoffset(p, ORC_X86_movdqa_store, 16, 0, a, offset, b)
#define orc_sse_emit_movdqu_store_memoffset(p,a,offset,b) orc_x86_emit_cpui nsn_store_memoffset(p, ORC_X86_movdqu_store, 16, 0, a, offset, b) #define orc_sse_emit_movdqu_store_memoffset(p,a,offset,b) orc_x86_emit_cpui nsn_store_memoffset(p, ORC_X86_movdqu_store, 16, 0, a, offset, b)
#define orc_sse_emit_movntdq_store_memoffset(p,a,offset,b) orc_x86_emit_cpu insn_store_memoffset(p, ORC_X86_movntdq_store, 16, 0, a, offset, b) #define orc_sse_emit_movntdq_store_memoffset(p,a,offset,b) orc_x86_emit_cpu insn_store_memoffset(p, ORC_X86_movntdq_store, 16, 0, a, offset, b)
#define orc_sse_emit_pinsrw_memindex(p,imm,offset,a,a_index,shift,b) orc_x8 6_emit_cpuinsn_load_memindex(p, ORC_X86_pinsrw, 4, imm, offset, a, a_index, shift, b) #define orc_sse_emit_pinsrw_memindex(p,imm,offset,a,a_index,shift,b) orc_x8 6_emit_cpuinsn_load_memindex(p, ORC_X86_pinsrw, 4, imm, offset, a, a_index, shift, b)
#define orc_sse_emit_movd_load_memindex(p,offset,a,a_index,shift,b) orc_x86 _emit_cpuinsn_load_memindex(p, ORC_X86_movd_load, 4, 0, offset, a, a_index, shift, b) #define orc_sse_emit_movd_load_memindex(p,offset,a,a_index,shift,b) orc_x86 _emit_cpuinsn_load_memindex(p, ORC_X86_movd_load, 4, 0, offset, a, a_index, shift, b)
#define orc_sse_emit_movq_load_memindex(p,offset,a,a_index,shift,b) orc_x86 _emit_cpuinsn_load_memindex(p, ORC_X86_movq_load, 4, 0, offset, a, a_index, shift, b) #define orc_sse_emit_movq_load_memindex(p,offset,a,a_index,shift,b) orc_x86 _emit_cpuinsn_load_memindex(p, ORC_X86_movq_sse_load, 4, 0, offset, a, a_in dex, shift, b)
#define orc_sse_emit_movdqa_load_memindex(p,offset,a,a_index,shift,b) orc_x 86_emit_cpuinsn_load_memindex(p, ORC_X86_movdqa_load, 4, 0, offset, a, a_in dex, shift, b) #define orc_sse_emit_movdqa_load_memindex(p,offset,a,a_index,shift,b) orc_x 86_emit_cpuinsn_load_memindex(p, ORC_X86_movdqa_load, 4, 0, offset, a, a_in dex, shift, b)
#define orc_sse_emit_movdqu_load_memindex(p,offset,a,a_index,shift,b) orc_x 86_emit_cpuinsn_load_memindex(p, ORC_X86_movdqu_load, 4, 0, offset, a, a_in dex, shift, b) #define orc_sse_emit_movdqu_load_memindex(p,offset,a,a_index,shift,b) orc_x 86_emit_cpuinsn_load_memindex(p, ORC_X86_movdqu_load, 4, 0, offset, a, a_in dex, shift, b)
#define orc_sse_emit_movhps_load_memindex(p,offset,a,a_index,shift,b) orc_x 86_emit_cpuinsn_load_memindex(p, ORC_X86_movhps_load, 4, 0, offset, a, a_in dex, shift, b) #define orc_sse_emit_movhps_load_memindex(p,offset,a,a_index,shift,b) orc_x 86_emit_cpuinsn_load_memindex(p, ORC_X86_movhps_load, 4, 0, offset, a, a_in dex, shift, b)
#define orc_sse_emit_pextrw_memindex(p,imm,a,offset,b,b_index,shift) orc_x8 6_emit_cpuinsn_store_memindex(p, ORC_X86_pextrw, imm, a, offset, b, b_index , shift) #define orc_sse_emit_pextrw_memindex(p,imm,a,offset,b,b_index,shift) orc_x8 6_emit_cpuinsn_store_memindex(p, ORC_X86_pextrw, imm, a, offset, b, b_index , shift)
#define orc_sse_emit_movd_store_memindex(p,a,offset,b,b_index,shift) orc_x8 6_emit_cpuinsn_store_memindex(p, ORC_X86_movd_store, 0, a, offset, b, b_ind ex, shift) #define orc_sse_emit_movd_store_memindex(p,a,offset,b,b_index,shift) orc_x8 6_emit_cpuinsn_store_memindex(p, ORC_X86_movd_store, 0, a, offset, b, b_ind ex, shift)
#define orc_sse_emit_movq_store_memindex(p,a,offset,b,b_index,shift) orc_x8 6_emit_cpuinsn_store_memindex(p, ORC_X86_movq_store, 0, a, offset, b, b_ind ex, shift) #define orc_sse_emit_movq_store_memindex(p,a,offset,b,b_index,shift) orc_x8 6_emit_cpuinsn_store_memindex(p, ORC_X86_movq_sse_store, 0, a, offset, b, b _index, shift)
#define orc_sse_emit_movdqa_store_memindex(p,a,offset,b,b_index,shift) orc_ x86_emit_cpuinsn_store_memindex(p, ORC_X86_movdqa_store, 0, a, offset, b, b _index, shift) #define orc_sse_emit_movdqa_store_memindex(p,a,offset,b,b_index,shift) orc_ x86_emit_cpuinsn_store_memindex(p, ORC_X86_movdqa_store, 0, a, offset, b, b _index, shift)
#define orc_sse_emit_movdqu_store_memindex(p,a,offset,b,b_index,shift) orc_ x86_emit_cpuinsn_store_memindex(p, ORC_X86_movdqu_store, 0, a, offset, b, b _index, shift) #define orc_sse_emit_movdqu_store_memindex(p,a,offset,b,b_index,shift) orc_ x86_emit_cpuinsn_store_memindex(p, ORC_X86_movdqu_store, 0, a, offset, b, b _index, shift)
#define orc_sse_emit_movntdq_store_memindex(p,a,offset,b,b_index,shift) orc _x86_emit_cpuinsn_store_memindex(p, ORC_X86_movntdq_store, 0, a, offset, b, b_index, shift) #define orc_sse_emit_movntdq_store_memindex(p,a,offset,b,b_index,shift) orc _x86_emit_cpuinsn_store_memindex(p, ORC_X86_movntdq_store, 0, a, offset, b, b_index, shift)
#define orc_sse_emit_pinsrw_register(p,imm,a,b) orc_x86_emit_cpuinsn(p, ORC #define orc_sse_emit_pinsrw_register(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p,
_X86_pinsrw, imm, a, b) ORC_X86_pinsrw, imm, a, b)
#define orc_sse_emit_movd_load_register(p,a,b) orc_x86_emit_cpuinsn(p, ORC_ #define orc_sse_emit_movd_load_register(p,a,b) orc_x86_emit_cpuinsn_size(p,
X86_movd_load, 0, a, b) ORC_X86_movd_load, 4, a, b)
#define orc_sse_emit_movq_load_register(p,a,b) orc_x86_emit_cpuinsn(p, ORC_ #define orc_sse_emit_movq_load_register(p,a,b) orc_x86_emit_cpuinsn_size(p,
X86_movq_load, 0, a, b) ORC_X86_movq_sse_load, 4, a, b)
#define orc_sse_emit_pextrw_register(p,imm,a,b) orc_x86_emit_cpuinsn(p, ORC #define orc_sse_emit_pextrw_register(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p,
_X86_pextrw, imm, a, b) ORC_X86_pextrw, imm, a, b)
#define orc_sse_emit_movd_store_register(p,a,b) orc_x86_emit_cpuinsn(p, ORC #define orc_sse_emit_movd_store_register(p,a,b) orc_x86_emit_cpuinsn_size(p
_X86_movd_store, 0, a, b) , ORC_X86_movd_store, 4, a, b)
#define orc_sse_emit_movq_store_register(p,a,b) orc_x86_emit_cpuinsn(p, ORC #define orc_sse_emit_movq_store_register(p,a,b) orc_x86_emit_cpuinsn_size(p
_X86_movq_store, 0, a, b) , ORC_X86_movq_sse_store, 4, a, b)
#define orc_mmx_emit_punpcklbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
punpcklbw, 8, a, b)
#define orc_mmx_emit_punpcklwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
punpcklwd, 8, a, b)
#define orc_mmx_emit_punpckldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
punpckldq, 8, a, b)
#define orc_mmx_emit_packsswb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
acksswb, 8, a, b)
#define orc_mmx_emit_pcmpgtb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpgtb, 8, a, b)
#define orc_mmx_emit_pcmpgtw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpgtw, 8, a, b)
#define orc_mmx_emit_pcmpgtd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpgtd, 8, a, b)
#define orc_mmx_emit_packuswb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
ackuswb, 8, a, b)
#define orc_mmx_emit_punpckhbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
punpckhbw, 8, a, b)
#define orc_mmx_emit_punpckhwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
punpckhwd, 8, a, b)
#define orc_mmx_emit_punpckhdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
punpckhdq, 8, a, b)
#define orc_mmx_emit_packssdw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
ackssdw, 8, a, b)
#define orc_mmx_emit_punpcklqdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86
_punpcklqdq, 8, a, b)
#define orc_mmx_emit_punpckhqdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86
_punpckhqdq, 8, a, b)
#define orc_mmx_emit_psraw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psra
w, 8, a, b)
#define orc_mmx_emit_psrlw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psrl
w, 8, a, b)
#define orc_mmx_emit_psllw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psll
w, 8, a, b)
#define orc_mmx_emit_psrad(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psra
d, 8, a, b)
#define orc_mmx_emit_psrld(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psrl
d, 8, a, b)
#define orc_mmx_emit_pslld(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psll
d, 8, a, b)
#define orc_mmx_emit_psrlq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psrl
q, 8, a, b)
#define orc_mmx_emit_psllq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psll
q, 8, a, b)
#define orc_mmx_emit_psrldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psr
ldq, 8, a, b)
#define orc_mmx_emit_pslldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psl
ldq, 8, a, b)
#define orc_mmx_emit_psrlq_reg(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
psrlq_reg, 8, a, b)
#define orc_mmx_emit_pcmpeqb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpeqb, 8, a, b)
#define orc_mmx_emit_pcmpeqw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpeqw, 8, a, b)
#define orc_mmx_emit_pcmpeqd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpeqd, 8, a, b)
#define orc_mmx_emit_paddq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
q, 8, a, b)
#define orc_mmx_emit_pmullw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
llw, 8, a, b)
#define orc_mmx_emit_psubusb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ps
ubusb, 8, a, b)
#define orc_mmx_emit_psubusw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ps
ubusw, 8, a, b)
#define orc_mmx_emit_pminub(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
nub, 8, a, b)
#define orc_mmx_emit_pand(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pand,
8, a, b)
#define orc_mmx_emit_paddusb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pa
ddusb, 8, a, b)
#define orc_mmx_emit_paddusw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pa
ddusw, 8, a, b)
#define orc_mmx_emit_pmaxub(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
xub, 8, a, b)
#define orc_mmx_emit_pandn(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pand
n, 8, a, b)
#define orc_mmx_emit_pavgb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pavg
b, 8, a, b)
#define orc_mmx_emit_pavgw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pavg
w, 8, a, b)
#define orc_mmx_emit_pmulhuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pm
ulhuw, 8, a, b)
#define orc_mmx_emit_pmulhw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
lhw, 8, a, b)
#define orc_mmx_emit_psubsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psu
bsb, 8, a, b)
#define orc_mmx_emit_psubsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psu
bsw, 8, a, b)
#define orc_mmx_emit_pminsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
nsw, 8, a, b)
#define orc_mmx_emit_por(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_por, 8
, a, b)
#define orc_mmx_emit_paddsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pad
dsb, 8, a, b)
#define orc_mmx_emit_paddsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pad
dsw, 8, a, b)
#define orc_mmx_emit_pmaxsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
xsw, 8, a, b)
#define orc_mmx_emit_pxor(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pxor,
8, a, b)
#define orc_mmx_emit_pmuludq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pm
uludq, 8, a, b)
#define orc_mmx_emit_pmaddwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pm
addwd, 8, a, b)
#define orc_mmx_emit_psadbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psa
dbw, 8, a, b)
#define orc_mmx_emit_psubb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
b, 8, a, b)
#define orc_mmx_emit_psubw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
w, 8, a, b)
#define orc_mmx_emit_psubd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
d, 8, a, b)
#define orc_mmx_emit_psubq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psub
q, 8, a, b)
#define orc_mmx_emit_paddb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
b, 8, a, b)
#define orc_mmx_emit_paddw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
w, 8, a, b)
#define orc_mmx_emit_paddd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_padd
d, 8, a, b)
#define orc_mmx_emit_pshufb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psh
ufb, 8, a, b)
#define orc_mmx_emit_phaddw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pha
ddw, 8, a, b)
#define orc_mmx_emit_phaddd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pha
ddd, 8, a, b)
#define orc_mmx_emit_phaddsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ph
addsw, 8, a, b)
#define orc_mmx_emit_pmaddubsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
pmaddubsw, 8, a, b)
#define orc_mmx_emit_phsubw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_phs
ubw, 8, a, b)
#define orc_mmx_emit_phsubd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_phs
ubd, 8, a, b)
#define orc_mmx_emit_phsubsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_ph
subsw, 8, a, b)
#define orc_mmx_emit_psignb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psi
gnb, 8, a, b)
#define orc_mmx_emit_psignw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psi
gnw, 8, a, b)
#define orc_mmx_emit_psignd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_psi
gnd, 8, a, b)
#define orc_mmx_emit_pmulhrsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
mulhrsw, 8, a, b)
#define orc_mmx_emit_pabsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pabs
b, 8, a, b)
#define orc_mmx_emit_pabsw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pabs
w, 8, a, b)
#define orc_mmx_emit_pabsd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pabs
d, 8, a, b)
#define orc_mmx_emit_pmovsxbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movsxbw, 8, a, b)
#define orc_mmx_emit_pmovsxbd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movsxbd, 8, a, b)
#define orc_mmx_emit_pmovsxbq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movsxbq, 8, a, b)
#define orc_mmx_emit_pmovsxwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movsxwd, 8, a, b)
#define orc_mmx_emit_pmovsxwq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movsxwq, 8, a, b)
#define orc_mmx_emit_pmovsxdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movsxdq, 8, a, b)
#define orc_mmx_emit_pmuldq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
ldq, 8, a, b)
#define orc_mmx_emit_pcmpeqq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpeqq, 8, a, b)
#define orc_mmx_emit_packusdw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
ackusdw, 8, a, b)
#define orc_mmx_emit_pmovzxbw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movzxbw, 8, a, b)
#define orc_mmx_emit_pmovzxbd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movzxbd, 8, a, b)
#define orc_mmx_emit_pmovzxbq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movzxbq, 8, a, b)
#define orc_mmx_emit_pmovzxwd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movzxwd, 8, a, b)
#define orc_mmx_emit_pmovzxwq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movzxwq, 8, a, b)
#define orc_mmx_emit_pmovzxdq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_p
movzxdq, 8, a, b)
#define orc_mmx_emit_pmulld(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmu
lld, 8, a, b)
#define orc_mmx_emit_phminposuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86
_phminposuw, 8, a, b)
#define orc_mmx_emit_pminsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
nsb, 8, a, b)
#define orc_mmx_emit_pminsd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
nsd, 8, a, b)
#define orc_mmx_emit_pminuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
nuw, 8, a, b)
#define orc_mmx_emit_pminud(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pmi
nud, 8, a, b)
#define orc_mmx_emit_pmaxsb(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
xsb, 8, a, b)
#define orc_mmx_emit_pmaxsd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
xsd, 8, a, b)
#define orc_mmx_emit_pmaxuw(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
xuw, 8, a, b)
#define orc_mmx_emit_pmaxud(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pma
xud, 8, a, b)
#define orc_mmx_emit_pcmpgtq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_pc
mpgtq, 8, a, b)
#define orc_mmx_emit_addps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_addp
s, 8, a, b)
#define orc_mmx_emit_subps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_subp
s, 8, a, b)
#define orc_mmx_emit_mulps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_mulp
s, 8, a, b)
#define orc_mmx_emit_divps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_divp
s, 8, a, b)
#define orc_mmx_emit_sqrtps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_sqr
tps, 8, a, b)
#define orc_mmx_emit_addpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_addp
d, 8, a, b)
#define orc_mmx_emit_subpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_subp
d, 8, a, b)
#define orc_mmx_emit_mulpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_mulp
d, 8, a, b)
#define orc_mmx_emit_divpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_divp
d, 8, a, b)
#define orc_mmx_emit_sqrtpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_sqr
tpd, 8, a, b)
#define orc_mmx_emit_cmpeqps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
peqps, 8, a, b)
#define orc_mmx_emit_cmpeqpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
peqpd, 8, a, b)
#define orc_mmx_emit_cmpltps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
pltps, 8, a, b)
#define orc_mmx_emit_cmpltpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
pltpd, 8, a, b)
#define orc_mmx_emit_cmpleps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
pleps, 8, a, b)
#define orc_mmx_emit_cmplepd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_cm
plepd, 8, a, b)
#define orc_mmx_emit_cvttps2dq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
cvttps2dq, 8, a, b)
#define orc_mmx_emit_cvttpd2dq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_
cvttpd2dq, 8, a, b)
#define orc_mmx_emit_cvtdq2ps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
vtdq2ps, 8, a, b)
#define orc_mmx_emit_cvtdq2pd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
vtdq2pd, 8, a, b)
#define orc_mmx_emit_cvtps2pd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
vtps2pd, 8, a, b)
#define orc_mmx_emit_cvtpd2ps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_c
vtpd2ps, 8, a, b)
#define orc_mmx_emit_minps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_minp
s, 8, a, b)
#define orc_mmx_emit_minpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_minp
d, 8, a, b)
#define orc_mmx_emit_maxps(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_maxp
s, 8, a, b)
#define orc_mmx_emit_maxpd(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_maxp
d, 8, a, b)
#define orc_mmx_emit_psraw_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psraw_imm, imm, 0, b)
#define orc_mmx_emit_psrlw_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psrlw_imm, imm, 0, b)
#define orc_mmx_emit_psllw_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psllw_imm, imm, 0, b)
#define orc_mmx_emit_psrad_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psrad_imm, imm, 0, b)
#define orc_mmx_emit_psrld_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psrld_imm, imm, 0, b)
#define orc_mmx_emit_pslld_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_pslld_imm, imm, 0, b)
#define orc_mmx_emit_psrlq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psrlq_imm, imm, 0, b)
#define orc_mmx_emit_psllq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psllq_imm, imm, 0, b)
#define orc_mmx_emit_psrldq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X8
6_psrldq_imm, imm, 0, b)
#define orc_mmx_emit_pslldq_imm(p,imm,b) orc_x86_emit_cpuinsn_imm(p, ORC_X8
6_pslldq_imm, imm, 0, b)
#define orc_mmx_emit_pshufd(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86_
pshufd, imm, a, b)
#define orc_mmx_emit_pshuflw(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_pshuflw, imm, a, b)
#define orc_mmx_emit_pshufhw(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_pshufhw, imm, a, b)
#define orc_mmx_emit_palignr(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86
_psalignr, imm, a, b)
#define orc_mmx_emit_pinsrw_memoffset(p,imm,offset,a,b) orc_x86_emit_cpuins
n_load_memoffset(p, ORC_X86_pinsrw, 4, imm, offset, a, b)
#define orc_mmx_emit_movd_load_memoffset(p,offset,a,b) orc_x86_emit_cpuinsn
_load_memoffset(p, ORC_X86_movd_load, 4, 0, offset, a, b)
#define orc_mmx_emit_movq_load_memoffset(p,offset,a,b) orc_x86_emit_cpuinsn
_load_memoffset(p, ORC_X86_movq_mmx_load, 4, 0, offset, a, b)
#define orc_mmx_emit_pextrw_memoffset(p,imm,a,offset,b) orc_x86_emit_cpuins
n_store_memoffset(p, ORC_X86_pextrw, 8, imm, a, offset, b)
#define orc_mmx_emit_movd_store_memoffset(p,a,offset,b) orc_x86_emit_cpuins
n_store_memoffset(p, ORC_X86_movd_store, 8, 0, a, offset, b)
#define orc_mmx_emit_movq_store_memoffset(p,a,offset,b) orc_x86_emit_cpuins
n_store_memoffset(p, ORC_X86_movq_mmx_store, 8, 0, a, offset, b)
#define orc_mmx_emit_pinsrw_memindex(p,imm,offset,a,a_index,shift,b) orc_x8
6_emit_cpuinsn_load_memindex(p, ORC_X86_pinsrw, 4, imm, offset, a, a_index,
shift, b)
#define orc_mmx_emit_movd_load_memindex(p,offset,a,a_index,shift,b) orc_x86
_emit_cpuinsn_load_memindex(p, ORC_X86_movd_load, 4, 0, offset, a, a_index,
shift, b)
#define orc_mmx_emit_movq_load_memindex(p,offset,a,a_index,shift,b) orc_x86
_emit_cpuinsn_load_memindex(p, ORC_X86_movq_mmx_load, 4, 0, offset, a, a_in
dex, shift, b)
#define orc_mmx_emit_pextrw_memindex(p,imm,a,offset,b,b_index,shift) orc_x8
6_emit_cpuinsn_store_memindex(p, ORC_X86_pextrw, imm, a, offset, b, b_index
, shift)
#define orc_mmx_emit_movd_store_memindex(p,a,offset,b,b_index,shift) orc_x8
6_emit_cpuinsn_store_memindex(p, ORC_X86_movd_store, 0, a, offset, b, b_ind
ex, shift)
#define orc_mmx_emit_movq_store_memindex(p,a,offset,b,b_index,shift) orc_x8
6_emit_cpuinsn_store_memindex(p, ORC_X86_movq_mmx_store, 0, a, offset, b, b
_index, shift)
#define orc_mmx_emit_pinsrw_register(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p,
ORC_X86_pinsrw, imm, a, b)
#define orc_mmx_emit_movd_load_register(p,a,b) orc_x86_emit_cpuinsn_size(p,
ORC_X86_movd_load, 4, a, b)
#define orc_mmx_emit_movq_load_register(p,a,b) orc_x86_emit_cpuinsn_size(p,
ORC_X86_movq_mmx_load, 4, a, b)
#define orc_mmx_emit_pextrw_register(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p,
ORC_X86_pextrw, imm, a, b)
#define orc_mmx_emit_movd_store_register(p,a,b) orc_x86_emit_cpuinsn_size(p
, ORC_X86_movd_store, 4, a, b)
#define orc_mmx_emit_movq_store_register(p,a,b) orc_x86_emit_cpuinsn_size(p
, ORC_X86_movq_mmx_store, 4, a, b)
#define orc_mmx_emit_pshufw(p,imm,a,b) orc_x86_emit_cpuinsn_imm(p, ORC_X86_
pshufw, imm, a, b)
#define orc_mmx_emit_movq(p,a,b) orc_x86_emit_cpuinsn_size(p, ORC_X86_movq_
mmx_load, 8, a, b)
#endif #endif
ORC_END_DECLS ORC_END_DECLS
#endif #endif
 End of changes. 17 change blocks. 
324 lines changed or deleted 695 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/