diff --git a/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/Eigen/src/Core/products/GeneralBlockPanelKernel.h --- a/Eigen/src/Core/products/GeneralBlockPanelKernel.h +++ b/Eigen/src/Core/products/GeneralBlockPanelKernel.h @@ -1740,24 +1740,24 @@ EIGEN_DONT_INLINE void gemm_pack_rhs kernel; kernel.packet[0] = ploadu(&b0[k]); - kernel.packet[1] = ploadu(&b1[k]); - kernel.packet[2] = ploadu(&b2[k]); - kernel.packet[3] = ploadu(&b3[k]); + kernel.packet[1%PacketSize] = ploadu(&b1[k]); + kernel.packet[2%PacketSize] = ploadu(&b2[k]); + kernel.packet[3%PacketSize] = ploadu(&b3[k]); ptranspose(kernel); pstoreu(blockB+count+0*PacketSize, cj.pconj(kernel.packet[0])); - pstoreu(blockB+count+1*PacketSize, cj.pconj(kernel.packet[1])); - pstoreu(blockB+count+2*PacketSize, cj.pconj(kernel.packet[2])); - pstoreu(blockB+count+3*PacketSize, cj.pconj(kernel.packet[3])); + pstoreu(blockB+count+1*PacketSize, cj.pconj(kernel.packet[1%PacketSize])); + pstoreu(blockB+count+2*PacketSize, cj.pconj(kernel.packet[2%PacketSize])); + pstoreu(blockB+count+3*PacketSize, cj.pconj(kernel.packet[3%PacketSize])); count+=4*PacketSize; } } for(; k