[Bug target/33699] New: regression, missing optimization on const addr area store

fshvaige at cisco dot com gcc-bugzilla@gcc.gnu.org
Mon Oct 8 16:54:00 GMT 2007


Same problem for
-0s/-02
version 4.1.0
etc...


[Code]

typedef unsigned * ptr_t;
void f (void) {
    ptr_t p = (ptr_t)0xFED0;
    p[0] = 0xDEAD;
    p[2] = 0xDEAD;
    p[4] = 0xDEAD;
    p[6] = 0xDEAD;
}


[Assembly generated by version gcc-4.3-20071005]

00000000 <f>:
   0:   3404dead        li      a0,0xdead
   4:   3402fee8        li      v0,0xfee8
   8:   3403fed0        li      v1,0xfed0
   c:   ac440000        sw      a0,0(v0)
  10:   ac640000        sw      a0,0(v1)
  14:   3402fed8        li      v0,0xfed8
  18:   3403fee0        li      v1,0xfee0
  1c:   ac440000        sw      a0,0(v0)
  20:   03e00008        jr      ra
  24:   ac640000        sw      a0,0(v1)


[Assembly generated by version 3.4.5 (seems better)]

00000000 <f>:
   0:   3403fed0        li      v1,0xfed0
   4:   3402dead        li      v0,0xdead
   8:   ac620018        sw      v0,24(v1)
   c:   ac620000        sw      v0,0(v1)
  10:   ac620008        sw      v0,8(v1)
  14:   03e00008        jr      ra
  18:   ac620010        sw      v0,16(v1)
  1c:   00000000        nop


[Version]

Using built-in specs.
Target: mips-elf
Configured with: ../gcc-4.3-20071005/configure --enable-languages=c,c++
--prefix=/auto/mipaproj/fshvaige/apps/Linux/gcc-4.3-20071005 --target=mips-elf
--program-suffix=.mips --without-headers --with-newlib
Thread model: single
gcc version 4.3.0 20071005 (experimental) (GCC) 


[Command line options]

gcc.mips -c -o main.o -v -save-temps -O3 -march=mips64 -mabi=eabi
-mexplicit-relocs main.c


-- 
           Summary: regression, missing optimization on const addr area
                    store
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fshvaige at cisco dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: mips-elf


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



More information about the Gcc-bugs mailing list