From mboxrd@z Thu Jan 1 00:00:00 1970 From: paolo_faraboschi@hp.com To: gcc-gnats@gcc.gnu.org Subject: c/2456: gcc crashes in build_insn_chain Date: Mon, 02 Apr 2001 06:46:00 -0000 Message-id: <20010402133905.23201.qmail@sourceware.cygnus.com> X-SW-Source: 2001-04/msg00017.html List-Id: >Number: 2456 >Category: c >Synopsis: gcc crashes in build_insn_chain >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Apr 02 06:46:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: paolo_faraboschi@hp.com >Release: gcc version 2.95 19990728 (release) >Organization: >Environment: Linux RedHat 6.0 >Description: When compiled with -O (or -O1) gcc crashes in "build_insn_chain". Works fine with -g, -O0, -O2, -O3 >How-To-Repeat: gcc -c -O1 xx.c >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="xx.c" Content-Disposition: inline; filename="xx.c" extern int sim_mem_probe (volatile unsigned int); extern unsigned int sim_mem_access32 (volatile unsigned int); extern unsigned short sim_mem_access16 (volatile unsigned int); extern unsigned char sim_mem_access8 (volatile unsigned int); extern void sim_ta_init (int); extern main (); extern exit (); extern printf (); extern int mpn_random2 (); extern int mpn_mul_1 (); extern int mpn_cmp (); extern int exxit (); extern int mpn_print (); extern int foo (); static unsigned int _X1STRINGPACKETX1[1]; static unsigned int _X1STRINGPACKETX2[2]; static unsigned int _X1STRINGPACKETX3[2]; static unsigned int _X1STRINGPACKETX1[1]; static unsigned int _X1STRINGPACKETX2[2]; static unsigned int _X1STRINGPACKETX3[2]; extern unsigned int sim_create_stack (unsigned int, unsigned int); extern void sim_check_stack (unsigned int, unsigned int); extern void sim_bad_label (int); unsigned int reg_b0_0, reg_b0_1, reg_b0_2, reg_b0_3; unsigned int reg_b0_4, reg_b0_5, reg_b0_6, reg_b0_7; unsigned int reg_b1_0, reg_b1_1, reg_b1_2, reg_b1_3; unsigned int reg_b1_4, reg_b1_5, reg_b1_6, reg_b1_7; unsigned int reg_b2_0, reg_b2_1, reg_b2_2, reg_b2_3; unsigned int reg_b2_4, reg_b2_5, reg_b2_6, reg_b2_7; unsigned int reg_b3_0, reg_b3_1, reg_b3_2, reg_b3_3; unsigned int reg_b3_4, reg_b3_5, reg_b3_6, reg_b3_7; unsigned int r0, r1, r2, r3; unsigned int r4, r5, r6, r7; unsigned int r8, r9, r10, r11; unsigned int r12, r13, r14, r15; unsigned int r16, r17, r18, r19; unsigned int r20, r21, r22, r23; unsigned int r24, r25, r26, r27; unsigned int r28, r29, r30, r31; unsigned int r32, r33, r34, r35; unsigned int r36, r37, r38, r39; unsigned int r40, r41, r42, r43; unsigned int r44, r45, r46, r47; unsigned int r48, r49, r50, r51; unsigned int r52, r53, r54, r55; unsigned int r56, r57, r58, r59; unsigned int r60, r61, r62, r63; extern main () { unsigned int t_client_rpc; int t_labelnum; unsigned int t_bitbucket; static int sim_gprof_idx = 0; sim_ta_init (0); r12 = sim_create_stack (1048576, r12); sim_check_stack (r12, -24704); t_client_rpc = r63; r63 = (120 << 5); r12 = (r12) + ((unsigned int) -24704); r5 = (r12) + ((unsigned int) 16456); (*((volatile unsigned int *) (((r12 + (unsigned int) 24676))))) = ((unsigned int) (r63)); r1 = (r12) + ((unsigned int) 16); r2 = (r12) + ((unsigned int) 8236); l_L0X3: r17 = (unsigned int) 2055; r16 = r2; r63 = (120 << 5); r16 = (*((unsigned int (*)(unsigned int, unsigned int)) mpn_random2)) (r16, r17); l_lr_2: r14 = (unsigned int) -1; l_L1X3: reg_b0_0 = ((int) (r14) < (int) (0)); r14 = (r14) + ((unsigned int) 1); if (!reg_b0_0) goto l_L2X3; goto l_L1X3; l_L2X3: r14 = (unsigned int) -1; r15 = (unsigned int) 305419896; (*((volatile unsigned int *) (((r1 + (unsigned int) 8220))))) = ((unsigned int) (r15)); l_L3X3: reg_b0_0 = ((int) (r14) < (int) (0)); (*((volatile unsigned int *) (((r12 + (unsigned int) 24680))))) = ((unsigned int) (r14)); r16 = r1; if (!reg_b0_0) goto l_L4X3; r18 = (unsigned int) 2055; r17 = r2; r63 = (120 << 5); r16 = (*((unsigned int (*)(unsigned int, unsigned int, unsigned int)) mpn_mul_1)) (r16, r17, r18); l_lr_7: r3 = r16; r14 = ((int) ((*((volatile unsigned int *) (((r12 + (unsigned int) 24680))))))); r14 = (r14) + ((unsigned int) 1); goto l_L3X3; l_L4X3: reg_b0_0 = ((r4) != (r3)); r18 = (unsigned int) 2056; r17 = r1; if (reg_b0_0) goto l_L5X3; r16 = r5; r63 = (120 << 5); r16 = (*((unsigned int (*)(unsigned int, unsigned int, unsigned int)) mpn_cmp)) (r16, r17, r18); l_lr_10: r14 = ((int) (sim_mem_access32 (((r5 + (unsigned int) 8220))))); r14 = ((r14) != ((unsigned int) 305419896)); reg_b0_0 = (((r16) == 0) & ((r14) == 0)) ? 1 : 0; if (!reg_b0_0) goto l_L5X3; l_L6X3: r63 = (120 << 5); r16 = (*((unsigned int (*)()) exxit)) (); l_lr_13: goto l_L0X3; l_L5X3: r18 = r3; r17 = (unsigned int) 8; r16 = (unsigned int) _X1STRINGPACKETX1; r63 = (120 << 5); r16 = (*((unsigned int (*)(unsigned int, unsigned int, unsigned int)) foo)) (r16, r17, r18); l_lr_16: r17 = (unsigned int) 2055; r16 = r1; r63 = (120 << 5); r16 = (*((unsigned int (*)(unsigned int, unsigned int)) mpn_print)) (r16, r17); l_lr_18: goto l_L6X3; r63 = t_client_rpc; return; labelfinder: switch (t_labelnum >> 5) { case 101: goto l_L0X3; case 103: goto l_lr_2; case 104: goto l_L1X3; case 105: goto l_L2X3; case 106: goto l_L3X3; case 108: goto l_lr_7; case 109: goto l_L4X3; case 111: goto l_lr_10; case 112: goto l_L6X3; case 114: goto l_lr_13; case 115: goto l_L5X3; case 117: goto l_lr_16; case 119: goto l_lr_18; case 120: r63 = t_client_rpc; return; default: sim_bad_label (t_labelnum); } }