https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105814
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |needs-bisection Target Milestone|--- |12.2 Component|target |middle-end Summary|16 "=rm" use in inline-asm |[12/13 Regression] 16 "=rm" |is rejected at -O0 |use in inline-asm is | |rejected at -O0 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I think it accidently worked in GCC 11.x. That is it would do a put it into a pseduo register and then reload it into memory as needed. As I mentioned clang/LLVM also rejects it at -O0.