This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/28126] gcc moves an expensive instruction outside of a conditional
- From: "daney at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jun 2006 16:33:05 -0000
- Subject: [Bug target/28126] gcc moves an expensive instruction outside of a conditional
- References: <bug-28126-12556@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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