[PATCH 1/4] [Powerpc] tune/optimize memmove/wordcopy. Add helper macro to call MERGE

Richard Henderson rth@twiddle.net
Thu Mar 22 16:00:00 GMT 2012


On 03/22/12 07:45, Ryan S. Arnold wrote:
>> > +#define fwd_align_merge(align)                                         \
>> > +  do                                                                   \
>> > +    {                                                                  \
>> > +      a1 = ((op_t *) srcp)[1];                                         \
>> > +      a2 = ((op_t *) srcp)[2];                                         \
>> > +      ((op_t *) dstp)[0] = MERGE (a0, align*8, a1, (32-align*8));      \
>> > +      ((op_t *) dstp)[1] = MERGE (a1, align*8, a2, (32-align*8));      \
>> > +      a0 = a2;                                                         \
>> > +      srcp += 2 * OPSIZ;                                               \
>> > +      dstp += 2 * OPSIZ;                                               \
>> > +      len -= 2;                                                                \
>> > +    }                                                                  \
>> > +  while (len != 0);
...
> 
> I know that technically due to CPP macro expansion that a trailing
> semi-colon is not necessary, but is it preferred?

Yes.  Remove the errant ; from the end of the macro to force that.


r~



More information about the Libc-alpha mailing list