From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5571 invoked by alias); 21 Jun 2006 16:33:17 -0000 Received: (qmail 5499 invoked by uid 48); 21 Jun 2006 16:33:05 -0000 Date: Wed, 21 Jun 2006 16:36:00 -0000 Message-ID: <20060621163305.5490.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/28126] gcc moves an expensive instruction outside of a conditional In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "daney 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-06/txt/msg01976.txt.bz2 List-Id: ------- Comment #1 from daney at gcc dot gnu dot org 2006-06-21 16:33 ------- Confirmed on: mipsel-linux-gcc (GCC) 4.2.0 20060605 (experimental) cross compiler configured as: ../gcc/configure --target=mipsel-linux --with-sysroot=/usr/local/mipsel-linux-test --prefix=/usr/local/mipsel-linux-test --with-arch=mips32 --with-float=soft --disable-libmudflap --enable-tls --enable-languages=c I get a slightly different output for the test case but the rdhwr is still being hoisted out of the conditional: .file 1 "tls.c" .section .mdebug.abi32 .previous .abicalls .text .align 2 .globl foo .ent foo .type foo, @function foo: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .cpload $25 .set nomacro lw $2,%gottprel(x)($28) .set push .set mips32r2 rdhwr $3,$29 .set pop beq $4,$0,$L7 addu $2,$2,$3 j $31 lw $2,0($2) $L7: j $31 move $2,$0 .set macro .set reorder .end foo .ident "GCC: (GNU) 4.2.0 20060605 (experimental)" -- daney at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daney at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-06-21 16:33:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28126