From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8440 invoked by alias); 1 Jul 2011 12:05:37 -0000 Received: (qmail 8431 invoked by uid 22791); 1 Jul 2011 12:05:36 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_GC X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 01 Jul 2011 12:05:22 +0000 From: "martin at decky dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/49606] New: mips64: Unrecognizable insn when one noreturn function calling another noreturn function X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: martin at decky dot cz X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Fri, 01 Jul 2011 12:05:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-07/txt/msg00040.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49606 Summary: mips64: Unrecognizable insn when one noreturn function calling another noreturn function Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: target AssignedTo: unassigned@gcc.gnu.org ReportedBy: martin@decky.cz Target: mips64 Created attachment 24654 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24654 Preprocessed file Simple test case: extern void first(void) __attribute__((noreturn)); extern void second(void) __attribute__((noreturn)); void first(void) { second(); } Output of /usr/local/cross/mips64/bin/mips64el-linux-gnu-gcc -v: Using built-in specs. COLLECT_GCC=/usr/local/cross/mips64/bin/mips64el-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/local/cross/mips64/libexec/gcc/mips64el-linux-gnu/4.6.1/lto-wrapper Target: mips64el-linux-gnu Configured with: /root/install/cross/mips64/gcc-4.6.1/configure --target=mips64el-linux-gnu --prefix=/usr/local/cross/mips64 --program-prefix=mips64el-linux-gnu- --with-gnu-as --with-gnu-ld --disable-nls --disable-threads --enable-languages=c,objc,c++,obj-c++ --disable-multilib --disable-libgcj --without-headers --disable-shared --enable-lto Thread model: single gcc version 4.6.1 (GCC) Command line that triggered the bug: /usr/local/cross/mips64/bin/mips64el-linux-gnu-gcc -I../../lib/c/include -O3 -imacros ../../../config.h -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32LE -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wextra -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 -Werror-implicit-function-declaration -Wwrite-strings -pipe -g -D__LE__ -Werror -mips3 -mabi=o64 -mlong64 -Xassembler -64 -I../../srv/loader/include -c generic/libc.c -o generic/libc.o Compiler output: generic/libc.c: In function 'first': generic/libc.c:7:1: error: unrecognizable insn: (insn 16 15 18 2 (parallel [ (set (mem/c:DI (plus:DI (reg/f:DI 29 $sp) (const_int 32 [0x20])) [2 S8 A64]) (unspec:SI [ (const_int 32 [0x20]) (reg:DI 28 $28) ] UNSPEC_POTENTIAL_CPRESTORE)) (clobber (scratch:DI)) ]) generic/libc.c:5 -1 (nil)) generic/libc.c:7:1: internal compiler error: in extract_insn, at recog.c:2109