This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/33927] replace_read in dse.c could handle cases where GET_MODE_CLASS (read_mode) != GET_MODE_CLASS (store_mode) (and the size is the same)
- From: "eres at il dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Mar 2008 07:20:24 -0000
- Subject: [Bug rtl-optimization/33927] replace_read in dse.c could handle cases where GET_MODE_CLASS (read_mode) != GET_MODE_CLASS (store_mode) (and the size is the same)
- References: <bug-33927-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from eres at il dot ibm dot com 2008-03-23 07:20 -------
(In reply to comment #5)
> (In reply to comment #4)
> > I've applied a patch that should fix this. No-one's confirmed
> > whether it does though, so I'm marking the PR as waiting.
> And I just confirmed, it does fix it, on powerpc64-darwin:
It also fixes the problem on spu-gcc, but on powerpc64-linux
it seems that the problem still exists:
-----------------------------------
On spu-gcc:
test2:
- hbr .L5,$lr
+ fa $4,$4,$4
stqd $sp,-128($sp)
+ fa $3,$3,$3
ai $sp,$sp,-128
- stqd $3,64($sp)
- stqd $4,80($sp)
- lqd $4,80($sp)
- lqd $5,64($sp)
- fa $3,$4,$4
- fa $2,$5,$5
- stqd $3,48($sp)
- stqd $2,32($sp)
- lqd $4,48($sp)
- lqd $3,32($sp)
ai $sp,$sp,128
-.L5:
bi $lr
-----------------------------------
On powerpc64-linux :
.file "struct1.c"
.section ".text"
.align 2
.p2align 4,,15
.globl test1
.type test1, @function
test1:
stwu 1,-32(1)
mfvrsave 0
stw 0,28(1)
oris 0,0,0xc000
mtvrsave 0
lvx 0,0,4
lvx 1,0,5
vaddfp 0,0,1
lwz 12,28(1)
stvx 0,0,3
mtvrsave 12
addi 1,1,32
blr
.size test1,.-test1
.align 2
.p2align 4,,15
.globl test2
.type test2, @function
test2:
stwu 1,-32(1)
mfvrsave 0
stw 0,28(1)
oris 0,0,0xc000
mtvrsave 0
li 0,16
lvx 1,0,4
lvx 0,4,0
vaddfp 1,1,1
vaddfp 0,0,0
lwz 12,28(1)
stvx 1,0,4
stvx 0,4,0
stvx 0,3,0
stvx 1,0,3
mtvrsave 12
addi 1,1,32
blr
.size test2,.-test2
.ident "GCC: (GNU) 4.4.0 20080323 (experimental)"
.section .note.GNU-stack,"",@progbits
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33927