Fix lots of missing casts for function calls
This commit is contained in:
parent
82ac059b75
commit
ce74e36a19
@ -126,7 +126,7 @@ rep_const_shuffle_partial4(wv:u64, elbytes:u64, x:*i8, r:*i8, n:u64) : void = {
|
|||||||
if (q) maskstoreF{*V~~r, maskOf{V, q}, 0, s}
|
if (q) maskstoreF{*V~~r, maskOf{V, q}, 0, s}
|
||||||
}
|
}
|
||||||
|
|
||||||
rep_const_shuffle_any(wv:i32, elbytes:u64, x:*i8, r:*i8, n:u64) : void = {
|
rep_const_shuffle_any(wv:u64, elbytes:u64, x:*i8, r:*i8, n:u64) : void = {
|
||||||
if (wv > tupsel{-1,rcsh_vals}) {
|
if (wv > tupsel{-1,rcsh_vals}) {
|
||||||
return{rep_const_shuffle_partial4(wv, elbytes, x, r, n)}
|
return{rep_const_shuffle_partial4(wv, elbytes, x, r, n)}
|
||||||
}
|
}
|
||||||
@ -150,14 +150,13 @@ def rep_const_broadcast{T, kv, loop, wv:u64, x:*T, r:*T, n:u64} = {
|
|||||||
rep_const_broadcast{T, kv }(wv:u64, x:*T, r:*T, n:u64) : void = rep_const_broadcast{T, kv, unroll, wv, x, r, n}
|
rep_const_broadcast{T, kv }(wv:u64, x:*T, r:*T, n:u64) : void = rep_const_broadcast{T, kv, unroll, wv, x, r, n}
|
||||||
rep_const_broadcast{T}(kv:u64, wv:u64, x:*T, r:*T, n:u64) : void = rep_const_broadcast{T, kv, for , wv, x, r, n}
|
rep_const_broadcast{T}(kv:u64, wv:u64, x:*T, r:*T, n:u64) : void = rep_const_broadcast{T, kv, for , wv, x, r, n}
|
||||||
|
|
||||||
rep_const{T}(wv:i32, x:*void, r:*void, n:u64) : void = {
|
rep_const{T}(wv:u64, x:*void, r:*void, n:u64) : void = {
|
||||||
assert{wv>=2}
|
assert{wv>=2}
|
||||||
if (wv>=8 and wv<=fact_size) {
|
if (wv>=8 and wv<=fact_size) {
|
||||||
k := u32~~wv
|
fa := promote{u64, load{factors,wv-8}}
|
||||||
fa := promote{u32, load{factors,k-8}}
|
|
||||||
if (fa > 1) {
|
if (fa > 1) {
|
||||||
fi := promote{u64, k / fa}
|
fi := wv / fa
|
||||||
def t = *T~~r + (promote{u64,k}-fi)*n
|
def t = *void~~(*T~~r + (promote{u64,wv}-fi)*n)
|
||||||
rep_const{T}(fi,x,t,n)
|
rep_const{T}(fi,x,t,n)
|
||||||
rep_const{T}(fa,t,r,fi*n)
|
rep_const{T}(fa,t,r,fi*n)
|
||||||
return{}
|
return{}
|
||||||
@ -172,13 +171,13 @@ rep_const{T}(wv:i32, x:*void, r:*void, n:u64) : void = {
|
|||||||
if (wv==k) return{rep_const_shuffle{V, k, *V~~x, *V~~r, n}}
|
if (wv==k) return{rep_const_shuffle{V, k, *V~~x, *V~~r, n}}
|
||||||
}
|
}
|
||||||
specialize{2}
|
specialize{2}
|
||||||
rep_const_shuffle_any(wv, wT/8, x, r, n)
|
rep_const_shuffle_any(wv, wT/8, *i8~~x, *i8~~r, n)
|
||||||
} else {
|
} else {
|
||||||
kv := wv / vn
|
kv := wv / vn
|
||||||
@unroll (k from (max_shuffle/vn) to 4) {
|
@unroll (k from (max_shuffle/vn) to 4) {
|
||||||
if (kv == k) return{rep_const_broadcast{T, k}(wv, x, r, n)}
|
if (kv == k) return{rep_const_broadcast{T, k}(wv, *T~~x, *T~~r, n)}
|
||||||
}
|
}
|
||||||
rep_const_broadcast{T}(kv, wv, x, r, n)
|
rep_const_broadcast{T}(kv, wv, *T~~x, *T~~r, n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,6 +29,6 @@ clmul_scan_ne_any(x:*void, r:*void, init:u64, words:u64, mark:u64) : void = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
clmul_scan_ne_bit(init:u64, x:*u64, r:*u64, ia:u64) : void = {
|
clmul_scan_ne_bit(init:u64, x:*u64, r:*u64, ia:u64) : void = {
|
||||||
clmul_scan_ne_any(x, r, init, ia, -(u64~~1))
|
clmul_scan_ne_any(*void~~x, *void~~r, init, ia, -(u64~~1))
|
||||||
}
|
}
|
||||||
'clmul_scan_ne' = clmul_scan_ne_bit
|
'clmul_scan_ne' = clmul_scan_ne_bit
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user