https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63411
Oleg Endo <olegendo at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to bin.cheng from comment #2) > > bt/s .L3 > > mov r1,r2 > > add #3,r2 <<< wrong struct offset '3' > But r2 is initialized with [.L14] which is _OAM3+3, so the offset actually > is 6 here, No? Ouch. Yes. Sorry for the fuzz. On SH this is a performance regression (it can do only displacements that are scaled by the access size), but not a wrong-code regression.