https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84443
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Target| |powerpc Component|tree-optimization |middle-end --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Note that volatiles are not optimized and thus by having typedef struct { volatile unsigned int slock; } arch_spinlock_t; you might pessimize things. The code looks heavily dependent on inline asms and inlining so it's a bit hard to analyze as well.