From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17307 invoked by alias); 29 Apr 2003 22:36:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 17283 invoked by uid 71); 29 Apr 2003 22:36:01 -0000 Resent-Date: 29 Apr 2003 22:36:01 -0000 Resent-Message-ID: <20030429223601.17282.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, schwab@suse.de Received: (qmail 15314 invoked from network); 29 Apr 2003 22:29:45 -0000 Received: from unknown (HELO mout0.freenet.de) (194.97.50.131) by sources.redhat.com with SMTP; 29 Apr 2003 22:29:45 -0000 Received: from [194.97.50.144] (helo=mx1.freenet.de) by mout0.freenet.de with asmtp (Exim 4.15) id 19Adbc-0003i4-FU; Wed, 30 Apr 2003 00:29:44 +0200 Received: from b0126.pppool.de ([213.7.1.38] helo=whitebox.local) by mx1.freenet.de with esmtp (Exim 4.15 #3) id 19Adba-0004sb-SW; Wed, 30 Apr 2003 00:29:43 +0200 Received: from whitebox.local (localhost [127.0.0.1]) by whitebox.local (8.12.7/8.12.7/SuSE Linux 0.6) with ESMTP id h3TMG1I0026865; Wed, 30 Apr 2003 00:16:21 +0200 Received: (from andreas@localhost) by whitebox.local (8.12.7/8.12.7/Submit) id h3TMG06S026864; Wed, 30 Apr 2003 00:16:00 +0200 Message-Id: <200304292216.h3TMG06S026864@whitebox.local> Date: Tue, 29 Apr 2003 22:36:00 -0000 From: schwab@suse.de To: gcc-gnats@gcc.gnu.org Cc: jh@suse.cz X-Send-Pr-Version: 3.113 Subject: middle-end/10557: [3.4 regression] [m68k] ICE in subreg_offset_representable_p X-SW-Source: 2003-04/txt/msg01424.txt.bz2 List-Id: >Number: 10557 >Category: middle-end >Synopsis: [3.4 regression] [m68k] ICE in subreg_offset_representable_p >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Tue Apr 29 22:36:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Andreas Schwab >Release: 3.4 20030429 (experimental) >Organization: >Environment: System: Linux whitebox 2.4.20-ben10 #1 Thu Apr 3 23:52:29 CEST 2003 ppc unknown unknown GNU/Linux Architecture: ppc host: powerpc-unknown-linux-gnu build: powerpc-unknown-linux-gnu target: m68k-unknown-linux-gnu configured with: ../gcc/configure --host=powerpc-linux --prefix=/usr/local/m68k-linux --enable-languages=c,c++ --target=m68k-linux --enable-shared --enable-clocale=gnu --enable-__cxa_atexit --with-as=/usr/local/m68k-linux/m68k-linux/bin/as --with-ld=/usr/local/m68k-linux/m68k-linux/bin/ld --with-gcc-version-trigger=/home/andreas/src/gcc/gcc/gcc/version.c --no-create --no-recursion : (reconfigured) >Description: find_equiv_reg calls operand_subword on a XFmode const_double, but subreg_offset_representable_p doesn't like that. >How-To-Repeat: $ cat qefgcvt_r.i void qfcvt_r (long double value, int *decpt) { if (*decpt == 1 && value != 0.0) --*decpt; } $ m68k-linux-gcc -O2 -c qefgcvt_r.i -v Reading specs from /usr/local/m68k-linux/lib/gcc-lib/m68k-linux/3.4/specs Configured with: ../gcc/configure --host=powerpc-linux --prefix=/usr/local/m68k-linux --enable-languages=c,c++ --target=m68k-linux --enable-shared --enable-clocale=gnu --enable-__cxa_atexit --with-as=/usr/local/m68k-linux/m68k-linux/bin/as --with-ld=/usr/local/m68k-linux/m68k-linux/bin/ld --with-gcc-version-trigger=/home/andreas/src/gcc/gcc/gcc/version.c --no-create --no-recursion Thread model: posix gcc version 3.4 20030426 (experimental) /usr/local/m68k-linux/lib/gcc-lib/m68k-linux/3.4/cc1 -fpreprocessed qefgcvt_r.i -quiet -dumpbase qefgcvt_r.i -auxbase qefgcvt_r -O2 -version -o /tmp/cckgpch4.s GNU C version 3.4 20030426 (experimental) (m68k-linux) compiled by GNU C version 3.3 20030328 (prerelease) (SuSE Linux). GGC heuristics: --param ggc-min-expand=46 --param ggc-min-heapsize=31787 qefgcvt_r.i: In function `qfcvt_r': qefgcvt_r.i:6: internal compiler error: in subreg_offset_representable_p, at rtlanal.c:3442 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. (gdb) bt #0 fancy_abort (file=0x1032bc54 "../../gcc/gcc/rtlanal.c", line=3442, function=0x1032bdc0 "subreg_offset_representable_p") at ../../gcc/gcc/diagnostic.c:1367 #1 0x102217d4 in subreg_offset_representable_p (xregno=271760468, xmode=96, offset=0, ymode=SImode) at ../../gcc/gcc/rtlanal.c:3442 #2 0x100e13d8 in subreg_hard_regno (x=0x3048e4b0, check_mode=3442) at ../../gcc/gcc/emit-rtl.c:1085 #3 0x1022a714 in simplify_subreg (outermode=SImode, op=0x304865a0, innermode=XFmode, byte=0) at ../../gcc/gcc/simplify-rtx.c:2918 #4 0x1022aadc in simplify_gen_subreg (outermode=SImode, op=0x304865a0, innermode=271760832, byte=0) at ../../gcc/gcc/simplify-rtx.c:2998 #5 0x100e2318 in operand_subword (op=0x304865a0, offset=3442, validate_address=0, mode=SImode) at ../../gcc/gcc/emit-rtl.c:1741 #6 0x10208264 in find_equiv_reg (goal=0x3044c210, insn=0x30484c60, class=GENERAL_REGS, other=-1, reload_reg_p=0x0, goalreg=96, mode=SImode) at ../../gcc/gcc/reload.c:6612 #7 0x10213a48 in choose_reload_regs (chain=0x4) at ../../gcc/gcc/reload1.c:5661 #8 0x102101fc in reload_as_needed (live_known=0) at ../../gcc/gcc/reload1.c:3918 #9 0x1020ab3c in reload (first=0x304848d0, global=1) at ../../gcc/gcc/reload1.c:1105 #10 0x102c91b4 in global_alloc (file=0x10390000) at ../../gcc/gcc/global.c:585 #11 0x10246e9c in rest_of_compilation (decl=0x30487ee0) at ../../gcc/gcc/toplev.c:3433 #12 0x10024b4c in c_expand_body_1 (fndecl=0x30487ee0, nested_p=3442) at ../../gcc/gcc/c-decl.c:6395 #13 0x10024524 in finish_function (nested=271908864, can_defer_p=1) at ../../gcc/gcc/c-decl.c:6261 #14 0x100039d4 in yyparse () at c-parse.y:406 #15 0x10054b1c in c_common_parse_file (set_yydebug=271760468) at ../../gcc/gcc/c-opts.c:1630 #16 0x102450c0 in compile_file () at ../../gcc/gcc/toplev.c:2204 #17 0x1024b030 in do_compile () at ../../gcc/gcc/toplev.c:5579 #18 0x1024b0b8 in toplev_main (argc=4, argv=0x7ffff394) at ../../gcc/gcc/toplev.c:5610 #19 0x10079f8c in main (argc=271760468, argv=0xd72) at ../../gcc/gcc/main.c:37 (gdb) f 6 #6 0x10208264 in find_equiv_reg (goal=0x3044c210, insn=0x30484c60, class=GENERAL_REGS, other=-1, reload_reg_p=0x0, goalreg=96, mode=SImode) at ../../gcc/gcc/reload.c:6612 (gdb) pr goal (const_int 0 [0x0]) (gdb) pr insn (insn 21 30 24 2 0x30484870 (set (mem:SI (reg/v/f:SI 8 %a0 [orig:30 decpt ] [30]) [4 S4 A16]) (const_int 0 [0x0])) 28 {movsi_const0} (nil) (expr_list:REG_DEAD (reg/v/f:SI 8 %a0 [orig:30 decpt ] [30]) (nil))) (gdb) pr p (insn 13 28 14 1 0x30484870 (set (reg:XF 16 %fp0 [32]) (float_extend:XF (const_double:SF 0 [0x0] 0.0 [0x0.0p+0]))) 394 {extendsfxf2} (nil) (expr_list:REG_EQUIV (const_double:XF 0 [0x0] 0.0 [0x0.0p+0]) (nil))) (gdb) >Fix: >Release-Note: >Audit-Trail: >Unformatted: