public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1
@ 2015-05-14  8:35 dhowells at redhat dot com
  2015-05-14 18:49 ` [Bug target/66140] " ubizjak at gmail dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: dhowells at redhat dot com @ 2015-05-14  8:35 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 66140
           Summary: ICE at extract_insn, at recog.c:2343 when compiling
                    for alpha with gcc-5.1.1
           Product: gcc
           Version: 5.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dhowells at redhat dot com
  Target Milestone: ---

Created attachment 35539
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35539&action=edit
Reduced test case

I'm seeing the following ICE:

alpha-linux-gnu-gcc -O2 -c alpha-reduced.c
alpha-reduced.c: In function 'lpfc_bg_scsi_prep_dma_buf_s3':
alpha-reduced.c:51:1: error: unrecognizable insn:
 }
 ^
(insn 88 87 89 9 (set (reg:DI 3 $3)
        (mem:DI (and:DI (plus:DI (mem/c:DI (plus:DI (reg/f:DI 30 $30)
                            (const_int 64 [0x40])) [6 %sfp+0 S8 A64])
                    (const_int 3 [0x3]))
                (const_int -8 [0xfffffffffffffff8])) [0  S8 A64]))
alpha-reduced.c:35 -1
     (nil))
alpha-reduced.c:51:1: internal compiler error: in extract_insn, at recog.c:2343

with the attached test case when cross-compiling for alpha with gcc-5.1.1.

The compiler is built from SVN rev 222331 dated 20150422 with no patches
applied and is running on an x86_64 Linux system.  The binutils is 2.25 based.

The compiler was configured thus:

CC=gcc \
CXX=g++ \
CFLAGS='-O2 -g -Wall -Wformat-security -fexceptions -fstack-protector-strong
--param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic' \
CXXFLAGS=' -O2 -g -Wformat-security -fstack-protector-strong
--param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic ' \
CFLAGS_FOR_TARGET='-g -O2 -Wall -fexceptions' \
AR_FOR_TARGET=/usr/bin/alpha-linux-gnu-ar \
AS_FOR_TARGET=/usr/bin/alpha-linux-gnu-as \
DLLTOOL_FOR_TARGET=/usr/bin/alpha-linux-gnu-dlltool \
LD_FOR_TARGET=/usr/bin/alpha-linux-gnu-ld \
NM_FOR_TARGET=/usr/bin/alpha-linux-gnu-nm \
OBJDUMP_FOR_TARGET=/usr/bin/alpha-linux-gnu-objdump \
RANLIB_FOR_TARGET=/usr/bin/alpha-linux-gnu-ranlib \
READELF_FOR_TARGET=/usr/bin/alpha-linux-gnu-readelf \
STRIP_FOR_TARGET=/usr/bin/alpha-linux-gnu-strip \
WINDRES_FOR_TARGET=/usr/bin/alpha-linux-gnu-windres \
WINDMC_FOR_TARGET=/usr/bin/alpha-linux-gnu-windmc \
LDFLAGS='-Wl,-z,relro ' \
../gcc-5.1.1-20150422/configure --bindir=/usr/bin
--build=x86_64-redhat-linux-gnu --datadir=/usr/share --disable-decimal-float
--disable-dependency-tracking --disable-gold --disable-libgcj --disable-libgomp
--disable-libmudflap --disable-libquadmath --disable-libssp
--disable-libunwind-exceptions --disable-nls --disable-plugin --disable-shared
--disable-silent-rules --disable-sjlj-exceptions --disable-threads
--with-ld=/usr/bin/alpha-linux-gnu-ld --enable-__cxa_atexit
--enable-checking=release --enable-gnu-indirect-function
--enable-gnu-unique-object --enable-initfini-array --enable-languages=c,c++
--enable-linker-build-id --enable-nls --enable-obsolete --enable-plugin
--enable-targets=all --exec-prefix=/usr --host=x86_64-redhat-linux-gnu
--includedir=/usr/include --infodir=/usr/share/info --libexecdir=/usr/libexec
--localstatedir=/var --mandir=/usr/share/man --prefix=/usr
--program-prefix=alpha-linux-gnu- --sbindir=/usr/sbin --sharedstatedir=/var/lib
--sysconfdir=/etc --target=alpha-linux-gnu
--with-bugurl=http://bugzilla.redhat.com/bugzilla/ --with-isl
--with-linker-hash-style=gnu --with-newlib
--with-sysroot=/usr/alpha-linux-gnu/sys-root --with-system-libunwind
--with-system-zlib --without-headers

and built thus:

AR_FOR_TARGET=/usr/bin/alpha-linux-gnu-ar \
AS_FOR_TARGET=/usr/bin/alpha-linux-gnu-as \
DLLTOOL_FOR_TARGET=/usr/bin/alpha-linux-gnu-dlltool \
LD_FOR_TARGET=/usr/bin/alpha-linux-gnu-ld \
NM_FOR_TARGET=/usr/bin/alpha-linux-gnu-nm \
OBJDUMP_FOR_TARGET=/usr/bin/alpha-linux-gnu-objdump \
RANLIB_FOR_TARGET=/usr/bin/alpha-linux-gnu-ranlib \
READELF_FOR_TARGET=/usr/bin/alpha-linux-gnu-readelf \
STRIP_FOR_TARGET=/usr/bin/alpha-linux-gnu-strip \
WINDRES_FOR_TARGET=/usr/bin/alpha-linux-gnu-windres \
WINDMC_FOR_TARGET=/usr/bin/alpha-linux-gnu-windmc \
make -C alpha-linux-gnu -j5 tooldir=/usr all-gcc
make -C alpha-linux-gnu -j5 tooldir=/usr all-target-libgcc


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/66140] ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1
  2015-05-14  8:35 [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1 dhowells at redhat dot com
@ 2015-05-14 18:49 ` ubizjak at gmail dot com
  2015-05-16  7:28 ` uros at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: ubizjak at gmail dot com @ 2015-05-14 18:49 UTC (permalink / raw)
  To: gcc-bugs

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-05-14
                 CC|                            |rth at gcc dot gnu.org,
                   |                            |ubizjak at gmail dot com
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Confirmed with a cross from x86_64-linux-gnu.

The problem is with (insn 56), where reload does:

Reloads for insn # 56
Reload 0: reload_in (DI) = (reg/v/f:DI 71 [ bpl ])
        GENERAL_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0)
        reload_in_reg: (reg/v/f:DI 71 [ bpl ])
        reload_reg_rtx: (reg:DI 4 $4)
Reload 1: GENERAL_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0), can't combine,
secondary_reload_p
        reload_reg_rtx: (reg:TI 2 $2)
Reload 2: reload_out (QI) = (mem:QI (plus:DI (reg/v/f:DI 71 [ bpl ])
                                                        (const_int 3 [0x3])) [1
*bpl_5+3 S1 A8])
        GENERAL_REGS, RELOAD_FOR_OUTPUT (opnum = 0)
        reload_out_reg: (mem:QI (plus:DI (reg/v/f:DI 71 [ bpl ])
                                                        (const_int 3 [0x3])) [1
*bpl_5+3 S1 A8])
        reload_reg_rtx: (reg:QI 5 $5)
        secondary_out_reload = 1

        secondary_out_icode = reload_outqi

Tracing the RTX through reload_outqi, we enter with operands[0]:

(mem:QI (plus:DI (reg/v/f:DI 71 [ bpl ])
        (const_int 3 [0x3])) [1 *bpl_5+3 S1 A8])

and get_unaligned_addr returns:

(plus:DI (reg/v/f:DI 71 [ bpl ])
    (const_int 3 [0x3]))

But ... (reg/v/f:DI 71 [ bpl ]) is scheduled for reload in Reload 0, and got
its replacement register (reg:DI 4 $4).

So, we have to call find_replacement in get_unaligned_address, even if (ref) is
otherwise correct memory_address_p operand.

With the (totaly untested) patch below, get_unaligned_address returns:

(plus:DI (reg:DI 4 $4)
    (const_int 3 [0x3]))

--cut here--
Index: alpha.c
===================================================================
--- alpha.c     (revision 223201)
+++ alpha.c     (working copy)
@@ -1602,8 +1602,7 @@ get_unaligned_address (rtx ref)

   gcc_assert (MEM_P (ref));

-  if (reload_in_progress
-      && ! memory_address_p (GET_MODE (ref), XEXP (ref, 0)))
+  if (reload_in_progress)
     {
       base = find_replacement (&XEXP (ref, 0));

--cut here--
>From gcc-bugs-return-486296-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu May 14 19:09:58 2015
Return-Path: <gcc-bugs-return-486296-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 35134 invoked by alias); 14 May 2015 19:09:58 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 35102 invoked by uid 48); 14 May 2015 19:09:54 -0000
From: "danglin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/66148] New: [6 regression] build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006
Date: Thu, 14 May 2015 19:09:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: danglin at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone cf_gcchost cf_gcctarget cf_gccbuild
Message-ID: <bug-66148-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-05/txt/msg01136.txt.bz2
Content-length: 2024

https://gcc.gnu.org/bugzilla/show_bug.cgi?idf148

            Bug ID: 66148
           Summary: [6 regression] build/genpreds: Internal error: abort
                    in choose_enum_order, at genpreds.c:1006
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
              Host: hppa64-hp-hpux11.11
            Target: hppa64-hp-hpux11.11
             Build: hppa64-hp-hpux11.11

/test/gnu/gcc/objdir/./prev-gcc/xg++ -B/test/gnu/gcc/objdir/./prev-gcc/
-B/opt/g
nu64/gcc/gcc-5.0/hppa64-hp-hpux11.11/bin/ -nostdinc++
-B/test/gnu/gcc/objdir/pre
v-hppa64-hp-hpux11.11/libstdc++-v3/src/.libs
-B/test/gnu/gcc/objdir/prev-hppa64-
hp-hpux11.11/libstdc++-v3/libsupc++/.libs
-I/test/gnu/gcc/objdir/prev-hppa64-hp
-hpux11.11/libstdc++-v3/include/hppa64-hp-hpux11.11
-I/test/gnu/gcc/objdir/prev
-hppa64-hp-hpux11.11/libstdc++-v3/include
-I/test/gnu/gcc/gcc/libstdc++-v3/libs
upc++ -L/test/gnu/gcc/objdir/prev-hppa64-hp-hpux11.11/libstdc++-v3/src/.libs
-L/test/gnu/gcc/objdir/prev-hppa64-hp-hpux11.11/libstdc++-v3/libsupc++/.libs
-g -O2 -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W
-Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror   -DHAVE_CONFIG_H -DGENERATOR_FILE
-static-libstdc++ -static-libgcc  -o build/genconditions \
            build/genconditions.o build/rtl.o build/read-rtl.o build/ggc-none.o
build/vec.o build/min-insn-modes.o build/gensupport.o build/print-rtl.o
build/read-md.o build/errors.o .././libiberty/libiberty.a
build/genpreds -c ../../gcc/gcc/common.md ../../gcc/gcc/config/pa/pa.md >
tmp-constrs.h
build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006

First seen in r223163.  r222861 was okay.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/66140] ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1
  2015-05-14  8:35 [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1 dhowells at redhat dot com
  2015-05-14 18:49 ` [Bug target/66140] " ubizjak at gmail dot com
