From fce7567349c77c88d0e29fc2c57b8d352066fba9 Mon Sep 17 00:00:00 2001 From: dzaima Date: Thu, 25 Jul 2024 05:32:35 +0300 Subject: [PATCH] =?UTF-8?q?widen=20bits=20in=20bits=E2=8A=B8=E2=8A=8F?= =?UTF-8?q?=CB=98mat=20to=20i8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/select.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/builtins/select.c b/src/builtins/select.c index 0ff9f5e9..ccd3759f 100644 --- a/src/builtins/select.c +++ b/src/builtins/select.c @@ -576,9 +576,11 @@ B select_rows_typed(B x, ux csz, ux cam, void* inds, ux indn, u8 ie, bool should ux xbump = csz<=8 || indn>=32*/) { // TODO enable & properly tune + if (csz>32 || indn>32 || indn>INDS_BUF_MAX) { // TODO properly tune u8* rp = m_tyarrv_same(&r, indn * cam, x); for (ux i = 0; i < cam; i++) { bitselFns[lb](rp, inds, loadu_u64(xp), loadu_u64(xp + (1<= (i64)csz) goto generic; if (bounds[0] < 0) { @@ -609,6 +619,7 @@ B select_rows_typed(B x, ux csz, ux cam, void* inds, ux indn, u8 ie, bool should fast = false; } } + skip_bounds_check:; u8* rp = m_tyarrv_same(&r, indn * cam, x);