https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51017

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
      Known to work|                            |4.3.4
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
   Target Milestone|---                         |4.8.5
            Summary|GCC 4.6 performance         |[4.8/4.9/5 Regression] GCC
                   |regression (vs. 4.4/4.5),   |performance regression (vs.
                   |PRE increases register      |4.4/4.5), PRE increases
                   |pressure                    |register pressure too much
      Known to fail|                            |4.8.3, 4.9.2, 5.0

--- Comment #20 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Alexander Peslyak from comment #19)
> (In reply to Alexander Peslyak from comment #17)
> > Should we create a new bug for the unnecessary and non-optional use of
> > unaligned load instructions for source code like this, or is this considered
> > the new intended behavior despite of the major slowdown on such CPUs? 
> > (Presumably not only for JtR.  I'd expect this to affect many programs.)
> 
> Upon further analysis, I now think that this was my fault, and (presumably)
> not common in other programs.  What I had was differing definition vs.
> declaration, so a bug.  The lack of alignment specification in the
> declaration of the struct essentially told (newer) GCC not to assume
> alignment - to an extent greater than e.g. a pointer would.  As far as I can
> tell, GCC does not currently produce unaligned load instructions (so assumes
> that SSE* vectors are properly aligned) when all it has is a pointer coming
> from another object file.  I think that's the common scenario, whereas mine
> was uncommon (and incorrect).

Yes.  Note that we are trying to be more forgiving to users here and do not
exploit undefined behavior fully.

> So let's focus on PRE only.

Ok.  There are related bugreports for that I think.

Reply via email to