From e20e60f30b1868a0ca2e74203d0e10aa30e2651a Mon Sep 17 00:00:00 2001 From: Chen-Yu Yang Date: Wed, 11 Mar 2026 15:00:32 +0800 Subject: [PATCH] remove dead threefry rules [pr] keep the generic bit packing simplifications --- tinygrad/uop/symbolic.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tinygrad/uop/symbolic.py b/tinygrad/uop/symbolic.py index 092b6b54026a1..3c4a421e7126f 100644 --- a/tinygrad/uop/symbolic.py +++ b/tinygrad/uop/symbolic.py @@ -126,10 +126,8 @@ def fold_add_divmod_recombine(x:UOp) -> UOp|None: (UPat.var("x").alu(Ops.POW, UPat.cvar("c", vec=False)), simplify_pow), # positive const ** x (UPat.cvar("c", vec=False).alu(Ops.POW, UPat.var("x")), lambda c,x: c if c.arg == 1 else (x*math.log2(c.arg)).exp2() if c.arg > 0 else None), - # rules for threefry + # bit packing simplifications # TODO: other dtypes ((UPat.var('x', dtypes.uint64)&0xFFFFFFFF).cast(dtypes.uint32), lambda x: x.cast(dtypes.uint32)), - (((UPat.var(None, dtypes.uint64)*(1<<32)) | UPat.var('y', dtypes.uint32).cast(dtypes.uint64)).cast(dtypes.uint32), lambda y: y), - (((UPat.var('x', dtypes.uint64)*(1<<32)) | UPat.var(None, dtypes.uint32).cast(dtypes.uint64))//(1<<32), lambda x: x), (((UPat.var(None, dtypes.uint64)<<32) | UPat.var('y', dtypes.uint32).cast(dtypes.uint64)).cast(dtypes.uint32), lambda y: y), (((UPat.var('x', dtypes.uint64)<<32) | UPat.var(None, dtypes.uint32).cast(dtypes.uint64))>>32, lambda x: x), # ** simple where folding **