diff --git a/tinygrad/codegen/devectorizer.py b/tinygrad/codegen/devectorizer.py index f2c655f248..4d4aca56ae 100644 --- a/tinygrad/codegen/devectorizer.py +++ b/tinygrad/codegen/devectorizer.py @@ -150,6 +150,7 @@ def split_load_store(ctx:Renderer|None, ls:UOp, idx:UOp): if ctx is not None and ctx.device == "DSP": lengths = [128,64,32,16,8,4] # we really want stores to be 128 for fast casting + #if ls.op is Ops.LOAD: lengths = [192]+lengths #if ls.op is Ops.LOAD: lengths = [1536,1024,512,384,256,192,96]+lengths must_divide = False elif buf.dtype.base != dtypes.float and buf.dtype.base != dtypes.half and not isinstance(buf.dtype, ImageDType): diff --git a/tinygrad/runtime/ops_dsp.py b/tinygrad/runtime/ops_dsp.py index 9b71636062..f45e2a9b15 100644 --- a/tinygrad/runtime/ops_dsp.py +++ b/tinygrad/runtime/ops_dsp.py @@ -179,7 +179,8 @@ class DSPRenderer(ClangRenderer): device = "DSP" supports_float4 = True buffer_suffix = " restrict __attribute__((align_value(128)))" - kernel_prefix = vmemu_support + "__attribute__((noinline)) " + #kernel_prefix = vmemu_support + "__attribute__((noinline)) " + kernel_prefix = "__attribute__((noinline)) " pre_matcher = dsp_pm extra_matcher = dsp_pm_late+ClangRenderer.extra_matcher+pretty_render type_map = { **ClangRenderer.type_map, dtypes.uint64: "unsigned long long", dtypes.int64: "long long" }