opcodes.h   opcodes.h 
skipping to change at line 131 skipping to change at line 131
UNARY_LW(convussql, "ORC_CLAMP_SL((orc_uint64)%s)") UNARY_LW(convussql, "ORC_CLAMP_SL((orc_uint64)%s)")
UNARY_LW(convuusql, "ORC_CLAMP_UL((orc_uint64)%s)") UNARY_LW(convuusql, "ORC_CLAMP_UL((orc_uint64)%s)")
BINARY_BW(mulsbw, "%s * %s") BINARY_BW(mulsbw, "%s * %s")
BINARY_BW(mulubw, "((orc_uint8)%s) * ((orc_uint8)%s)") BINARY_BW(mulubw, "((orc_uint8)%s) * ((orc_uint8)%s)")
BINARY_WL(mulswl, "%s * %s") BINARY_WL(mulswl, "%s * %s")
BINARY_WL(muluwl, "((orc_uint16)%s) * ((orc_uint16)%s)") BINARY_WL(muluwl, "((orc_uint16)%s) * ((orc_uint16)%s)")
BINARY_LQ(mulslq, "((orc_int64)%s) * ((orc_int64)%s)") BINARY_LQ(mulslq, "((orc_int64)%s) * ((orc_int64)%s)")
BINARY_LQ(mululq, "((orc_uint64)((orc_uint32)%s)) * ((orc_uint64)((orc_uint 32)%s))") BINARY_LQ(mululq, "((orc_uint64)((orc_uint32)%s)) * ((orc_uint64)((orc_uint 32)%s))")
BINARY_LQ(mergelq, "((orc_uint64)%s & ORC_UINT64_C(0xffffffff)) | ((orc_uin
t64)%s << 32)")
BINARY_WL(mergewl, "((orc_uint16)%s & 0x0000ffff) | ((orc_uint16)%s << 16)"
)
BINARY_BW(mergebw, "((orc_uint8)%s & 0x00ff) | ((orc_uint8)%s << 8)")
UNARY_WB(select0wb, "(orc_uint16)%s & 0xff")
UNARY_WB(select1wb, "((orc_uint16)%s >> 8)&0xff")
UNARY_LW(select0lw, "(orc_uint32)%s & 0xffff")
UNARY_LW(select1lw, "((orc_uint32)%s >> 16)&0xffff")
UNARY_QL(select0ql, "(orc_uint64)%s & 0xffffffff")
UNARY_QL(select1ql, "((orc_uint64)%s >> 32)&0xffffffff")
UNARY_UW(swapw, "ORC_SWAP_W(%s)") UNARY_UW(swapw, "ORC_SWAP_W(%s)")
UNARY_UL(swapl, "ORC_SWAP_L(%s)") UNARY_UL(swapl, "ORC_SWAP_L(%s)")
UNARY_UQ(swapq, "ORC_SWAP_Q(%s)") UNARY_UQ(swapq, "ORC_SWAP_Q(%s)")
BINARY_F(addf, "%s + %s") BINARY_F(addf, "%s + %s")
BINARY_F(subf, "%s - %s") BINARY_F(subf, "%s - %s")
BINARY_F(mulf, "%s * %s") BINARY_F(mulf, "%s * %s")
BINARY_F(divf, "%s / %s") BINARY_F(divf, "%s / %s")
UNARY_F(sqrtf, "sqrt(%s)") UNARY_F(sqrtf, "sqrt(%s)")
BINARY_FL(cmpeqf, "(%s == %s) ? (~0) : 0") BINARY_FL(cmpeqf, "(%s == %s) ? (~0) : 0")
 End of changes. 1 change blocks. 
11 lines changed or deleted 0 lines changed or added


 orcmmx.h   orcmmx.h 
skipping to change at line 92 skipping to change at line 92
#define orc_mmx_emit_pcmpgtw(p,a,b) orc_mmx_emit_660f (p, "pcmpgtw", 0x6 5, 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_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_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_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_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_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_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_movq(p,a,b) orc_mmx_emit_660f (p, "movq", 0x6f, a, b)
#define orc_mmx_emit_psraw(p,a,b) orc_mmx_emit_shiftimm (p, "psraw", 0 #define orc_mmx_emit_psraw_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psraw
x71, 4, a, b) ", 0x71, 4, a, b)
#define orc_mmx_emit_psrlw(p,a,b) orc_mmx_emit_shiftimm (p, "psrlw", 0 #define orc_mmx_emit_psrlw_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrlw
x71, 2, a, b) ", 0x71, 2, a, b)
#define orc_mmx_emit_psllw(p,a,b) orc_mmx_emit_shiftimm (p, "psllw", 0 #define orc_mmx_emit_psllw_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psllw
x71, 6, a, b) ", 0x71, 6, a, b)
#define orc_mmx_emit_psrad(p,a,b) orc_mmx_emit_shiftimm (p, "psrad", 0 #define orc_mmx_emit_psrad_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrad
x72, 4, a, b) ", 0x72, 4, a, b)
#define orc_mmx_emit_psrld(p,a,b) orc_mmx_emit_shiftimm (p, "psrld", 0 #define orc_mmx_emit_psrld_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrld
x72, 2, a, b) ", 0x72, 2, a, b)
#define orc_mmx_emit_pslld(p,a,b) orc_mmx_emit_shiftimm (p, "pslld", 0 #define orc_mmx_emit_pslld_imm(p,a,b) orc_mmx_emit_shiftimm (p, "pslld
x72, 6, a, b) ", 0x72, 6, a, b)
#define orc_mmx_emit_psrlq(p,a,b) orc_mmx_emit_shiftimm (p, "psrlq", 0 #define orc_mmx_emit_psrlq_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psrlq
x73, 2, a, b) ", 0x73, 2, a, b)
#define orc_mmx_emit_psllq(p,a,b) orc_mmx_emit_shiftimm (p, "psllq", 0 #define orc_mmx_emit_psllq_imm(p,a,b) orc_mmx_emit_shiftimm (p, "psllq
x73, 6, a, b) ", 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_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_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_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_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_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_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_psubusw(p,a,b) orc_mmx_emit_660f (p, "psubusw", 0xd 9, a, b)
 End of changes. 3 change blocks. 
