Nicholas Clark <[EMAIL PROTECTED]> writes:
>I have remembered the name correctly, haven't I?
>
>Would it gain us much implementing De Morgan's theorem in the peephole
>optimiser?

It gets even more fun when there are NOTs on the other side as well...
Speaking of which why does NOT have two UNOPs - can we collapse
those ?


>
>nick@Bagpuss [nick]$ perl -MO=Terse -e 'print 0+(!$l && !$r)'
>LISTOP (0x164048) leave [1]
>    OP (0x164070) enter
>    COP (0x164008) nextstate
>    LISTOP (0x163fc0) print
>        OP (0x163fe8) pushmark
>        BINOP (0x163f98) add [1]
>            SVOP (0x163db0) const  IV (0xed2b8) 0
>            UNOP (0x163f78) null
>                LOGOP (0x10db20) and
>                    UNOP (0x163e68) not
>                        UNOP (0x163e48) null [15]

Why two UNOPs ?

>                            SVOP (0x163dd0) gvsv  GV (0x10a974) *l
>                    UNOP (0x163f58) not
>                        UNOP (0x163f38) null [15]
>                            SVOP (0x163e88) gvsv  GV (0x10a98c) *r
>-e syntax OK
>nick@Bagpuss [nick]$ perl -MO=Terse -e 'print 0+!($l || $r)'
>LISTOP (0x164028) leave [1]
>    OP (0x164050) enter
>    COP (0x163fe8) nextstate
>    LISTOP (0x163fa0) print
>        OP (0x163fc8) pushmark
>        BINOP (0x163f78) add [1]
>            SVOP (0x163db0) const  IV (0xed2b8) 0
>            UNOP (0x163f58) not
>                UNOP (0x163f38) null
>                    LOGOP (0x10db20) or
>                        UNOP (0x163e48) null [15]
>                            SVOP (0x163dd0) gvsv  GV (0x10a974) *l
>                        UNOP (0x163f18) null [15]
>                            SVOP (0x163e68) gvsv  GV (0x10a98c) *r
>-e syntax OK
>
>
>For "much" equal to 1 op in total.
>
>I think that the answer is "no, do it by hand if it matters that much",
>doesn't it?
>
>This also might be a perl6 question, for a more "serious" -O2 optimiser.
>Hmm. Would parrot benefit from nand and nor ops?
>
>[beware of cross posting when replying]
>
>Nicholas Clark
--
Nick Ing-Simmons
http://www.ni-s.u-net.com/



Reply via email to