Added exclusive or operator
authorceriel <none@none>
Thu, 8 Jan 1987 14:27:07 +0000 (14:27 +0000)
committerceriel <none@none>
Thu, 8 Jan 1987 14:27:07 +0000 (14:27 +0000)
mach/proto/ncg/compute.c

index 90b7d13..a47c065 100644 (file)
@@ -80,6 +80,7 @@ char opdesc[] = {
        LLDEF,                  /* EX_INREG */
        LLDEF,                  /* EX_REGVAR */
        LLDEF|RLDEF,            /* EX_OR */
+       LLDEF|RLDEF,            /* EX_XOR */
        LLDEF|RLDEF,            /* EX_AND */
 };
 
@@ -296,6 +297,10 @@ result_t compute(node) register node_p node; {
        assert(leaf1.e_typ == EV_INT && leaf2.e_typ == EV_INT);
                result.e_v.e_con = leaf1.e_v.e_con | leaf2.e_v.e_con;
                return(result);
+       case EX_XOR:
+       assert(leaf1.e_typ == EV_INT && leaf2.e_typ == EV_INT);
+               result.e_v.e_con = leaf1.e_v.e_con ^ leaf2.e_v.e_con;
+               return(result);
        case EX_AND:
        assert(leaf1.e_typ == EV_INT && leaf2.e_typ == EV_INT);
                result.e_v.e_con = leaf1.e_v.e_con & leaf2.e_v.e_con;