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