On Sun, 20 Nov 2022, Jeff Law wrote: > > The concern, as far as I understand would be the case where the > > assembly-sequence leaves an incompatible extension in the register. > > Right.  The question in my mind is whether or not the responsibility should be > on the compiler or on the developer to ensure the ASM output is properly > extended.  If someone's writing ASMs, then to a large degree, I consider it > their responsibility to make sure things are properly extended Right. They should also find out the hard way, with zero documentation telling them they had to (let alone *why* they had to), and without a hypothetical -fsanitize=abi that would catch exactly the point of the missing extension instead of letting the program crash mysteriously at a much later point. Uphill both ways, in a world where LLVM does not place such burden on the programmer, and even among GCC targets only mips64 made a precedent (also without documenting the new requirement). > -- even more so > if having the compiler do it results in slower code independent of ASMs. I think LLVM demonstrates well enough that a compiler can do a better job than GCC at eliminating redundant extensions without upgrading requirements for inline asm (in the usual C code, not for sub-word outputs of an asm). Alexander