Make Singeli if conditions have type u1
This commit is contained in:
parent
8c18fddd54
commit
f62981e370
@ -144,7 +144,7 @@ def rep_const_shuffle{V, wv, onreps, xv:*V, rv:*V, n:u64} = { # onreps{inputVect
|
|||||||
}}
|
}}
|
||||||
setlabel{end}
|
setlabel{end}
|
||||||
q := nr & (step-1)
|
q := nr & (step-1)
|
||||||
if (q) homMaskStoreF{rv+e, maskOf{V, q}, s}
|
if (q!=0) homMaskStoreF{rv+e, maskOf{V, q}, s}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ fn rep_const_shuffle_partial4(wv:u64, ellw:u64, x:*i8, r:*i8, n:u64) : void = {
|
|||||||
setlabel{end}
|
setlabel{end}
|
||||||
|
|
||||||
q := (re+step) - r
|
q := (re+step) - r
|
||||||
if (q) homMaskStoreF{*V~~r, maskOf{V, q}, s}
|
if (q!=0) homMaskStoreF{*V~~r, maskOf{V, q}, s}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ def scan_loop{T, init, x:*T, r:*T, len:u64, scan, scan_last} = {
|
|||||||
e:= len/step
|
e:= len/step
|
||||||
@for (xv, rv over e) rv = scan{xv,p}
|
@for (xv, rv over e) rv = scan{xv,p}
|
||||||
q:= len & (step-1)
|
q:= len & (step-1)
|
||||||
if (q) homMaskStoreF{rv+e, maskOf{V, q}, scan_last{load{xv,e}, p}}
|
if (q!=0) homMaskStoreF{rv+e, maskOf{V, q}, scan_last{load{xv,e}, p}}
|
||||||
}
|
}
|
||||||
def scan_post{T, init, x:*T, r:*T, len:u64, op, pre} = {
|
def scan_post{T, init, x:*T, r:*T, len:u64, op, pre} = {
|
||||||
def last{v, p} = op{pre{v}, p}
|
def last{v, p} = op{pre{v}, p}
|
||||||
@ -97,7 +97,7 @@ fn clmul_scan_ne_any{& hasarch{'PCLMUL'}}(x:*void, r:*void, init:u64, words:u64,
|
|||||||
@for (rv, xv over e) {
|
@for (rv, xv over e) {
|
||||||
rv = apply{zipLo, (@collect (j to 2) xor64{xv, j, c})}
|
rv = apply{zipLo, (@collect (j to 2) xor64{xv, j, c})}
|
||||||
}
|
}
|
||||||
if (words & 1) {
|
if ((words & 1) == 1) {
|
||||||
storeLow{rv+e, 64, clmul{loadLow{xv+e, 64}, m, 0} ^ c}
|
storeLow{rv+e, 64, clmul{loadLow{xv+e, 64}, m, 0} ^ c}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user