https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98563
--- Comment #16 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >From PRE: Making available beyond BB3 _26 for value _26 Value numbering stmt = REALPART_EXPR <D.70054[_8]._M_value> = _25; No store match Value numbering store REALPART_EXPR <D.70054[_8]._M_value> to _25 Setting value number of .MEM_34 to .MEM_34 (changed) Value numbering stmt = IMAGPART_EXPR <D.70054[_8]._M_value> = _26; No store match Value numbering store IMAGPART_EXPR <D.70054[_8]._M_value> to _26 Setting value number of .MEM_15 to .MEM_15 (changed) Value numbering stmt = _19 = REALPART_EXPR <MEM <struct complex[64]> [(const struct complex &)&D.70054][_8]._M_value>; Setting value number of _19 to _19 (changed) Making available beyond BB3 _19 for value _19 Value numbering stmt = _18 = IMAGPART_EXPR <MEM <struct complex[64]> [(const struct complex &)&D.70054][_8]._M_value>; Setting value number of _18 to _26 (changed) As PRE is able to handle IMAGPART_EXPR but not REALPART_EXPR.
