https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70848
--- Comment #10 from ktkachov at gcc dot gnu.org --- (In reply to Richard Biener from comment #8) > With an old cross to arm I can indeed see (.018t.ssa): > > void test() () > { > volatile int * _1; > volatile int * _4; > volatile int * _6; > > <bb 2>: > _1 = 327221280B; > *_1 = 97; > _4 = 327221280B; > *_4 = 98; > _6 = 327221280B; > *_6 = 99; > return; > > > note the missing {v} at the assignments. I wonder why this doesn't happen on x86 or aarch64... Is there some target hook called that erroneously strips the 'volatility' from the type somewhere?