From 8a477ba4e16fac791d86017c00e3589e9517d98a Mon Sep 17 00:00:00 2001 From: George Hotz Date: Fri, 21 Mar 2025 20:36:18 +0800 Subject: [PATCH] knum 3 --- tinygrad/runtime/ops_dsp.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tinygrad/runtime/ops_dsp.py b/tinygrad/runtime/ops_dsp.py index 964b8af34a..bd26dba9ca 100644 --- a/tinygrad/runtime/ops_dsp.py +++ b/tinygrad/runtime/ops_dsp.py @@ -86,9 +86,12 @@ dsp_pm = PatternMatcher([ (UPat(name="acc") + UPat(dtype=dtypes.int.vec(32), name="a0")*UPat(name="a1") + UPat(name="b0")*UPat(name="b1") + \ UPat(name="c0")*UPat(name="c1") + UPat(name="d0")*UPat(name="d1"), multi_mul), - # REDUCE int4 -> 2xint2 + # REDUCE int4 -> 2xint2, int8 -> 4xint2 (UPat(Ops.REDUCE, dtype=dtypes.int.vec(4), name="r"), lambda r: UOp(Ops.CAT, r.dtype, (gep_on_reduce(r.gep((0,1)), r), gep_on_reduce(r.gep((2,3)), r)))), + (UPat(Ops.REDUCE, dtype=dtypes.int.vec(8), name="r"), + lambda r: UOp(Ops.CAT, r.dtype, (gep_on_reduce(r.gep((0,1)), r), gep_on_reduce(r.gep((2,3)), r), + gep_on_reduce(r.gep((4,5)), r), gep_on_reduce(r.gep((6,7)), r)))), # build __builtin_HEXAGON_A2_vraddub (UPat(Ops.CAST,dtype=dtypes.int.vec(2),name="a0")+UPat(Ops.CAST,name="a1")+UPat(Ops.CAST,name="a2")+UPat(Ops.CAST,name="a3")+ \