parent
1c48875d42
commit
f0090c020e
1 changed files with 2 additions and 6 deletions
|
@ -65,15 +65,11 @@ proc fillUnsafe*(
|
|||
else:
|
||||
var i = start
|
||||
when defined(amd64) and allowSimd:
|
||||
# Align to 16 bytes
|
||||
while (cast[uint](data[i].addr) and 15) != 0:
|
||||
data[i] = rgbx
|
||||
inc i
|
||||
# When supported, SIMD fill until we run out of room
|
||||
let colorVec = mm_set1_epi32(cast[int32](rgbx))
|
||||
for _ in 0 ..< len div 8:
|
||||
mm_store_si128(data[i + 0].addr, colorVec)
|
||||
mm_store_si128(data[i + 4].addr, colorVec)
|
||||
mm_storeu_si128(data[i + 0].addr, colorVec)
|
||||
mm_storeu_si128(data[i + 4].addr, colorVec)
|
||||
i += 8
|
||||
else:
|
||||
when sizeof(int) == 8:
|
||||
|
|
Loading…
Reference in a new issue