Register constraint switched to "=q" which means very specifically (from https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints)
Any register accessible as rl. In 32-bit mode, a, b, c, and d; in 64-bit mode, any integer register."
Older gcc versions (8.x and below) were trying to use esi or edi for the 8 bit flag variable, but it wound up displaying this error in the end:
kmp_lock.cpp: In function ‘void __kmp_spin_backoff(kmp_backoff_t*)’: kmp_lock.cpp:2684:1: error: unsupported size for integer register
Hence the correct restriction is "=q" instead of "=r".