On 05/05/2019 16:17, Richard Henderson wrote: > On 5/5/19 3:20 AM, Mark Cave-Ayland wrote: >>> The afrm argument is no longer used. >>> This also means that e.g. >>> >>> VSX_MADD(xsmaddadp, 1, float64, VsrD(0), MADD_FLGS, 1, 1, 0) >>> VSX_MADD(xsmaddmdp, 1, float64, VsrD(0), MADD_FLGS, 0, 1, 0) >>> >>> are redundant. Similarly with all of the other pairs. >> >> Agreed. What do you think is the best solution here - maybe a double macro >> that looks >> something like this? >> >> #define VSX_MADD(op, prec, nels, tp, fld, maddflgs, sfprf, r2sp) >> _VSX_MADD(op##aprec, nels, tp, fld, maddflgs, sfprf, r2sp) >> _VSX_MADD(op##mprec, nels, tp, fld, maddflgs, sfprf, r2sp) >> >> VSX_MADD(xsmadd, dp, 1, float64, VsrD(0), MADD_FLGS, 1, 0) > > I have no idea what you're suggesting. > > I am suggesting one function, xsmadddp, replacing xsmaddadp + xsmaddmdp, that > is used by both instructions.
Gotcha. I was thinking that the standard practice was to have a 1:1 correspondence between the gen function and helper function for instructions, but I'm happy to go with your suggestion above. ATB, Mark.