JIT_OP_IABS:
	[=reg, local] -> {
		unsigned char *patch;
		x86_mov_reg_membase(inst, $1, X86_EBP, $2, 4);
		x86_alu_reg_reg(inst, X86_OR, $1, $1);
		patch = inst;
		x86_branch8(inst, X86_CC_GE, 0, 1);
		x86_neg_reg(inst, $1);
		x86_patch(patch, inst);
	}
	[=reg, reg] -> {
		unsigned char *patch;
		if($1 != $2) x86_mov_reg_reg(inst, $1, $2, 4);
		x86_alu_reg_reg(inst, X86_OR, $1, $1);
		patch = inst;
		x86_branch8(inst, X86_CC_GE, 0, 1);
		x86_neg_reg(inst, $1);
		x86_patch(patch, inst);
	}

JIT_OP_LABS: unary
	[lreg] -> {
		unsigned char *patch;
		x86_alu_reg_imm(inst, X86_CMP, %1, 0);
		patch = inst;
		x86_branch8(inst, X86_CC_GE, 0, 1);
		x86_not_reg(inst, $1);
		x86_not_reg(inst, %1);
		x86_alu_reg_imm(inst, X86_ADD, $1, 1);
		x86_alu_reg_imm(inst, X86_ADC, %1, 0);
		x86_patch(patch, inst);
	}
