https://github.com/rust-lang/rust/pull/45920 turned up some usages of inline assembly which have no outputs. LLVM will just remove such inline assembly as they can never be used. We should make this an error.
Alternatively, do what GCC does and add volatile automatically if there are no outputs.
It's worth considering an error though; inline asm is uncommon and extraordinarily unsafe, conditions which generally favor explicitness over implicitness.
Most helpful comment
It's worth considering an error though; inline asm is uncommon and extraordinarily unsafe, conditions which generally favor explicitness over implicitness.