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: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Mar 2008 00:48:47 -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 #5 from pinskia at gcc dot gnu dot org 2008-03-23 00:48 -------
(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:
--- old.s 2008-03-22 17:47:53.000000000 -0700
+++ new.s 2008-03-22 17:47:18.000000000 -0700
@@ -24,22 +24,15 @@ _test2:
stw r0,-4(r1)
oris r0,r0,0xc000
mtspr 256,r0
- li r0,48
- li r9,64
- vaddfp v2,v2,v2
- addi r2,r1,16
- addi r11,r1,48
+ vaddfp v0,v2,v2
+ addi r2,r1,48
lwz r12,-4(r1)
- vaddfp v3,v3,v3
- stvx v2,0,r11
- stvx v3,r2,r0
- lvx v0,0,r11
- lvx v1,r2,r0
- addi r2,r1,-128
- stvx v0,r2,r0
- stvx v1,r2,r9
- lvx v2,r2,r0
- lvx v3,r2,r9
+ vaddfp v1,v3,v3
+ vor v2,v0,v0
+ vor v3,v1,v1
+ stvx v0,0,r2
+ addi r2,r1,64
+ stvx v1,0,r2
mtspr 256,r12
blr
.subsections_via_symbols
Thanks for the fix Richard.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33927