Skip to content

Commit 5a425fe

Browse files
committed
Update rust version message.
1 parent 80cc0be commit 5a425fe

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/arch/ssse3.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,10 @@ pub unsafe fn color_convert_line_ycbcr(y: &[u8], cb: &[u8], cr: &[u8], output: &
181181
assert!(num <= y.len());
182182
assert!(num <= cb.len());
183183
assert!(num <= cr.len());
184-
// _mm_loadu_si64 seems to be confused between stable and beta on whether it loads on the low
185-
// or the upper half of the vector. To circumvent the issue, we use _mm_loadu_si128, and skip
186-
// one vector to avoid loads from outside accessible memory.
184+
// _mm_loadu_si64 generates incorrect code for Rust <1.58. To circumvent this, we use a full
185+
// 128-bit load, but that requires leaving an extra vector of border to the scalar code.
186+
// From Rust 1.58 on, the _mm_loadu_si128 can be replaced with _mm_loadu_si64 and this
187+
// .saturating_sub() can be removed.
187188
let num_vecs = (num / 8).saturating_sub(1);
188189

189190
for i in 0..num_vecs {

0 commit comments

Comments
 (0)