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

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
Line numbers are wrong for some reason, the compilation crashes in

rtx
simplify_subreg (machine_mode outermode, rtx op,
                 machine_mode innermode, poly_uint64 byte)
{
  /* Little bit of sanity checking.  */
  gcc_assert (innermode != VOIDmode);
  gcc_assert (outermode != VOIDmode);
  gcc_assert (innermode != BLKmode);
  gcc_assert (outermode != BLKmode);

> gcc_assert (GET_MODE (op) == innermode
              || GET_MODE (op) == VOIDmode);

where:

5877            temp = simplify_subreg (mode, SUBREG_REG (x), op0_mode,
(gdb) p op0_mode
$3 = E_SFmode
(gdb) p debug_rtx (x)
(subreg:SI (float_truncate:V2SF (mem/c:V2DF (symbol_ref:DI ("c") [flags 0x2]
<var_decl 0x7ffff7ff4ea0 c>) [1 c+0 S16 A128])) 0)

So, SFmode != V2SFmode.

Reply via email to