On Wed, May 6, 2020 at 11:18 PM Brian Gerst brgerst@gmail.com wrote:
I think a better fix would be to make CONST_MASK() return a u8 value rather than have to cast on every use.
Also I question the need for the "q" constraint. It was added in commit 437a0a54 as a workaround for GCC 3.4.4. Now that the minimum GCC version is 4.6, is this still necessary?
TL;DR yes
ah, thanks for the git archeology, it's useful. I don't think this is a compiler bug however, just the compiler being more strict that the `b` suffix on `orb` requires a 8b register operand. For 32b x86, `q` asm constraint is required, because not all GPR's had lower 8b register aliases, as Arnd found and HPA noted as well.
I like your suggested change to CONST_MASK, and will send that in a bit.