* rtlanal.c (nonzero_bits1): Handle CLRSB.

From-SVN: r178101
This commit is contained in:
Jakub Jelinek 2011-08-26 14:15:25 +02:00 committed by Jakub Jelinek
parent 321358d4e4
commit 8840ae2b09
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2011-08-26 Jakub Jelinek <jakub@redhat.com>
* rtlanal.c (nonzero_bits1): Handle CLRSB.
2011-08-26 Richard Guenther <rguenther@suse.de>
* expr.c (string_constant): Handle &MEM_REF.

View File

@ -1,7 +1,7 @@
/* Analyze RTL for GNU compiler.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2011 Free Software Foundation, Inc.
This file is part of GCC.
@ -4273,6 +4273,11 @@ nonzero_bits1 (const_rtx x, enum machine_mode mode, const_rtx known_x,
nonzero = -1;
break;
case CLRSB:
/* This is at most the number of bits in the mode minus 1. */
nonzero = ((unsigned HOST_WIDE_INT) 1 << (floor_log2 (mode_width))) - 1;
break;
case PARITY:
nonzero = 1;
break;