------- Comment #2 from pinskia at gcc dot gnu dot org  2007-12-26 01:25 -------
Hmm, This looks related to PR 34529.  Since we allow base+const before reload
for vector moves, we then prop that into the move instruction.  After reload,
we use an extra register to store the base+const but never move that add into
the move instruction with using the register for the constant.  Also we never
do loop code motion after reload also so we never move the li instruction
outside of the loop.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
  BugsThisDependsOn|                            |34529
           Severity|enhancement                 |minor
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |missed-optimization
   Last reconfirmed|0000-00-00 00:00:00         |2007-12-26 01:25:35
               date|                            |
            Summary|[PPC/Altivec, regression?]  |[4.1/4.2/4.3 Regression]
                   |gcc uses 0 as altivec       |gcc uses 0 as altivec
                   |load/store index            |load/store index
   Target Milestone|---                         |4.1.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32396

Reply via email to