This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/27226] [4.1 Regression] Compiler looses track of alignment for emit_block_move
- From: "niva at niisi dot msk.ru" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 15 Jun 2011 12:47:21 +0000
- Subject: [Bug middle-end/27226] [4.1 Regression] Compiler looses track of alignment for emit_block_move
- Auto-submitted: auto-generated
- References: <bug-27226-4@http.gcc.gnu.org/bugzilla/>
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.