------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-14
01:47 -------
Subject: Bug 18002
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: [EMAIL PROTECTED] 2004-12-14 01:47:35
Modified files:
gcc : ChangeLog dojump.c Makefile.in
Log message:
PR target/18002
PR middle-end/18424
Backport from mainline
2004-03-20 Richard Sandiford <[EMAIL PROTECTED]>
* Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
(GTFILES): Add $(srcdir)/dojump.h.
(gt-dojump.h): New dependency.
* dojump.c (and_reg, and_test, shift_test): New static variables.
(prefer_and_bit_test): New function.
(do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
2004-03-21 Andrew Pinski <[EMAIL PROTECTED]>
* dojump.c (prefer_and_bit_test): Fix which part of
the and_test is replaced.
2004-12-10 Roger Sayle <[EMAIL PROTECTED]>
* dojump.c (do_jump): When attempting to reverse the effects of
fold_single_bit_test, we need to STRIP_NOPS and narrowing type
conversions, and handle BIT_XOR_EXPR that's used to invert the
sense of the single bit test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.730&r2=2.2326.2.731
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/dojump.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.9.4.1&r2=1.9.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1223.2.20&r2=1.1223.2.21
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18002