From 773429a959aeedc9d732f3068c2b99ed05de7734 Mon Sep 17 00:00:00 2001 From: dzaima Date: Tue, 21 Nov 2023 02:34:14 +0200 Subject: [PATCH] recursive base-case of homMask --- src/singeli/src/base.singeli | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/singeli/src/base.singeli b/src/singeli/src/base.singeli index 5eb4aec8..3186338a 100644 --- a/src/singeli/src/base.singeli +++ b/src/singeli/src/base.singeli @@ -178,7 +178,9 @@ def homMask{...vs & tuplen{vs}>1} = { def n = tuplen{vs} def T = oneType{vs} def RT = ty_u{max{8,vcount{T}*n}} - tree_fold{|, each{{v,i}=>promote{RT,homMask{v}}<<(i*vcount{T}), vs, iota{n}}} + def a = promote{RT, homMask{...slice{vs,0,n/2}}} + def b = promote{RT, homMask{...slice{vs,n/2}}} + (b<<(n/2 * vcount{T})) | a } if (hasarch{'X86_64'}) {