Am Freitag, 2. Juli 2021, 17:09:50 CEST schrieb Jan Sikorski:
I guess it’s to force a memory load on each call, which could be omitted if the function is inlined. X86 loads are atomic IIRC. - Jan
It was necessary to make ARM CPUs re-load the data from memory. gcc inlines the function and would put both head and tail in a register and loop forever.