This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/27226] [4.1 Regression] Compiler looses track of alignment for emit_block_move


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

niva at niisi dot msk.ru changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |niva at niisi dot msk.ru

--- Comment #19 from niva at niisi dot msk.ru 2011-06-15 12:46:58 UTC ---
(In reply to comment #18)
> Fixed.

I tried to checkout rev 117018 from
svn://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch/ and build the compiler
configured as follows:

Configured with: /home/niva/tests/gcc-117018/configure --target=mips64-none-elf
--enable-threads=no --disable-shared --enable-long-long --enable-c99
--enable-languages=c --enable-multilib --enable-symvers=gnu
--disable-libmudflap --disable-libssp --disable-libgcc_eh --with-newlib
--with-dwarf2 --with-system-zlib --enable-checking=release
--enable-generated-files-in-srcdir --verbose --prefix=/home/niva/local
--srcdir=/home/niva/tests/gcc-117018 --enable-cpp

I've compiled the file memcpy-1.c:
mips64-none-elf-gcc memcpy-1.c   -O2 -fno-show-column -S  -o memcpy-1.s117018

and got the assembler code with lbu instructions:
        lui     $3,%hi($LC0+2)
        addiu   $2,$3,%lo($LC0+2)
        lbu     $5,%lo($LC0+2)($3)
        lbu     $4,5($2)
        lbu     $6,1($2)
        lbu     $7,2($2)
        lbu     $8,3($2)
        lbu     $9,4($2)

Eventually this bug was not fixed in gcc-4.1.2.

But the compiler built in the same way from the trunk (r116641) generated the
code with lhu instructions:
        lui     $2,%hi($LC0+2)
        addiu   $3,$2,%lo($LC0+2)
        lhu     $5,%lo($LC0+2)($2)
        lhu     $4,4($3)
        lhu     $6,2($3)
        lui     $2,%hi(c)
        addiu   $3,$2,%lo(c)
        sh      $4,4($3)
        sh      $5,%lo(c)($2)
        j       $31
        sh      $6,2($3)

Probably some significant changes from trunk were not applied to
gcc-4_1-branch.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]