16 lines changed or deleted 16 lines changed or added


 orcpowerpc.h   orcpowerpc.h 
skipping to change at line 128 skipping to change at line 128
void powerpc_emit_VX_2 (OrcCompiler *p, const char *name, unsigned int insn , void powerpc_emit_VX_2 (OrcCompiler *p, const char *name, unsigned int insn ,
int d, int a, int b); int d, int a, int b);
void powerpc_emit_VX_3 (OrcCompiler *p, const char *name, unsigned int insn , void powerpc_emit_VX_3 (OrcCompiler *p, const char *name, unsigned int insn ,
int d, int a, int b, int c); int d, int a, int b, int c);
void powerpc_emit_VX_3_reg (OrcCompiler *p, const char *name, unsigned int insn, void powerpc_emit_VX_3_reg (OrcCompiler *p, const char *name, unsigned int insn,
int d, int a, int b, int c); int d, int a, int b, int c);
void powerpc_emit_VX_4 (OrcCompiler *p, const char *name, unsigned int insn , void powerpc_emit_VX_4 (OrcCompiler *p, const char *name, unsigned int insn ,
int d, int a); int d, int a);
int powerpc_get_constant (OrcCompiler *p, int type, int value); int powerpc_get_constant (OrcCompiler *p, int type, int value);
int powerpc_get_constant_full (OrcCompiler *p, int value0, int value1, int value2, int value3); int powerpc_get_constant_full (OrcCompiler *p, int value0, int value1, int value2, int value3);
void powerpc_load_long_constant (OrcCompiler *p, int reg, orc_uint32 a,
orc_uint32 b, orc_uint32 c, orc_uint32 d);
/* instructions */ /* instructions */
#define powerpc_emit_vand(p,a,b,c) powerpc_emit_VX_2 (p, "vand", 0x 10000404, a, b, c)
#define powerpc_emit_vandc(p,a,b,c) powerpc_emit_VX_2 (p, "vandc", 0 x10000444, a, b, c) #define powerpc_emit_vandc(p,a,b,c) powerpc_emit_VX_2 (p, "vandc", 0 x10000444, a, b, c)
#define powerpc_emit_vor(p,a,b,c) powerpc_emit_VX_2 (p, "vor", 0x1 0000484, a, b, c) #define powerpc_emit_vor(p,a,b,c) powerpc_emit_VX_2 (p, "vor", 0x1 0000484, a, b, c)
#define powerpc_emit_vxor(p,a,b,c) powerpc_emit_VX_2 (p, "vxor", 0x 100004c4, a, b, c) #define powerpc_emit_vxor(p,a,b,c) powerpc_emit_VX_2 (p, "vxor", 0x 100004c4, a, b, c)
#define powerpc_emit_vmulesb(p,a,b,c) powerpc_emit_VX_2 (p, "vmulesb", 0x10000308, a, b, c) #define powerpc_emit_vmulesb(p,a,b,c) powerpc_emit_VX_2 (p, "vmulesb", 0x10000308, a, b, c)
#define powerpc_emit_vmuleub(p,a,b,c) powerpc_emit_VX_2 (p, "vmuleub", 0x10000208, a, b, c) #define powerpc_emit_vmuleub(p,a,b,c) powerpc_emit_VX_2 (p, "vmuleub", 0x10000208, a, b, c)
#define powerpc_emit_vmulesh(p,a,b,c) powerpc_emit_VX_2 (p, "vmulesh", 0x10000348, a, b, c) #define powerpc_emit_vmulesh(p,a,b,c) powerpc_emit_VX_2 (p, "vmulesh", 0x10000348, a, b, c)
#define powerpc_emit_vmuleuh(p,a,b,c) powerpc_emit_VX_2 (p, "vmuleuh", 0x10000248, a, b, c) #define powerpc_emit_vmuleuh(p,a,b,c) powerpc_emit_VX_2 (p, "vmuleuh", 0x10000248, a, b, c)
 End of changes. 2 change blocks. 
0 lines changed or deleted 3 lines changed or added


 orcprogram.h   orcprogram.h 
skipping to change at line 484 skipping to change at line 484
int loop_counter; int loop_counter;
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;
}; };
#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)
/** /**
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 orcx86insn.h   orcx86insn.h 
skipping to change at line 30 skipping to change at line 30
ORC_X86_INSN_TYPE_imm32_rm, ORC_X86_INSN_TYPE_imm32_rm,
ORC_X86_INSN_TYPE_rm_r, ORC_X86_INSN_TYPE_rm_r,
ORC_X86_INSN_TYPE_r_rm, ORC_X86_INSN_TYPE_r_rm,
ORC_X86_INSN_TYPE_LABEL, ORC_X86_INSN_TYPE_LABEL,
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_mov_imm32,
ORC_X86_INSN_TYPE_r_rm_byte, ORC_X86_INSN_TYPE_r_rm_byte,
ORC_X86_INSN_TYPE_r_rm_word, ORC_X86_INSN_TYPE_r_rm_word,
ORC_X86_INSN_TYPE_imm32_a, ORC_X86_INSN_TYPE_imm32_a,
ORC_X86_INSN_TYPE_EDI,
}; };
enum { 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,
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 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/