[m-dev.] for review: add reverse modes of int__xor

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Mar 9 18:33:07 AEDT 2000


On 09-Mar-2000, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> On 09-Mar-2000, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > --- compiler/code_util.m	2000/01/16 04:34:35	1.116
> > +++ compiler/code_util.m	2000/03/08 16:27:04
> > @@ -485,6 +485,10 @@
> >  	no, yes(Z - binop((^), var(X), var(Y)))).
> >  code_util__translate_builtin_2("int", "xor", 0, [X, Y, Z],
> >  	no, yes(Z - binop((^), var(X), var(Y)))).
> > +code_util__translate_builtin_2("int", "xor", 1, [X, Y, Z],
> > +	no, yes(Y - binop((^), var(X), var(Z)))).
> > +code_util__translate_builtin_2("int", "xor", 2, [X, Y, Z],
> > +	no, yes(X - binop((^), var(Y), var(Z)))).
> >  code_util__translate_builtin_2("int", "builtin_unary_plus", 0, [X, Y],
> >  	no, yes(Y - var(X))).
> >  code_util__translate_builtin_2("int", "+", 0, [X, Y],
> > --- compiler/ml_call_gen.m	1999/12/29 08:09:10	1.1
> > +++ compiler/ml_call_gen.m	2000/03/08 16:28:02
> > @@ -722,6 +722,10 @@
> >  	no, yes(Z - binop((^), lval(X), lval(Y)))).
> >  ml_translate_builtin_2("int", "xor", 0, [X, Y, Z],
> >  	no, yes(Z - binop((^), lval(X), lval(Y)))).
> > +ml_translate_builtin_2("int", "xor", 1, [X, Y, Z],
> > +	no, yes(Y - binop((^), lval(X), lval(Z)))).
> > +ml_translate_builtin_2("int", "xor", 2, [X, Y, Z],
> > +	no, yes(X - binop((^), lval(Y), lval(Z)))).
> >  ml_translate_builtin_2("int", "builtin_unary_plus", 0, [X, Y],
> >  	no, yes(Y - lval(X))).
> >  ml_translate_builtin_2("int", "+", 0, [X, Y],
> 
> There seems to be a lot of code duplication here, with only minor LLDS/MLDS
> differences. You should factor out the common code.

That's a good idea, but it will require pretty substantial modifications,
so I'll leave that for a separate change.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list