This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: apparent typo in combine.c
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: apparent typo in combine.c
- From: Zack Weinberg <zackw at panix dot com>
- Date: Fri, 17 Aug 2001 15:45:08 -0400
- Cc: gcc at gcc dot gnu dot org
- References: <10108171935.AA27437@vlsi1.ultra.nyu.edu>
On Fri, Aug 17, 2001 at 03:35:22PM -0400, Richard Kenner wrote:
> Now how can that be right? Generate an arithmetic shift only if we
> *don't* have an arithmetic shift insn for this mode? I would think
> that either the != and == should be swapped in the first two lines,
>
> I think that's correct. Amazing this has been around for so long!
Which of the changes I suggested do you think is better?
Here's another one:
/* If OP0 is an AND and we don't have an AND in MODE either,
make a new AND in the proper mode. */
if (GET_CODE (op0) == AND
&& (add_optab->handlers[(int) mode].insn_code
== CODE_FOR_nothing))
op0 = gen_binary (AND, tmode,
gen_lowpart_for_combine (tmode,
XEXP (op0, 0)),
gen_lowpart_for_combine (tmode,
XEXP (op0, 1)));
-- that should be and_optab, I think.
zw