[Bug target/93663] [10 Regression] ICE in is_halfway_below, at real.c:5192

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 10 23:25:00 GMT 2020


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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Target|                            |i386-*-*
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-02-10
                 CC|                            |msebor at gcc dot gnu.org
          Component|c                           |target
     Ever confirmed|0                           |1

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed.  Bisection points to r274927.  Based on the change below I assume
it's a target-specific issue.

2019-08-26  Richard Biener  <rguenther@suse.de>

        PR target/91522
        PR target/91527
        * config/i386/i386-features.h (general_scalar_chain::defs_map):
        New member.
        (general_scalar_chain::replace_with_subreg): Remove.
        (general_scalar_chain::replace_with_subreg_in_insn): Likewise.
        (general_scalar_chain::convert_reg): Adjust signature.
        * config/i386/i386-features.c (scalar_chain::add_insn): Do not
        iterate over all defs of a reg.
        (general_scalar_chain::replace_with_subreg): Remove.
        (general_scalar_chain::replace_with_subreg_in_insn): Likewise.
        (general_scalar_chain::make_vector_copies): Populate defs_map,
        place copy only after defs that are used as vectors in the chain.
        (general_scalar_chain::convert_reg): Emit a copy for a specific
        def in a specific instruction.
        (general_scalar_chain::convert_op): All reg uses are converted here.
        (general_scalar_chain::convert_insn): Emit copies for scalar
        uses of defs here.  Replace uses with the copies we created.
        Replace and convert the def.  Adjust REG_DEAD notes, remove
        REG_EQUIV/EQUAL notes.
        (general_scalar_chain::convert_registers): Only handle copies
        into the chain here.


More information about the Gcc-bugs mailing list