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. r~