imul_long_direct
void imul_long_direct(u32 * res_lo, u32 * res_hi, u32 d, u32 s);
imul_long_direct(&res_lo, &res_hi, (s32) srcval, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) srcval, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) srcval, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) * srcreg, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) srcval, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) srcval, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) srcval, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) * srcreg, (s32) imm);
imul_long_direct(&res_lo, &res_hi, (s32) * destreg, (s32) srcval);
imul_long_direct(&res_lo, &res_hi, (s32) * destreg, (s32) srcval);
imul_long_direct(&res_lo, &res_hi, (s32) * destreg, (s32) srcval);
imul_long_direct(&res_lo, &res_hi, (s32) * destreg, (s32) * srcreg);
imul_long_direct(&M.x86.R_EAX, &M.x86.R_EDX, M.x86.R_EAX, s);