On 12/12/2014 09:31 AM, Bastian Koppelmann wrote: > +#define MUL_H_OP(ARG00, ARG01, ARG10, ARG11) \ > +uint64_t helper_mulh_##ARG00 ##_##ARG01 ##_##ARG10 ##_##ARG11( \ > + CPUTriCoreState *env, target_ulong arg1, target_ulong arg2, \ > + target_ulong n) \ > +{ \ > + uint64_t ret; \ > + uint32_t result0, result1; \ > + int32_t arg00 = sextract32(arg1, ARG00, 16); \ > + int32_t arg01 = sextract32(arg1, ARG01, 16); \ > + int32_t arg10 = sextract32(arg2, ARG10, 16); \ > + int32_t arg11 = sextract32(arg2, ARG11, 16); \
Since these functions only differ in the extraction of the arguments, it'd probably be better to only have 3 helpers instead of 12 and do this extraction in tcg as part of the call. r~