[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.
[Bug middle-end/27226] [4.1 Regression] Compiler looses track of alignment for emit_block_move
--- Comment #18 from rguenth at gcc dot gnu dot org 2006-09-18 09:16 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27226
[Bug middle-end/27226] [4.1 Regression] Compiler looses track of alignment for emit_block_move
--- Comment #17 from rguenth at gcc dot gnu dot org 2006-09-18 09:16 --- Subject: Bug 27226 Author: rguenth Date: Mon Sep 18 09:16:16 2006 New Revision: 117018 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117018 Log: 2006-09-18 Richard Guenther <[EMAIL PROTECTED]> Backport from mainline: J"orn Rennecke <[EMAIL PROTECTED]> Richard Guenther <[EMAIL PROTECTED]> Adam Nemet <[EMAIL PROTECTED]> PR middle-end/27226 * builtins.c (get_pointer_alignment): Handle more forms of base addresses that can be used to derive more precise information about alignment. * gcc.target/mips/memcpy-1.c: New testcase. Added: branches/gcc-4_1-branch/gcc/testsuite/gcc.target/mips/memcpy-1.c - copied unchanged from r116641, trunk/gcc/testsuite/gcc.target/mips/memcpy-1.c Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/builtins.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27226
[Bug middle-end/27226] [4.1 Regression] Compiler looses track of alignment for emit_block_move
--- Comment #16 from rguenth at gcc dot gnu dot org 2006-09-01 20:26 --- Fixed on the mainline. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Known to fail|4.1.0 4.2.0 |4.1.0 Known to work|3.4.0 3.4.3 |3.4.0 3.4.3 4.2.0 Summary|[4.1/4.2 Regression]|[4.1 Regression] Compiler |Compiler looses track of|looses track of alignment |alignment for |for emit_block_move |emit_block_move | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27226