[fuchsia][eigen] fix neon vectorization of pmul(Packet1cd,Packet1cd) The latest calng roll for fuchsia is failing from ``` error: argument value 1 is outside the valid range [0, 0] v2 = vdupq_lane_f64(vget_high_f64(a.v), 1); ``` `vdupq_lane_f64` eventually calls `__builtin_neon_splatq_lane_v` whose second argument can only have a value of 0. The upstream fix for this (https://gitlab.com/libeigen/eigen/-/commit/7ad1aaec1db2dbf1abfc19a5bb62626653fa48fb) seemed to just change this argument from 1 to 0. Change-Id: Id9d024badb3e6977348dfcb106be4c1ad31262dd
diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h index 991a385..4844137 100644 --- a/Eigen/src/Core/arch/NEON/Complex.h +++ b/Eigen/src/Core/arch/NEON/Complex.h
@@ -333,7 +333,7 @@ // Get the real values of a v1 = vdupq_lane_f64(vget_low_f64(a.v), 0); // Get the real values of a - v2 = vdupq_lane_f64(vget_high_f64(a.v), 1); + v2 = vdupq_lane_f64(vget_high_f64(a.v), 0); // Multiply the real a with b v1 = vmulq_f64(v1, b.v); // Multiply the imag a with b