don't do that

This commit is contained in:
2025-03-21 16:04:21 +08:00
parent dbb50e4a00
commit 2729a46ca6
3 changed files with 7 additions and 4 deletions
+4
View File
@@ -112,6 +112,10 @@ if __name__ == "__main__":
k.apply_opt(Opt(OptOps.UNROLL, 0, 4))
k.apply_opt(Opt(OptOps.UPCAST, 1, 96))
k.apply_opt(Opt(OptOps.UPCAST, 0, 4))
elif knum == 6:
k.apply_opt(Opt(OptOps.UNROLL, 0, 4))
k.apply_opt(Opt(OptOps.UPCAST, 1, 24))
k.apply_opt(Opt(OptOps.UPCAST, 0, 16))
elif knum == 37:
k.apply_opt(Opt(OptOps.UNROLL, 0, 4))
k.apply_opt(Opt(OptOps.UPCAST, 1, 384))
+3 -3
View File
@@ -188,10 +188,10 @@ gep_pushing = PatternMatcher([
# VECTORIZE on same GEP
(UPat(Ops.VECTORIZE, name="v", src=UPat(Ops.GEP, src=(UPat.var("x"),))), lambda v,x: x.gep(tuple(get_single_element(i.arg) for i in v.src))),
# CAST on multi GEP
(UPat(Ops.CAST, src=(UPat(Ops.GEP, name="g"),), name="c"),
lambda c,g: g.src[0].gep(g.arg[0]).cast(c.dtype.scalar()).broadcast(len(g.arg)) if len(g.arg) > 1 and all_same(g.arg) else None),
#(UPat(Ops.CAST, src=(UPat(Ops.GEP, name="g"),), name="c"),
# lambda c,g: g.src[0].gep(g.arg[0]).cast(c.dtype.scalar()).broadcast(len(g.arg)) if len(g.arg) > 1 and all_same(g.arg) else None),
# VECTORIZE/CONST
(UPat(Ops.VECTORIZE, src=UPat.var("x"))+UPat.cvar("c", vec=False), lambda x,c: (x+c.arg).broadcast(c.dtype.count)),
#(UPat(Ops.VECTORIZE, src=UPat.var("x"))+UPat.cvar("c", vec=False), lambda x,c: (x+c.arg).broadcast(c.dtype.count)),
])
symbolic = symbolic_simple+PatternMatcher([
-1
View File
@@ -21,7 +21,6 @@ def multi_mul(a0, a1, b0, b1, c0, c1, d0, d1, acc=None):
swizzle.append(96+i)
swizzle = tuple(swizzle)
if a0.op is not Ops.CAST: return None
if d0.op is not Ops.CAST: return None
if a1.op is not Ops.CAST: return None
assert a0.op is Ops.CAST
assert b0.op is Ops.CAST