[Bug target/28126] gcc moves an expensive instruction outside of a conditional
daney at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Jun 21 16:36:00 GMT 2006
------- 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
More information about the Gcc-bugs
mailing list