[Bug c/76783] [7 Regression] wrong code with conditional vector assignment @ -Og

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 15 13:48:00 GMT 2016


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Actually it's folding during late CCP somehow.  Mine.

Visiting PHI node: u_6 = PHI <{ 0, 0, 0, 0 }(2), { 0, 1, 0, 0 }(3)>

    Argument #0 (2 -> 4 executable)
        { 0, 0, 0, 0 }  Value: CONSTANT { 0, 0, 0, 0 }

    Argument #1 (3 -> 4 not executable)

    PHI node value: CONSTANT { 0, 0, 0, 0 }

Lattice value changed to CONSTANT { 0, 0, 0, 0 }.  Adding SSA edges to
worklist.

...

Visiting statement:
_1 = {_10, _13, _16, _19};
which is likely CONSTANT
Lattice value changed to VARYING.  Adding SSA edges to worklist.

Visiting statement:
_5 = BIT_FIELD_REF <_1, 128, 128>;
which is likely CONSTANT
Applying pattern match.pd:3444, gimple-match.c:62758
Match-and-simplified BIT_FIELD_REF <_1, 128, 128> to _13
Lattice value changed to CONSTANT _11.  Adding SSA edges to worklist.
marking stmt to be not simulated again

somehow it looks up a SSA name that is not final yet.


More information about the Gcc-bugs mailing list