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.