jhorstmann commented on a change in pull request #8685:
URL: https://github.com/apache/arrow/pull/8685#discussion_r526388987
##########
File path: rust/arrow/src/datatypes.rs
##########
@@ -618,7 +628,7 @@ macro_rules! make_numeric_type {
fn mask_from_u64(mask: u64) -> Self::SimdMask {
match Self::lanes() {
8 => {
- let vecidx = i64x8::new(128, 64, 32, 16, 8, 4, 2, 1);
+ let vecidx = i64x8::new(1, 2, 4, 8, 16, 32, 64, 128);
Review comment:
Tests for min/max exposed that these constants were actually in the
wrong order. This didn't turn up in the sum tests because there all invalid
elements were already set to 0. I think when I initially implemented this, I
copied the initialization from code that used intel avx intrinsics which take
the parameters in the opposite order :facepalm:
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]