> On 2 Jun 2022, at 2:00 am, Segher Boessenkool <seg...@kernel.crashing.org> > wrote: > > Hi! > > On Wed, Jun 01, 2022 at 03:48:45PM +1000, Rohan McLure wrote: >> +.macro BINOP_REGS op, rhs, start, end >> + .Lreg=\start >> + .rept (\end - \start + 1) >> + \op .Lreg, \rhs >> + .Lreg=.Lreg+1 >> + .endr >> +.endm > > This is for unary operations, not binary operations (there is only one > item on the RHS). You can in principle put a string "a,b" in the rhs > parameter, but in practice you need a or b to depend on the loop counter > as well, so even such trickiness won't do. Make the naming less > confusing, maybe? Or don't have an unused extra level of abstraction in > the first place :-) > > > Segher
Thanks Segher, Christophe for reviewing this. Yep I see how having a macro to perform rX = rX <> Y for arbitrary infix <> and operand is unlikely to find much use outside of ZERO_GPRS. As I resubmit this patch series I will rename it to ZERO_REGS or similar to be more explicitly coupled to ZERO_GPRS. Something like this I was thinking: .macro ZERO_REGS start, end .Lreg=\start .rept (\end - \start + 1) li .Lreg, 0 .Lreg=.Lreg+1 .endr .endm Thanks, Rohan