a little size reduction on write_indices

This commit is contained in:
dzaima 2023-07-10 16:29:21 +03:00
parent 368e6b6001
commit bf89d2d561

View File

@ -109,7 +109,7 @@ fn write_indices{I,T}(t:*I, w:*T, n:u64) : void = {
id := i+d
wi := undefined{T}
if (id >= n) {
@for (w over j from i to n) store{t, w, j+1}
@for (w over j from i to n) store{t, w, cast_i{i64, j+1}}
goto{break}
} else if ((wi = load{w, i}) == load{w, id}) {
# Gallop
@ -126,7 +126,7 @@ fn write_indices{I,T}(t:*I, w:*T, n:u64) : void = {
l -= h
}
} else {
@unroll (j to 8) store{t, load{w, i+j}, i+j+1}
@unroll (j to 8) store{t, load{w, i+j}, cast_i{i64, i+j+1}}
i += 8
}
}