use 2x unroll for i16→u1 copying to utilize two-vector homMask
This commit is contained in:
parent
773429a959
commit
8814a7e66e
@ -46,7 +46,7 @@ fn copy{X, R}(x: *void, r: *void, l:u64, xRaw: *void) : void = {
|
|||||||
def XU = ty_u{XV}
|
def XU = ty_u{XV}
|
||||||
def op{x} = (XU~~x) == XU~~XV**1
|
def op{x} = (XU~~x) == XU~~XV**1
|
||||||
|
|
||||||
def unr = max{8/bulk, 1}
|
def unr = if (hasarch{'X86_64'} and width{X}==16) 2 else max{8/bulk, 1}
|
||||||
def bulk2 = bulk*unr
|
def bulk2 = bulk*unr
|
||||||
xi:ux = 0
|
xi:ux = 0
|
||||||
@forNZ (i to cdiv{l,bulk2}) {
|
@forNZ (i to cdiv{l,bulk2}) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user