From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4523 invoked by alias); 7 Dec 2013 16:20:05 -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 4484 invoked by uid 48); 7 Dec 2013 16:20:01 -0000 From: "hjl.tools at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/59409] [4.9 Regression] 253.perlbmk in SPEC CPU 2K is miscompiled Date: Sat, 07 Dec 2013 16:20: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-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hjl.tools at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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: 2013-12/txt/msg00616.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59409 --- Comment #12 from H.J. Lu --- This function: SV * sv_mortalcopy(SV *oldstr) { dTHR; register SV *sv; new_SV(sv); SvANY(sv) = 0; SvREFCNT(sv) = 1; SvFLAGS(sv) = 0; sv_setsv(sv,oldstr); if (++PL_tmps_ix >= PL_tmps_max) sv_mortalgrow(); PL_tmps_stack[PL_tmps_ix] = sv; SvTEMP_on(sv); return sv; } is compiled into 00494220 : 494220: 41 54 push %r12 494222: 55 push %rbp 494223: 48 89 fe mov %rdi,%rsi 494226: 53 push %rbx 494227: 83 ec 10 sub $0x10,%esp 49422a: 8b 1d c0 c3 27 00 mov 0x27c3c0(%rip),%ebx # 7105f0 494230: 85 db test %ebx,%ebx 494232: 0f 84 e0 00 00 00 je 494318 494238: 67 8b 03 mov (%ebx),%eax 49423b: 83 05 aa c3 27 00 01 addl $0x1,0x27c3aa(%rip) # 7105ec 494242: 89 05 a8 c3 27 00 mov %eax,0x27c3a8(%rip) # 7105f0 494248: 89 dd mov %ebx,%ebp 49424a: 67 c7 03 00 00 00 00 movl $0x0,(%ebx) 494251: 67 c7 43 04 01 00 00 00 movl $0x1,0x4(%ebx) 494259: 48 89 ef mov %rbp,%rdi 49425c: 67 c7 43 08 00 00 00 00 movl $0x0,0x8(%ebx) 494264: e8 f7 bf ff ff callq 490260 494269: 8b 15 41 b5 27 00 mov 0x27b541(%rip),%edx # 70f7b0 49426f: 8b 3d 03 bd 27 00 mov 0x27bd03(%rip),%edi # 70ff78 494275: 44 8b 15 3c c0 27 00 mov 0x27c03c(%rip),%r10d # 7102b8 49427c: 44 8d 4a 01 lea 0x1(%rdx),%r9d 494280: 41 39 f9 cmp %edi,%r9d 494283: 44 89 0d 26 b5 27 00 mov %r9d,0x27b526(%rip) # 70f7b0 49428a: 7d 1c jge 4942a8 49428c: 67 43 89 1c 8a mov %ebx,(%r10d,%r9d,4) 494291: 67 81 4b 08 00 08 00 00 orl $0x800,0x8(%ebx) 494299: 83 c4 10 add $0x10,%esp 49429c: 48 89 e8 mov %rbp,%rax 49429f: 5b pop %rbx 4942a0: 5d pop %rbp 4942a1: 41 5c pop %r12 4942a3: c3 retq 4942a4: 0f 1f 40 00 nopl 0x0(%rax) 4942a8: be 00 02 00 00 mov $0x200,%esi 4942ad: 81 ff 00 02 00 00 cmp $0x200,%edi 4942b3: 41 b8 80 00 00 00 mov $0x80,%r8d 4942b9: 89 f1 mov %esi,%ecx 4942bb: 41 0f 4c c8 cmovl %r8d,%ecx 4942bf: 8d 34 0f lea (%rdi,%rcx,1),%esi 4942c2: 8b 3d f0 bf 27 00 mov 0x27bff0(%rip),%edi # 7102b8 4942c8: 89 35 aa bc 27 00 mov %esi,0x27bcaa(%rip) # 70ff78 4942ce: c1 e6 02 shl $0x2,%esi 4942d1: 85 f6 test %esi,%esi 4942d3: 74 2b je 494300 4942d5: 85 ff test %edi,%edi 4942d7: 74 6f je 494348 4942d9: e8 52 d6 f6 ff callq 401930 4942de: 85 c0 test %eax,%eax 4942e0: 74 4e je 494330 4942e2: 44 8b 0d c7 b4 27 00 mov 0x27b4c7(%rip),%r9d # 70f7b0 4942e9: 41 89 c4 mov %eax,%r12d 4942ec: 44 89 25 c5 bf 27 00 mov %r12d,0x27bfc5(%rip) # 7102b8 4942f3: 45 89 e2 mov %r12d,%r10d 4942f6: eb 94 jmp 49428c 4942f8: 0f 1f 84 00 00 00 00 00 nopl 0x0(%rax,%rax,1) 494300: 45 31 e4 xor %r12d,%r12d 494303: 85 ff test %edi,%edi 494305: 74 e5 je 4942ec 494307: e8 b4 d1 f6 ff callq 4014c0 49430c: 44 8b 0d 9d b4 27 00 mov 0x27b49d(%rip),%r9d # 70f7b0 494313: eb d7 jmp 4942ec 494315: 0f 1f 00 nopl (%rax) 494318: 67 48 89 7c 24 08 mov %rdi,0x8(%esp) 49431e: e8 2d de fe ff callq 482150 494323: 67 48 8b 74 24 08 mov 0x8(%esp),%rsi 494329: 89 c3 mov %eax,%ebx 49432b: e9 18 ff ff ff jmpq 494248 494330: 80 3d cd c2 27 00 00 cmpb $0x0,0x27c2cd(%rip) # 710604 494337: 74 27 je 494360 494339: 44 8b 0d 70 b4 27 00 mov 0x27b470(%rip),%r9d # 70f7b0 494340: 45 31 e4 xor %r12d,%r12d 494343: eb a7 jmp 4942ec 494345: 0f 1f 00 nopl (%rax) 494348: 89 f7 mov %esi,%edi 49434a: e8 11 9d 01 00 callq 4ae060 49434f: 44 8b 0d 5a b4 27 00 mov 0x27b45a(%rip),%r9d # 70f7b0 494356: 41 89 c4 mov %eax,%r12d 494359: eb 91 jmp 4942ec 49435b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 494360: 8b 0d fe b8 27 00 mov 0x27b8fe(%rip),%ecx # 70fc64 494366: ba 0f 00 00 00 mov $0xf,%edx 49436b: be 01 00 00 00 mov $0x1,%esi 494370: bf f0 fe 4f 00 mov $0x4ffef0,%edi 494375: e8 d6 d1 f6 ff callq 401550 49437a: e8 c1 08 04 00 callq 4d4c40 49437f: eb b8 jmp 494339 494381: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0(%rax,%rax,1) 49438b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) This may be miscompiled.