From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9239 invoked by alias); 16 May 2006 17:16:25 -0000 Received: (qmail 9211 invoked by uid 48); 16 May 2006 17:16:17 -0000 Date: Tue, 16 May 2006 17:16:00 -0000 Message-ID: <20060516171617.9210.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/27619] wrong code for mixed-mode division with -mpowerpc64 -O1 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-05/txt/msg01600.txt.bz2 List-Id: ------- Comment #3 from rguenth at gcc dot gnu dot org 2006-05-16 17:16 ------- -m64 asm: .L.main: mflr %r0 std %r0,16(%r1) stdu %r1,-128(%r1) ld %r9,.LC0@toc(%r2) lwa %r0,0(%r9) sradi %r9,%r0,53 rldicl %r11,%r0,0,53 addi %r9,%r9,1 addi %r11,%r11,2047 cmpldi %cr7,%r9,2 or %r11,%r11,%r0 rldicr %r11,%r11,0,52 bge %cr7,.L3 mr %r11,%r0 .L3: std %r11,112(%r1) lfd %f0,112(%r1) fcfid %f0,%f0 frsp %f13,%f0 ld %r9,.LC1@toc(%r2) lfs %f0,0(%r9) fdivs %f13,%f13,%f0 lfs %f0,.LC3@toc(%r2) fcmpu %cr7,%f13,%f0 beq %cr7,.L2 bl abort nop .L2: li %r3,0 addi %r1,%r1,128 ld %r0,16(%r1) mtlr %r0 blr .long 0 .byte 0,0,0,1,128,0,0,0 .size main,.-.L.main .globl i .section ".data" .align 2 .type i, @object .size i, 4 i: .long 274 .globl f .align 2 .type f, @object .size f, 4 f: .long 1065353216 -mpowerpc64: main: stwu %r1,-16(%r1) mflr %r0 stw %r0,20(%r1) lis %r9,i@ha lwa %r0,i@l(%r9) sradi %r9,%r0,53 rldicl %r11,%r0,0,53 addi %r9,%r9,1 addi %r11,%r11,2047 cmpldi %cr7,%r9,2 or %r11,%r11,%r0 rldicr %r11,%r11,0,52 bge %cr7,.L3 mr %r11,%r0 .L3: std %r11,8(%r1) lfd %f0,8(%r1) fcfid %f0,%f0 frsp %f13,%f0 lis %r9,f@ha lfs %f0,f@l(%r9) fdivs %f13,%f13,%f0 lis %r9,.LC1@ha lfs %f0,.LC1@l(%r9) fcmpu %cr7,%f13,%f0 beq %cr7,.L2 bl abort .L2: li %r3,0 lwz %r0,20(%r1) mtlr %r0 addi %r1,%r1,16 blr .size main,.-main .globl i .section .sdata,"aw",@progbits .align 2 .type i, @object .size i, 4 i: .long 274 .globl f .align 2 .type f, @object .size f, 4 f: .long 1065353216 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27619