This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/71549] ICE on valid code at -O2 and -O3 with -g enabled in 64-bit mode on x86_64-linux-gnu: in simplify_subreg, at simplify-rtx.c:5952
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 16 Jun 2016 07:47:26 +0000
- Subject: [Bug target/71549] ICE on valid code at -O2 and -O3 with -g enabled in 64-bit mode on x86_64-linux-gnu: in simplify_subreg, at simplify-rtx.c:5952
- Auto-submitted: auto-generated
- References: <bug-71549-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71549
UroÅ Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-06-16
CC| |hjl at gcc dot gnu.org
Component|debug |target
Ever confirmed|0 |1
--- Comment #1 from UroÅ Bizjak <ubizjak at gmail dot com> ---
Fails due to STV pass:
#2 0x0000000000d9b58d in simplify_subreg (outermode=SImode, op=0x2aaaae8f0420,
innermode=TImode, byte=0)
at ../../git/gcc/gcc/simplify-rtx.c:5951
5951 gcc_assert (GET_MODE (op) == innermode
(gdb) list
5946 gcc_assert (innermode != VOIDmode);
5947 gcc_assert (outermode != VOIDmode);
5948 gcc_assert (innermode != BLKmode);
5949 gcc_assert (outermode != BLKmode);
5950
5951 gcc_assert (GET_MODE (op) == innermode
5952 || GET_MODE (op) == VOIDmode);
5953
5954 if ((byte % GET_MODE_SIZE (outermode)) != 0)
5955 return NULL_RTX;
(gdb) p debug_rtx (op)
(reg/v:V1TI 21 xmm0 [orig:87 p1 ] [87])
$1 = void
(gdb) p innermode
$2 = TImode
(insn 5 2 16 2 (set (reg/v:V1TI 87 [ p1 ])
(mem/c:V1TI (symbol_ref:DI ("b") [flags 0x2] <var_decl 0x2b52f1089d80
b>) [1 b+0 S16 A32])) 1239 {movv1ti_internal}
(nil))
(debug_insn 16 5 6 2 (var_location:TI D#3 (reg/v:V1TI 87 [ p1 ])) -1
(nil))
(insn 6 16 7 2 (set (mem/c:V1TI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x2b52f1089cf0 a>) [1 a+0 S16 A32])
(reg/v:V1TI 87 [ p1 ])) pr71549.c:12 1239 {movv1ti_internal}
(expr_list:REG_DEAD (reg/v:V1TI 87 [ p1 ])
(nil)))
(debug_insn 7 6 8 2 (var_location:SI D#1 (subreg:SI (debug_expr:TI D#3) 0))
pr71549.c:13 -1
(nil))
(debug_insn 8 7 13 2 (var_location:SI c (debug_expr:SI D#1)) pr71549.c:13 -1
(nil))
(insn 13 8 14 2 (set (reg/i:SI 0 ax)
(const_int 0 [0])) pr71549.c:21 82 {*movsi_internal}
(nil))
(insn 14 13 0 2 (use (reg/i:SI 0 ax)) pr71549.c:21 -1
(nil))
Please see (debug_insn 16).
CC author.