From f3e7f4032c1fa5ab17c61710de6eb6f658cc5063 Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 26 Jan 2025 02:07:55 +0200 Subject: [PATCH] get rid of custom NEON rev was non-compatibly overridden in places anyways --- src/singeli/src/base.singeli | 2 +- src/singeli/src/neon.singeli | 2 -- src/singeli/src/replicate.singeli | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/singeli/src/base.singeli b/src/singeli/src/base.singeli index e7ca7bda..f309e7d7 100644 --- a/src/singeli/src/base.singeli +++ b/src/singeli/src/base.singeli @@ -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, } diff --git a/src/singeli/src/neon.singeli b/src/singeli/src/neon.singeli index 10da2ebb..fba83613 100644 --- a/src/singeli/src/neon.singeli +++ b/src/singeli/src/neon.singeli @@ -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} diff --git a/src/singeli/src/replicate.singeli b/src/singeli/src/replicate.singeli index fd23d8d4..a583d2ed 100644 --- a/src/singeli/src/replicate.singeli +++ b/src/singeli/src/replicate.singeli @@ -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