https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320
--- Comment #17 from Thomas Preud'homme <thomas.preudhomme at arm dot com> --- (In reply to Richard Biener from comment #12) > > I'd say > > Index: tree-ssa-math-opts.c > =================================================================== > --- tree-ssa-math-opts.c (revision 211170) > +++ tree-ssa-math-opts.c (working copy) > @@ -2149,7 +2149,8 @@ bswap_replace (gimple stmt, gimple_stmt_ > unsigned align; > > align = get_object_alignment (src); > - if (bswap && SLOW_UNALIGNED_ACCESS (TYPE_MODE (load_type), align)) > + if (align < GET_MODE_ALIGNMENT (TYPE_MODE (load_type)) > + && SLOW_UNALIGNED_ACCESS (TYPE_MODE (load_type), align)) > return false; > > /* Compute address to load from and cast according to the size > > is obvious (and pre-approved). Alright but tests need to be modified to add an xfail for target impacted by this. I did such a change and also rewrote the tests to use aligned variable as much as possible so that they are more meaningful on STRICT_ALIGNMENT targets. I'll post it for review today (at least for the changes in the testsuite).