@@ -1632,12 +1632,12 @@ namespace xsimd
16321632 constexpr auto lane_mask = mask % make_batch_constant<uint32_t , (mask.size / 2 ), A>();
16331633 XSIMD_IF_CONSTEXPR (detail::is_only_from_lo (mask))
16341634 {
1635- __m256i broadcast = _mm256_permute2f128_pd (self, self, 0x00 ); // [low | low]
1635+ __m256 broadcast = _mm256_permute2f128_ps (self, self, 0x00 ); // [low | low]
16361636 return _mm256_permutevar_ps (broadcast, lane_mask.as_batch ());
16371637 }
16381638 XSIMD_IF_CONSTEXPR (detail::is_only_from_hi (mask))
16391639 {
1640- __m256i broadcast = _mm256_permute2f128_pd (self, self, 0x11 ); // [high | high]
1640+ __m256 broadcast = _mm256_permute2f128_ps (self, self, 0x11 ); // [high | high]
16411641 return _mm256_permutevar_ps (broadcast, lane_mask.as_batch ());
16421642 }
16431643
@@ -1677,12 +1677,12 @@ namespace xsimd
16771677 constexpr auto lane_mask = mask % make_batch_constant<uint64_t , (mask.size / 2 ), A>();
16781678 XSIMD_IF_CONSTEXPR (detail::is_only_from_lo (mask))
16791679 {
1680- __m256i broadcast = _mm256_permute2f128_pd (self, self, 0x00 ); // [low | low]
1680+ __m256d broadcast = _mm256_permute2f128_pd (self, self, 0x00 ); // [low | low]
16811681 return _mm256_permute_pd (broadcast, lane_mask.as_batch ());
16821682 }
16831683 XSIMD_IF_CONSTEXPR (detail::is_only_from_hi (mask))
16841684 {
1685- __m256i broadcast = _mm256_permute2f128_pd (self, self, 0x11 ); // [high | high]
1685+ __m256d broadcast = _mm256_permute2f128_pd (self, self, 0x11 ); // [high | high]
16861686 return _mm256_permute_pd (broadcast, lane_mask.as_batch ());
16871687 }
16881688
0 commit comments