On Wed, 16 Nov 2022 at 07:51, Alexander Monakov <amona...@ispras.ru> wrote: > > > On Wed, 16 Nov 2022, Hongyu Wang wrote: > > > > When emitting a compare-and-swap loop for @ref{__sync Builtins} > > > and @ref{__atomic Builtins} lacking a native instruction, optimize > > > for the highly contended case by issuing an atomic load before the > > > @code{CMPXCHG} instruction, and using the @code{PAUSE} instruction > > > to save CPU power when restarting the loop. > > > > Thanks for the correction, it looks quite clear now! Here is the > > updated patch, ok for trunk? > > Please use 'git commit --author' to indicate authorship of the patch > (or simply let me push it once approved). > > Jonathan, please let us know if the above wording looks fine to you? > Mainly I'm asking if '... and using' or '... and use' is easier to read.
Your wording above ("and using...") looks good, it reads naturally and clearly. It's quite a long sentence, so I considered suggesting: "... by issuing an atomic load before the CMPXCHG instruction. Also use the PAUSE instruction to save CPU power when restarting the loop." But I think your original is better. The sentence is long, but it flows better as a single sentence. As two sentences, the second one just seems tacked onto the end and it's less clear how it relates to the first.