build select.singeli everywhere
This commit is contained in:
parent
f1f4f1734e
commit
0d5e77766a
@ -704,7 +704,7 @@ cachedBin‿linkerCache ← {
|
||||
"xag"‿"src/builtins/slash.c"‿"slash", "xag"‿"src/builtins/slash.c"‿"replicate",
|
||||
"xag"‿"src/builtins/sort.c"‿"bins", "xa."‿"src/builtins/slash.c"‿"count"
|
||||
|
||||
"x.."‿"src/builtins/select.c"‿"select"
|
||||
"xag"‿"src/builtins/select.c"‿"select"
|
||||
⟩
|
||||
objs ← ⟨⟩
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
if_inline (hasarch{'AVX2'}) {
|
||||
|
||||
include './base'
|
||||
include './cbqnDefs'
|
||||
include './mask'
|
||||
include './bitops'
|
||||
include 'util/tup'
|
||||
|
||||
def {wrapChk, gather}
|
||||
if_inline (hasarch{'AVX2'}) {
|
||||
# def:T - masked original content
|
||||
# b:B - pointer to data to index; if width{B}<elwidth{T}, padding bytes are garbage read after wanted position
|
||||
# idx - actual (unscaled) index list
|
||||
@ -23,6 +23,10 @@ def wrapChk{cw0, VI,xlf, M} = {
|
||||
if (homAny{M{ty_u{cw} >= ty_u{xlf}}}) return{0}
|
||||
cw
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if_inline (hasarch{'AVX2'}) {
|
||||
|
||||
def storeExp{dst, ind, val, M, ext, rd, wl} = {
|
||||
def s{M} = storeBatch{dst, ind, val, M}
|
||||
@ -135,7 +139,9 @@ exportT{'avx2_select_tab', join{table{select_fn,
|
||||
tup{i8, i16, i32}, # indices
|
||||
tup{u8, u16, u32, u64}}}} # values
|
||||
|
||||
}
|
||||
|
||||
if_inline(hasarch{'AVX2'}) {
|
||||
fn avx2_select_bool128(w0:*void, x0:*void, r0:*void, wl:u64, xl:u64) : u1 = {
|
||||
def TI = i8
|
||||
def VI = [32]TI
|
||||
@ -163,5 +169,4 @@ fn avx2_select_bool128(w0:*void, x0:*void, r0:*void, wl:u64, xl:u64) : u1 = {
|
||||
1
|
||||
}
|
||||
export{'avx2_select_bool128', avx2_select_bool128}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user