+2007-11-20 Zoltan Varga <vargaz@gmail.com>
+
+ * amd64/amd64-codegen.h (amd64_alu_reg_imm_size): Prefer the smaller
+ instruction encoding.
+
2007-11-03 David S. Miller <davem@davemloft.net>
* sparc/sparc-codegen.h (sparc_set32, sparc_set): A plain sethi
#define amd64_alu_reg_imm_size(inst,opc,reg,imm,size) \
do { \
- if ((reg) == X86_EAX) { \
- amd64_emit_rex(inst, size, 0, 0, 0); \
- *(inst)++ = (((unsigned char)(opc)) << 3) + 5; \
- x86_imm_emit32 ((inst), (imm)); \
- break; \
- } \
if (x86_is_imm8((imm))) { \
amd64_emit_rex(inst, size, 0, 0, (reg)); \
*(inst)++ = (unsigned char)0x83; \
x86_reg_emit ((inst), (opc), (reg)); \
x86_imm_emit8 ((inst), (imm)); \
+ } else if ((reg) == X86_EAX) { \
+ amd64_emit_rex(inst, size, 0, 0, 0); \
+ *(inst)++ = (((unsigned char)(opc)) << 3) + 5; \
+ x86_imm_emit32 ((inst), (imm)); \
} else { \
amd64_emit_rex(inst, size, 0, 0, (reg)); \
*(inst)++ = (unsigned char)0x81; \