This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/78526] [7 Regression] ICE: in decompose, at rtl.h:2117 with -g -mavx512bw


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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
What happens is that valtrack creates a paradoxical subreg:
(debug_insn 28 14 15 2 (var_location:V4TI D#2 (subreg:V4TI (reg:TI 94) 0)) -1
     (nil))
(insn 15 28 16 2 (set (subreg:TI (reg/v:V4TI 90 [ v ]) 0)
        (reg:TI 94)) "pr78526.c":8 80 {*movti_internal}
     (expr_list:REG_DEAD (reg:TI 94)
        (nil)))
during cse1 - with the meaning that nothing is known about the other elements
of the vector v, only about the first element.
But then simplify-rtx.c has bogus handling of CONST_WIDE_INT.
Though I'd say at least for debug info purposes we should be careful about
paradoxical subregs, because they mean the upper bits are not really defined
rather than zero or the value sign or zero extended.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]