http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58442
--- Comment #6 from Martin Husemann <martin at netbsd dot org> --- To verify, I instrumented get_mem_attrs: static inline struct mem_attrs * get_mem_attrs (const_rtx x) { struct mem_attrs *attrs; attrs = MEM_ATTRS (x); attrs = MEM_ATTRS (x); if (!attrs) { attrs = mode_mem_attrs[(int) GET_MODE (x)]; if ((unsigned long)attrs < 1024) { fprintf(stderr, "ooops, mode_mem_attrs are bogus: %p mode %d\n", attrs, G$ debug_rtx(x); } } else if ((unsigned long)attrs < 1024) { fprintf(stderr, "ooops, bogus rtx mem attrs: %p\n", attrs); debug_rtx(x); } return attrs; } and indeed this fires: ooops, bogus rtx mem attrs: 0x4 (subreg:SI (reg/v:DI 71 [ __s ]) 4) In file included from /usr/pkgobj/lang/gcc48/work/build/vax--netbsdelf/libstdc++-v3/include/bits/locale_facets_nonio.h:1903:0, from /usr/pkgobj/lang/gcc48/work/build/vax--netbsdelf/libstdc++-v3/include/locale:41, from ../../../../../gcc-4.8.1/libstdc++-v3/src/c++98/locale-inst.cc:29: ...