This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: List of simplifications we should perform


Where, in the previous message, LNOT = logical not, and BNOT is boolean
not.
The only requirement it makes is that you have BNOT BNOT or LNOT LNOT, and
not BNOT LNOT, or LNOT BNOT

The thing that calls the right simplifier routine for an opcode has the
following:
...
simp_not, /* OPR_BNOT*/
simp_not, /* OPR_LNOT*/
...

Where simp_not is the routine unconditionally performing the
simplification in question (It performs no type checking, it just checks
for the above requirement).

Funny that nobody noticed this problem until they open-sourced pro64,
no?

--Dan
On Fri, 11 May 2001, Daniel Berlin wrote:

> Nope, it does exactly the same set of simplifications for LNOT and BNOT
> opcodes.
>
> --Dan
>
> On Fri, 11 May 2001, Fergus Henderson wrote:
>
> > Are you sure it does the !!x => x simplification for ints?
> > Maybe it only does it for bools.
> >


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]