legalize shl
legalize and, or, xor