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

2011-06-15 Thread niva at niisi dot msk.ru
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

2006-09-18 Thread rguenth at gcc dot gnu dot org


--- 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

2006-09-18 Thread rguenth at gcc dot gnu dot org


--- 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

2006-09-01 Thread rguenth at gcc dot gnu dot org


--- 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