get rid of custom NEON rev

was non-compatibly overridden in places anyways
This commit is contained in:
dzaima 2025-01-26 02:07:55 +02:00
parent 6c7a444cd7
commit f3e7f4032c
3 changed files with 2 additions and 4 deletions

View File

@ -178,7 +178,7 @@ def {
all_hom,any_hom,blend_hom,hom_to_int,homMaskStore,homMaskStoreF,
all_top,any_top,blend_top,top_to_int,topMaskStore,topMaskStoreF,
loadBatchBit,loadLow,make,maskStore,maskToHom,mulwSplit,mulh,narrow,narrowTrunc,narrowPair,
packQ,pair,pdep,pext,popcRand,rbit,rev,sel,shl,shr,shufInd,storeLow,
packQ,pair,pdep,pext,popcRand,rbit,sel,shl,shr,shufInd,storeLow,
unord,unzip,vfold,vec_select,vec_shuffle,widen,widenUpper,multishift,
}

View File

@ -46,8 +46,6 @@ def maxp{a:V, b:V} = emit{V, ntyp{'vpmax', V}, a, b}
def mla{a:T, x:T, y:T if nvec{T}} = emit{T, ntyp{'vmla', T}, a, x, y} # a + x*y
def mls{a:T, x:T, y:T if nvec{T}} = emit{T, ntyp{'vmls', T}, a, x, y} # a - x*y
def rbit{x:T if nvecu{T,8}} = emit{T, ntyp{'vrbit', T}, x}
def rev{(width{T}), x:[_]T} = x
def rev{w, x:[k]T if w > width{T}} = reverse_units{w/width{T}, x} # reverse the order of elements in each w-bit window
def popc{x:T if nvecu{T,8}} = emit{T, ntyp{'vcnt', T}, x}
def clz{x:T if nvecu{T} and elwidth{T}<=32} = emit{T, ntyp{'vclz', T}, x}
def cls{x:T if nveci{T} and elwidth{T}<=32} = ty_u{T}~~emit{ty_s{T}, ntyp{'vcls', T}, x}

View File

@ -493,7 +493,7 @@ def modperm_shuf_step{x:V=[_]T, l, m if l%8==0} = {
def swap_elts{x:V=[k]_, el_bytes} = {
if (hasarch{'AARCH64'}) {
if (el_bytes == 8) vshl{x, x, k/2}
else V~~rev{el_bytes*16, re_el{ty_u{8*el_bytes}, V} ~~ x}
else V~~reverse_units{2, re_el{ty_u{8*el_bytes}, x}}
} else if (any_sel or (hasarch{'SSE2'} and el_bytes >= 2)) {
def wd = min{el_bytes, 8}
def l = el_bytes/wd