https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731

--- Comment #4 from Wenzel Jakob <wen...@mitsuba-renderer.org> ---
Hmm, it looks like this is still an issue. Recompiling my codebase with the
latest trunk version of gcc still produces many errors caused by this, e.g.


include/simdarray/array_avx512.h:1059:53: error: invalid conversion from
‘simd::ArrayOperations<unsigned int, 16ul, false, (simd::RoundingMode)4,
simd::Array<unsigned int, 16ul, false, (simd::RoundingMode)4> >::Scalar* {aka
unsigned int*}’ to ‘const int*’ [-fpermissive]
         __m512i values = _mm512_mask_i32gather_epi32(
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
             _mm512_undefined_epi32(), mask.k, index.m, f, sizeof(Scalar));
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
/usr/local/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/immintrin.h:45:0,
                 from include/simdarray/array.h:33,
                 from tests/histogram.cpp:2:
/usr/local/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/avx512fintrin.h:9316:1:
note:   initializing argument 4 of ‘__m512i
_mm512_mask_i32gather_epi32(__m512i, __mmask16, __m512i, const int*, int)’
 _mm512_mask_i32gather_epi32 (__m512i __v1_old, __mmask16 __mask,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/simdarray/array.h:73:0,
                 from tests/histogram.cpp:2:
include/simdarray/array_avx512.h:1068:22: error: use of ‘main(int,
char**)::<lambda(auto:1)> [with auto:1 = simd::Array<unsigned int, 16ul, false,
(simd::RoundingMode)4>]’ before deduction of ‘auto’
         values = func(Derived(values)).m;

etc...

Reply via email to