soma horizontal de 8 flutuadores embalados de 32 bits
Se eu tiver 8 números de ponto flutuante de 32 bits compactados (__m256
), qual é a maneira mais rápida de extrair a soma horizontal de todos os 8 elementos? Da mesma forma, como obter o máximo e mínimo horizontal? Em outras palavras, qual é a melhor implementação para as seguintes funções do C ++?
float sum(__m256 x); ///< returns sum of all 8 elements
float max(__m256 x); ///< returns the maximum of all 8 elements
float min(__m256 x); ///< returns the minimum of all 8 elements