AVX2 将 __mm256d 变量设置为全部

AVX2 set __mm256d variable to all ones

我正在尝试使所有二进制常量成为常量 __m256d 变量。我看到 post 但它只处理 __m256i 和 __m256 的情况,而不处理 __m256d。感谢您的帮助

您应该像您一样将位填充为 1,然后将其转换为 __m256d 寄存器:

__m256i a = _mm256_set1_epi64x(-1);
__m256d b = _mm256_castsi256_pd(a);

或者简单地说:

__m256d b = _mm256_castsi256_pd(_mm256_set1_epi64x(-1));