http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748
--- Comment #40 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 18 Sep 2013, bernd.edlinger at hotmail dot de wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748 > > --- Comment #38 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- > Richard, > > I've split up the patch as requested: > > Part 1 was posted here, but not yet approved: > http://gcc.gnu.org/ml/gcc-patches/2013-09/msg01292.html > > Just for the record, part 1 has been bootstrapped and regression tested. > > For part 2: > For simplicity I'd propose to use simply pass EXPAND_MEMORY here. > These misaligned uses are quite rare hopefully. > > I will replace my test cases 3+4 with Martin's test case, > maybe without the get_i() because otherwise the test will die > from the ICE before the check runs. > > Will do this after Part 1 if you agree... The issue is that we added the movmisaling-on-component-ref path for _correctness_ reasons. Now, if all misaligned accesses end up being expanded using BLKmode moves then it probably works ok (but then they are going to be horribly inefficent and wouldn't have triggered the movmisaling path anyway ...). But I'm willing to make the experiment - we've got plenty (well ...) time to watch out for fallout of this change (and it does simplify code, something I always like ;))