[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
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jun 16 08:21:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71549
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
Patch in testing:
--cut here--
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c5e5e12..3a6e63a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3802,14 +3802,8 @@ timode_scalar_chain::convert_insn (rtx_insn *insn)
switch (GET_CODE (dst))
{
case REG:
- {
- rtx tmp = find_reg_equal_equiv_note (insn);
- if (tmp)
- PUT_MODE (XEXP (tmp, 0), V1TImode);
- }
- /* FALLTHRU */
case MEM:
- PUT_MODE (dst, V1TImode);
+ dst = gen_rtx_SUBREG (V1TImode, copy_rtx_if_shared (dst), 0);
break;
default:
@@ -3820,7 +3814,7 @@ timode_scalar_chain::convert_insn (rtx_insn *insn)
{
case REG:
case MEM:
- PUT_MODE (src, V1TImode);
+ src = gen_rtx_SUBREG (V1TImode, copy_rtx_if_shared (src), 0);
break;
case CONST_INT:
--cut here--
More information about the Gcc-bugs
mailing list