From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 39165 invoked by alias); 31 May 2015 08:55:18 -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 Received: (qmail 39126 invoked by uid 48); 31 May 2015 08:55:13 -0000 From: "schwab@linux-m68k.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/66351] New: [6 regression] r223883 miscompiles stage2 compiler on ia64 Date: Sun, 31 May 2015 08:55:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: schwab@linux-m68k.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 keywords bug_severity priority component assigned_to reporter cc target_milestone cf_gcctarget attachments.created Message-ID: 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/msg02489.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66351 Bug ID: 66351 Summary: [6 regression] r223883 miscompiles stage2 compiler on ia64 Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: schwab@linux-m68k.org CC: hubicka at gcc dot gnu.org Target Milestone: --- Target: ia64-*-* Created attachment 35658 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35658&action=edit Preprocessed source Function ipa_icf::sem_function::parse is miscompiled, lacking the call to f->init and the epilogue, falling through to whatever code is following it. Revision r223897: Dump of assembler code for function ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*): 0x400000000194c480 <+0>: [MMI] alloc r36=ar.pfs,12,6,0 0x400000000194c481 <+1>: adds r14=16,r32 0x400000000194c482 <+2>: mov r35=b0 0x400000000194c490 <+16>: [MMI] mov r37=r1;; 0x400000000194c491 <+17>: ld8 r38=[r14] 0x400000000194c492 <+18>: nop.i 0x0;; 0x400000000194c4a0 <+32>: [MMI] ld2 r14=[r38];; 0x400000000194c4a1 <+33>: cmp4.eq p6,p7=32,r14 0x400000000194c4a2 <+34>: nop.i 0x0;; 0x400000000194c4b0 <+48>: [MMI] (p07) addl r39=-833288,r1 0x400000000194c4b1 <+49>: (p07) mov r43=r0 0x400000000194c4b2 <+50>: nop.i 0x0 0x400000000194c4c0 <+64>: [MMI] (p07) mov r42=32 0x400000000194c4c1 <+65>: (p07) mov r40=1693 0x400000000194c4c2 <+66>: (p07) addl r41=-628512,r1;; 0x400000000194c4d0 <+80>: [MIB] (p07) ld8 r39=[r39] 0x400000000194c4d1 <+81>: nop.i 0x0 0x400000000194c4d2 <+82>: (p07) br.call.spnt.many b0=0x4000000001530200 ;; 0x400000000194c4e0 <+96>: [MMI] adds r14=152,r38;; 0x400000000194c4e1 <+97>: ld8 r14=[r14] 0x400000000194c4e2 <+98>: nop.i 0x0;; 0x400000000194c4f0 <+112>: [MIB] cmp.eq p6,p7=0,r14 0x400000000194c4f1 <+113>: nop.i 0x0 0x400000000194c4f2 <+114>: (p06) br.cond.dpnt.few 0x400000000194c5f0 ;; 0x400000000194c500 <+128>: [MMI] nop.m 0x0 0x400000000194c501 <+129>: ld8 r14=[r32] 0x400000000194c502 <+130>: nop.i 0x0;; 0x400000000194c510 <+144>: [MIB] nop.m 0x0 0x400000000194c511 <+145>: tbit.z p6,p7=r14,16 0x400000000194c512 <+146>: (p06) br.cond.dptk.few 0x400000000194c610 0x400000000194c520 <+160>: [MMI] adds r15=387,r32;; 0x400000000194c521 <+161>: ld1 r15=[r15] 0x400000000194c522 <+162>: nop.i 0x0;; 0x400000000194c530 <+176>: [MIB] nop.m 0x0 0x400000000194c531 <+177>: cmp4.eq p7,p6=0,r15 0x400000000194c532 <+178>: (p06) br.cond.dptk.few 0x400000000194c550 ;; 0x400000000194c540 <+192>: [MIB] nop.m 0x0 0x400000000194c541 <+193>: tbit.z p7,p6=r14,17 0x400000000194c542 <+194>: (p06) br.cond.dptk.few 0x400000000194c5f0 0x400000000194c550 <+208>: [MMI] addl r14=-911832,r1;; 0x400000000194c551 <+209>: ld8 r14=[r14] 0x400000000194c552 <+210>: nop.i 0x0;; 0x400000000194c560 <+224>: [MMI] adds r14=2059,r14;; 0x400000000194c561 <+225>: ld1 r14=[r14] 0x400000000194c562 <+226>: nop.i 0x0;; 0x400000000194c570 <+240>: [MII] cmp4.eq p6,p7=1,r14 0x400000000194c571 <+241>: nop.i 0x0;; 0x400000000194c572 <+242>: (p07) addl r40=-833288,r1 0x400000000194c580 <+256>: [MMI] (p07) addl r42=-628512,r1 0x400000000194c581 <+257>: (p07) mov r41=1698 0x400000000194c582 <+258>: (p07) mov r39=11;; 0x400000000194c590 <+272>: [MIB] (p07) ld8 r40=[r40] 0x400000000194c591 <+273>: nop.i 0x0 0x400000000194c592 <+274>: (p07) br.call.spnt.many b0=0x4000000001532200 ;; 0x400000000194c5a0 <+288>: [MMI] adds r38=88,r38 0x400000000194c5a1 <+289>: nop.m 0x0 0x400000000194c5a2 <+290>: mov r39=4;; 0x400000000194c5b0 <+304>: [MMI] ld8 r40=[r38] 0x400000000194c5b1 <+305>: nop.m 0x0 0x400000000194c5b2 <+306>: addl r38=-832208,r1;; 0x400000000194c5c0 <+320>: [MIB] cmp.eq p7,p6=0,r40 0x400000000194c5c1 <+321>: nop.i 0x0 0x400000000194c5c2 <+322>: (p07) br.cond.dpnt.few 0x400000000194c650 ;; 0x400000000194c5d0 <+336>: [MIB] ld8 r38=[r38] 0x400000000194c5d1 <+337>: nop.i 0x0 0x400000000194c5d2 <+338>: br.call.sptk.many b0=0x4000000001534f40 ;; 0x400000000194c5e0 <+352>: [MIB] mov r1=r37 0x400000000194c5e1 <+353>: cmp.eq p6,p7=0,r8 0x400000000194c5e2 <+354>: (p06) br.cond.spnt.few 0x400000000194c650 0x400000000194c5f0 <+368>: [MMI] mov r8=r0 0x400000000194c5f1 <+369>: nop.m 0x0 0x400000000194c5f2 <+370>: mov.i ar.pfs=r36;; 0x400000000194c600 <+384>: [MIB] nop.m 0x0 0x400000000194c601 <+385>: mov b0=r35 0x400000000194c602 <+386>: br.ret.sptk.many b0 0x400000000194c610 <+400>: [MMI] adds r14=387,r32;; 0x400000000194c611 <+401>: ld1 r14=[r14] 0x400000000194c612 <+402>: nop.i 0x0;; 0x400000000194c620 <+416>: [MIB] cmp4.eq p7,p6=0,r14 0x400000000194c621 <+417>: nop.i 0x0 0x400000000194c622 <+418>: (p06) br.cond.dpnt.few 0x400000000194c550 ;; 0x400000000194c630 <+432>: [MMI] mov r8=r0 0x400000000194c631 <+433>: nop.m 0x0 0x400000000194c632 <+434>: mov.i ar.pfs=r36;; 0x400000000194c640 <+448>: [MIB] nop.m 0x0 0x400000000194c641 <+449>: mov b0=r35 0x400000000194c642 <+450>: br.ret.sptk.many b0;; 0x400000000194c650 <+464>: [MIB] mov r38=216 0x400000000194c651 <+465>: nop.i 0x0 0x400000000194c652 <+466>: br.call.sptk.many b0=0x4000000001b83200 ;; 0x400000000194c660 <+480>: [MMI] mov r1=r37 0x400000000194c661 <+481>: mov r34=r8 0x400000000194c662 <+482>: mov r38=r8 0x400000000194c670 <+496>: [MMI] mov r42=r33 0x400000000194c671 <+497>: mov r41=r0 0x400000000194c672 <+498>: mov r40=r32;; 0x400000000194c680 <+512>: [MIB] mov r39=r0 0x400000000194c681 <+513>: nop.i 0x0 0x400000000194c682 <+514>: br.call.sptk.many b0=0x400000000194c2c0 ;; 0x400000000194c690 <+528>: [MMI] mov r1=r37 0x400000000194c691 <+529>: mov r8=r34 0x400000000194c692 <+530>: adds r17=208,r34 0x400000000194c6a0 <+544>: [MMI] adds r16=152,r34 0x400000000194c6a1 <+545>: adds r15=168,r34 0x400000000194c6a2 <+546>: adds r14=192,r34;; 0x400000000194c6b0 <+560>: [MMI] addl r18=-628624,r1 0x400000000194c6b1 <+561>: st8 [r17]=r0 0x400000000194c6b2 <+562>: nop.i 0x0 0x400000000194c6c0 <+576>: [MMI] st8 [r16]=r0;; 0x400000000194c6c1 <+577>: ld8 r18=[r18] 0x400000000194c6c2 <+578>: nop.i 0x0 0x400000000194c6d0 <+592>: [MMI] st8 [r15]=r0 0x400000000194c6d1 <+593>: st8 [r14]=r0 0x400000000194c6d2 <+594>: nop.i 0x0;; 0x400000000194c6e0 <+608>: [MMI] nop.m 0x0 0x400000000194c6e1 <+609>: st8 [r8]=r18,200 0x400000000194c6e2 <+610>: nop.i 0x0;; 0x400000000194c6f0 <+624>: [MMI] st8 [r8]=r0 0x400000000194c6f1 <+625>: nop.m 0x0 0x400000000194c6f2 <+626>: nop.i 0x0;; Revision r223856: Dump of assembler code for function ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*): 0x400000000154fe00 <+0>: [MMI] alloc r36=ar.pfs,11,6,0 0x400000000154fe01 <+1>: adds r14=16,r32 0x400000000154fe02 <+2>: mov r35=b0 0x400000000154fe10 <+16>: [MMI] mov r37=r1;; 0x400000000154fe11 <+17>: ld8 r14=[r14] 0x400000000154fe12 <+18>: nop.i 0x0;; 0x400000000154fe20 <+32>: [MMI] adds r15=152,r14;; 0x400000000154fe21 <+33>: ld8 r15=[r15] 0x400000000154fe22 <+34>: nop.i 0x0;; 0x400000000154fe30 <+48>: [MIB] cmp.eq p7,p6=0,r15 0x400000000154fe31 <+49>: nop.i 0x0 0x400000000154fe32 <+50>: (p07) br.cond.dpnt.few 0x400000000154fee0 ;; 0x400000000154fe40 <+64>: [MMI] nop.m 0x0 0x400000000154fe41 <+65>: ld8 r15=[r32] 0x400000000154fe42 <+66>: nop.i 0x0;; 0x400000000154fe50 <+80>: [MIB] nop.m 0x0 0x400000000154fe51 <+81>: tbit.z p6,p7=r15,16 0x400000000154fe52 <+82>: (p06) br.cond.dptk.few 0x400000000154ff10 0x400000000154fe60 <+96>: [MMI] adds r16=387,r32;; 0x400000000154fe61 <+97>: ld1 r16=[r16] 0x400000000154fe62 <+98>: nop.i 0x0;; 0x400000000154fe70 <+112>: [MIB] nop.m 0x0 0x400000000154fe71 <+113>: cmp4.eq p7,p6=0,r16 0x400000000154fe72 <+114>: (p06) br.cond.dptk.few 0x400000000154fe90 ;; 0x400000000154fe80 <+128>: [MIB] nop.m 0x0 0x400000000154fe81 <+129>: tbit.z p7,p6=r15,17 0x400000000154fe82 <+130>: (p06) br.cond.dptk.few 0x400000000154fee0 0x400000000154fe90 <+144>: [MMI] adds r14=88,r14 0x400000000154fe91 <+145>: addl r38=-855468,r1 0x400000000154fe92 <+146>: mov r39=4;; 0x400000000154fea0 <+160>: [MMI] nop.m 0x0 0x400000000154fea1 <+161>: ld8 r40=[r14] 0x400000000154fea2 <+162>: nop.i 0x0;; 0x400000000154feb0 <+176>: [MIB] cmp.eq p7,p6=0,r40 0x400000000154feb1 <+177>: nop.i 0x0 0x400000000154feb2 <+178>: (p07) br.cond.dpnt.few 0x400000000154ff40 ;; 0x400000000154fec0 <+192>: [MIB] ld8 r38=[r38] 0x400000000154fec1 <+193>: nop.i 0x0 0x400000000154fec2 <+194>: br.call.sptk.many b0=0x40000000011aa700 ;; 0x400000000154fed0 <+208>: [MIB] mov r1=r37 0x400000000154fed1 <+209>: cmp.eq p7,p6=0,r8 0x400000000154fed2 <+210>: (p07) br.cond.dpnt.few 0x400000000154ff40 0x400000000154fee0 <+224>: [MMI] mov r8=r0 0x400000000154fee1 <+225>: nop.m 0x0 0x400000000154fee2 <+226>: nop.i 0x0 0x400000000154fef0 <+240>: [MII] nop.m 0x0 0x400000000154fef1 <+241>: mov.i ar.pfs=r36 0x400000000154fef2 <+242>: nop.i 0x0;; 0x400000000154ff00 <+256>: [MIB] nop.m 0x0 0x400000000154ff01 <+257>: mov b0=r35 0x400000000154ff02 <+258>: br.ret.sptk.many b0 0x400000000154ff10 <+272>: [MMI] adds r15=387,r32 0x400000000154ff11 <+273>: nop.m 0x0 0x400000000154ff12 <+274>: mov r8=r0;; 0x400000000154ff20 <+288>: [MMI] nop.m 0x0 0x400000000154ff21 <+289>: ld1 r15=[r15] 0x400000000154ff22 <+290>: nop.i 0x0;; 0x400000000154ff30 <+304>: [MBB] cmp4.eq p7,p6=0,r15 0x400000000154ff31 <+305>: (p06) br.cond.dpnt.few 0x400000000154fe90 0x400000000154ff32 <+306>: br.few 0x400000000154fef0 0x400000000154ff40 <+320>: [MIB] mov r38=216 0x400000000154ff41 <+321>: nop.i 0x0 0x400000000154ff42 <+322>: br.call.sptk.many b0=0x40000000017531c0 ;; 0x400000000154ff50 <+336>: [MMI] mov r1=r37 0x400000000154ff51 <+337>: mov r34=r8 0x400000000154ff52 <+338>: mov r38=r8 0x400000000154ff60 <+352>: [MMI] mov r42=r33 0x400000000154ff61 <+353>: mov r41=r0 0x400000000154ff62 <+354>: mov r40=r32;; 0x400000000154ff70 <+368>: [MIB] mov r39=r0 0x400000000154ff71 <+369>: nop.i 0x0 0x400000000154ff72 <+370>: br.call.sptk.many b0=0x400000000154fc40 ;; 0x400000000154ff80 <+384>: [MMI] mov r1=r37 0x400000000154ff81 <+385>: mov r14=r34 0x400000000154ff82 <+386>: adds r18=208,r34 0x400000000154ff90 <+400>: [MMI] adds r17=152,r34 0x400000000154ff91 <+401>: adds r16=168,r34 0x400000000154ff92 <+402>: adds r15=192,r34;; 0x400000000154ffa0 <+416>: [MMI] addl r19=-672196,r1 0x400000000154ffa1 <+417>: nop.m 0x0 0x400000000154ffa2 <+418>: mov r38=r34 0x400000000154ffb0 <+432>: [MMI] st8 [r18]=r0 0x400000000154ffb1 <+433>: st8 [r17]=r0 0x400000000154ffb2 <+434>: nop.i 0x0;; 0x400000000154ffc0 <+448>: [MMI] ld8 r19=[r19] 0x400000000154ffc1 <+449>: st8 [r16]=r0 0x400000000154ffc2 <+450>: nop.i 0x0 0x400000000154ffd0 <+464>: [MMI] st8 [r15]=r0;; 0x400000000154ffd1 <+465>: st8 [r14]=r19,200 0x400000000154ffd2 <+466>: nop.i 0x0;; 0x400000000154ffe0 <+480>: [MIB] st8 [r14]=r0 0x400000000154ffe1 <+481>: nop.i 0x0 0x400000000154ffe2 <+482>: br.call.sptk.many b0=0x4000000001546f00 ;; 0x400000000154fff0 <+496>: [MMI] mov r8=r34 0x400000000154fff1 <+497>: mov r1=r37 0x400000000154fff2 <+498>: mov.i ar.pfs=r36;; 0x4000000001550000 <+512>: [MIB] nop.m 0x0 0x4000000001550001 <+513>: mov b0=r35 0x4000000001550002 <+514>: br.ret.sptk.many b0;;