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);