On May 7, 2020 8:09:35 AM PDT, David Laight <David.Laight@xxxxxxxxxx> wrote: >From: Brian Gerst >> Sent: 07 May 2020 14:32 >... >> I think the bug this worked around was that the compiler didn't >detect >> that CONST_MASK(nr) was also constant and doesn't need to be put into >> a register. The question is does that bug still exist on compiler >> versions we care about? > >Hmmm... >That ought to have been fixed instead of worrying about the fact >that an invalid register was used. > >Alternatively is there any reason not to use the bts/btc instructions? >Yes, I know they'll do wider accesses, but variable bit numbers do. >It is also possible that the assembler will support constant bit >numbers >= 32 by adding to the address offset. > > David > >- >Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, >MK1 1PT, UK >Registration No: 1397386 (Wales) They're slower, and for unaligned locked fields can be severely so. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.