Path: utzoo!telly!ddsw1!lll-winken!killer!texbell!bigtex!james
From: james@bigtex.cactus.org (James Van Artsdalen)
Newsgroups: gnu.gcc.bug
Subject: Re: GCC 1.31 - i386 optimization bug
Message-ID: <11230@bigtex.cactus.org>
Date: 2 Dec 88 03:19:54 GMT
References: <8811301842.AA03049@satyr.UUCP>
Reply-To: james@bigtex.cactus.org (James Van Artsdalen)
Distribution: gnu
Organization: Institute of Applied Cosmology, Austin TX
Lines: 17

In <8811301842.AA03049@satyr.UUCP>, satyr!kayvan@apple.com wrote:

> Looking in search.s I find the two offending lines are imull with
> the wrong number of args:

No, there is a three-operand version of imul.

> 	imull -8(%ebp),%eax,%eax  /* Line 1358 - imull with 3 args */

The first operand must be a constant, not some general addressing mode
as gcc feels.  A little experimentation shows that the third operand
must be a register.

A temporary fix is to simply delete the mulsi3 entry in i386.md
altogether.
-- 
James R. Van Artsdalen      james@bigtex.cactus.org      "Live Free or Die"
Home: 512-346-2444 Work: 338-8789       9505 Arboretum Blvd Austin TX 78759