https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65342
Alan Modra <amodra at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-03-07 CC| |amodra at gmail dot com Ever confirmed|0 |1 --- Comment #1 from Alan Modra <amodra at gmail dot com> --- Confirmed. The problem occurs in fwprop1 where instructions corresponding to the following assembly addis r2,r31,ha16(_A.1.1600-L1$pb) la r9,lo16(_A.1.1600-L1$pb)(r2) ld r2,0(r9) are combined to addis r2,r31,ha16(_A.1.1600-L1$pb) la r9,lo16(_A.1.1600-L1$pb)(r2) ld r2,lo16(_A.1.1600-L1$pb)(r2) ie. the offset is propagated into the memory load. This ought to give you an error at assembly or link time. If not, you have a bad assembler or linker.. movdi_low is the culprit, I think. It should require a suitably aligned offset (operand 2).