This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/8178: __builtin_ffs broken
- From: Richard Henderson <rth at redhat dot com>
- To: Volker Reichelt <reichelt at igpm dot rwth-aachen dot de>
- Cc: christianbiere at gmx dot de, gcc-gnats at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, falk dot hueffner at student dot uni-tuebingen dot de, ebotcazou at libertysurf dot fr, gcc-patches at gcc dot gnu dot org
- Date: Wed, 12 Mar 2003 16:42:15 -0800
- Subject: Re: optimization/8178: __builtin_ffs broken
- References: <200303121230.h2CCUMfw015245@relay.rwth-aachen.de>
On Wed, Mar 12, 2003 at 01:30:29PM +0100, Volker Reichelt wrote:
> I can confirm that the problem is still present on k6.
> According to Phil's tester the problem for the ix86 was fixed
> between 2003-01-31 and 2003-02-01.
Backporting the patch you mention isn't an option, but
this bug is fixable for 3.2/3.3 trivially.
r~
* config/i386/i386.md (ffssi2): Tighten op1 predicate to
match the requirements of the output insns.
Index: gcc/config/i386/i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.404.2.10
diff -c -p -d -u -r1.404.2.10 i386.md
--- gcc/config/i386/i386.md 12 Mar 2003 09:35:27 -0000 1.404.2.10
+++ gcc/config/i386/i386.md 13 Mar 2003 00:41:08 -0000
@@ -13671,7 +13671,7 @@
(define_expand "ffssi2"
[(set (match_operand:SI 0 "nonimmediate_operand" "")
- (ffs:SI (match_operand:SI 1 "general_operand" "")))]
+ (ffs:SI (match_operand:SI 1 "nonimmediate_operand" "")))]
""
{
rtx out = gen_reg_rtx (SImode), tmp = gen_reg_rtx (SImode);