@ 2015-05-16  7:28 ` uros at gcc dot gnu.org
  2015-05-16  7:42 ` uros at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: uros at gcc dot gnu.org @ 2015-05-16  7:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from uros at gcc dot gnu.org ---
Author: uros
Date: Sat May 16 07:28:16 2015
New Revision: 223232

URL: https://gcc.gnu.org/viewcvs?rev=223232&root=gcc&view=rev
Log:
        PR target/66140
        * config/alpha/alpha.c (get_aligned_mem): Also look for reload
        replacements in memory addresses.
        (get_unaligned_address): Ditto.

testsuite/ChangeLog:

        PR target/66140
        * gcc.target/alpha/pr66140.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/alpha/pr66140.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/alpha/alpha.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/66140] ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1
  2015-05-14  8:35 [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1 dhowells at redhat dot com
  2015-05-14 18:49 ` [Bug target/66140] " ubizjak at gmail dot com
  2015-05-16  7:28 ` uros at gcc dot gnu.org
@ 2015-05-16  7:42 ` uros at gcc dot gnu.org
  2015-05-17  7:25 ` uros at gcc dot gnu.org
  2015-05-17  7:27 ` uros at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: uros at gcc dot gnu.org @ 2015-05-16  7:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from uros at gcc dot gnu.org ---
Author: uros
Date: Sat May 16 07:42:20 2015
New Revision: 223233

URL: https://gcc.gnu.org/viewcvs?rev=223233&root=gcc&view=rev
Log:
        PR target/66140
        * config/alpha/alpha.c (get_aligned_mem): Also look for reload
        replacements in memory addresses.
        (get_unaligned_address): Ditto.

testsuite/ChangeLog:

        PR target/66140
        * gcc.target/alpha/pr66140.c: New test.


Added:
    branches/gcc-5-branch/gcc/testsuite/gcc.target/alpha/pr66140.c
Modified:
    branches/gcc-5-branch/gcc/ChangeLog
    branches/gcc-5-branch/gcc/config/alpha/alpha.c
    branches/gcc-5-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/66140] ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1
  2015-05-14  8:35 [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1 dhowells at redhat dot com
                   ` (2 preceding siblings ...)
  2015-05-16  7:42 ` uros at gcc dot gnu.org
@ 2015-05-17  7:25 ` uros at gcc dot gnu.org
  2015-05-17  7:27 ` uros at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: uros at gcc dot gnu.org @ 2015-05-17  7:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from uros at gcc dot gnu.org ---
Author: uros
Date: Sun May 17 07:24:27 2015
New Revision: 223266

URL: https://gcc.gnu.org/viewcvs?rev=223266&root=gcc&view=rev
Log:
        PR target/66140
        * config/alpha/alpha.c (get_aligned_mem): Also look for reload
        replacements in memory addresses.
        (get_unaligned_address): Ditto.

testsuite/ChangeLog:

        PR target/66140
        * gcc.target/alpha/pr66140.c: New test.


Added:
    branches/gcc-4_9-branch/gcc/testsuite/gcc.target/alpha/pr66140.c
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/config/alpha/alpha.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/66140] ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1
  2015-05-14  8:35 [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1 dhowells at redhat dot com
                   ` (3 preceding siblings ...)
  2015-05-17  7:25 ` uros at gcc dot gnu.org
@ 2015-05-17  7:27 ` uros at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: uros at gcc dot gnu.org @ 2015-05-17  7:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from uros at gcc dot gnu.org ---
Author: uros
Date: Sun May 17 07:26:56 2015
New Revision: 223267

URL: https://gcc.gnu.org/viewcvs?rev=223267&root=gcc&view=rev
Log:
        PR target/66140
        * config/alpha/alpha.c (get_aligned_mem): Also look for reload
        replacements in memory addresses.
        (get_unaligned_address): Ditto.

testsuite/ChangeLog:

        PR target/66140
        * gcc.target/alpha/pr66140.c: New test.


Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/alpha/pr66140.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/config/alpha/alpha.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-05-17  7:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-14  8:35 [Bug target/66140] New: ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1 dhowells at redhat dot com
2015-05-14 18:49 ` [Bug target/66140] " ubizjak at gmail dot com
2015-05-16  7:28 ` uros at gcc dot gnu.org
2015-05-16  7:42 ` uros at gcc dot gnu.org
2015-05-17  7:25 ` uros at gcc dot gnu.org
2015-05-17  7:27 ` uros at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).