From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3760 invoked by alias); 31 Aug 2011 14:57:10 -0000 Received: (qmail 3744 invoked by uid 22791); 31 Aug 2011 14:57:10 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KAM_STOCKGEN 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; Wed, 31 Aug 2011 14:56:55 +0000 From: "vries at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/50251] [4.7 Regression] Revision 178353 caused many test failures Date: Wed, 31 Aug 2011 15:28:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vries at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: vries at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.7.0 X-Bugzilla-Changed-Fields: Status Last reconfirmed Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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-08/txt/msg02561.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50251 vries at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011-08-31 Ever Confirmed|0 |1 --- Comment #1 from vries at gcc dot gnu.org 2011-08-31 14:56:24 UTC --- reproduced first failure: ... /home/vries/local/i686/src/gcc-mainline/gcc/testsuite/gcc.c-torture/execute/20010209-1.c: In function 'main': /home/vries/local/i686/src/gcc-mainline/gcc/testsuite/gcc.c-torture/execute/20010209-1.c:21:1: internal compiler error: in print_reg, at config/i386/i386.c:13309 ... back-trace lto1 at failure: ... (gdb) bt #0 0xf7e6b4d4 in exit () from /lib32/libc.so.6 #1 0x08eab8af in diagnostic_action_after_output (context=0x965f240, diagnostic=0xffffd0f4) at /home/vries/local/i686/src/gcc-mainline/gcc/diagnostic.c:243 #2 0x08eac366 in diagnostic_report_diagnostic (context=0x965f240, diagnostic=0xffffd0f4) at /home/vries/local/i686/src/gcc-mainline/gcc/diagnostic.c:546 #3 0x08eac9c8 in internal_error (gmsgid=0x9358ca3 "in %s, at %s:%d") at /home/vries/local/i686/src/gcc-mainline/gcc/diagnostic.c:839 #4 0x08eaca90 in fancy_abort (file=0x91fdb24 "/home/vries/local/i686/src/gcc-mainline/gcc/config/i386/i386.c", line=13309, function=0x9213ccf "print_reg") at /home/vries/local/i686/src/gcc-mainline/gcc/diagnostic.c:893 #5 0x08a2d4ba in print_reg (x=0xf7d4d090, code=0, file=0x9692b68) at /home/vries/local/i686/src/gcc-mainline/gcc/config/i386/i386.c:13304 #6 0x08a2f44f in ix86_print_operand_address (file=0x9692b68, addr=0xf7e04cb4) at /home/vries/local/i686/src/gcc-mainline/gcc/config/i386/i386.c:14224 #7 0x083b6a8a in output_address (x=0xf7e04cb4) at /home/vries/local/i686/src/gcc-mainline/gcc/final.c:3540 #8 0x08a2ecd5 in ix86_print_operand (file=0x9692b68, x=0xf7e04cb4, code=0) at /home/vries/local/i686/src/gcc-mainline/gcc/config/i386/i386.c:14038 #9 0x083b6a2c in output_operand (x=0xf7e04cc0, code=0) at /home/vries/local/i686/src/gcc-mainline/gcc/final.c:3524 #10 0x083b6752 in output_asm_insn (templ=0x92d1e13 "mov{l}\t{%1, %0|%0, %1}", operands=0x962a4e0) at /home/vries/local/i686/src/gcc-mainline/gcc/final.c:3422 #11 0x083b56e8 in final_scan_insn (insn=0xf7d47f9c, file=0x9692b68, optimize_p=2, nopeepholes=0, seen=0xffffd5a0) at /home/vries/local/i686/src/gcc-mainline/gcc/final.c:2745 #12 0x083b3e39 in final (first=0xf7db4d20, file=0x9692b68, optimize_p=2) at /home/vries/local/i686/src/gcc-mainline/gcc/final.c:1786 #13 0x083b7b5f in rest_of_handle_final () at /home/vries/local/i686/src/gcc-mainline/gcc/final.c:4221 #14 0x08611dac in execute_one_pass (pass=0x9528da0) at /home/vries/local/i686/src/gcc-mainline/gcc/passes.c:2063 #15 0x08611f8d in execute_pass_list (pass=0x9528da0) at /home/vries/local/i686/src/gcc-mainline/gcc/passes.c:2118 #16 0x08611fb9 in execute_pass_list (pass=0x9529700) at /home/vries/local/i686/src/gcc-mainline/gcc/passes.c:2119 #17 0x08611fb9 in execute_pass_list (pass=0x95296c0) at /home/vries/local/i686/src/gcc-mainline/gcc/passes.c:2119 #18 0x087998b1 in tree_rest_of_compilation (fndecl=0xf7df2800) at /home/vries/local/i686/src/gcc-mainline/gcc/tree-optimize.c:420 #19 0x082b1573 in cgraph_expand_function (node=0xf7d493d8) at /home/vries/local/i686/src/gcc-mainline/gcc/cgraphunit.c:1797 #20 0x082b1727 in cgraph_expand_all_functions () at /home/vries/local/i686/src/gcc-mainline/gcc/cgraphunit.c:1856 #21 0x082b1e30 in cgraph_optimize () at /home/vries/local/i686/src/gcc-mainline/gcc/cgraphunit.c:2126 #22 0x081eec20 in lto_main () at /home/vries/local/i686/src/gcc-mainline/gcc/lto/lto.c:2803 #23 0x086ff03c in compile_file () at /home/vries/local/i686/src/gcc-mainline/gcc/toplev.c:548 #24 0x087010bf in do_compile () at /home/vries/local/i686/src/gcc-mainline/gcc/toplev.c:1886 #25 0x0870123d in toplev_main (argc=18, argv=0x9668ed8) at /home/vries/local/i686/src/gcc-mainline/gcc/toplev.c:1962 #26 0x081f17ab in main (argc=18, argv=0xffffd964) at /home/vries/local/i686/src/gcc-mainline/gcc/main.c:36 ... we're trying to print the following instruction using output template 'mov{l}\t{%1, %0|%0, %1}': ... (gdb) call debug_rtx (insn) (insn:TI 76 22 77 3 (set (reg:SI 2 cx [74]) (mem:SI (plus:SI (plus:SI (mult:SI (reg:SI 0 ax [orig:62 ivtmp.5 ] [62]) (const_int 4 [0x4])) (reg/f:SI 20 frame)) (const_int -36 [0xffffffffffffffdc])) [2 MEM[symbol: D.2280, index: ivtmp.5_9, step: 4, offset: 4294967292B]+0 S4 A32])) /home/vries/local/i686/src/gcc-mainline/gcc/testsuite/gcc.c-torture/execute/20010209-1.c:9 64 {*movsi_internal} (nil)) ... The compiler asserts when trying to print '(reg/f:SI 20 frame)' using print_reg at: ... 13299 print_reg (rtx x, int code, FILE *file) 13300 { 13301 const char *reg; 13302 bool duplicated = code == 'd' && TARGET_AVX; 13303 13304 gcc_assert (x == pc_rtx 13305 || (REGNO (x) != ARG_POINTER_REGNUM 13306 && REGNO (x) != FRAME_POINTER_REGNUM 13307 && REGNO (x) != FLAGS_REG 13308 && REGNO (x) != FPSR_REG 13309 && REGNO (x) != FPCR_REG)); ...