Adding const did not fix the problem, so I gave the 0xdd / 0x88 directly as shuffle mask parameter in _mm256_shuffle_ps, then it compiles without any problems (same fix for volk_32fc_deinterleave_imag_32f.h)
Thank you very much Stefan Am 23.10.2014 19:50, schrieb West, Nathan: > On Thu, Oct 23, 2014 at 12:37 PM, Stefan Oltmanns > <stefan-oltma...@gmx.net> wrote: >> I just got the latest git version of gnuradio and tried to compile, but >> I get compilation errors resulting from avxintrin.h: >> >> http://pastebin.com/uq4uGeNs >> >> These errors seems to be common and result from using non-standard >> GCC-extensions that clang does not support. >> >> Any ideas? > > This is a recently introduced bug; thanks for the report! > > This is apparently because clang is stricter than gcc on constant > arguments. The shuffle parameter is defined as an int rather than > const int. The same instruction/function has been used for a long time > without any problems, but in other cases we always give the literal > value rather than a variable. > > Since you're building from source I'll assume you might be able to try > this patch out: > > --- a/volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h > +++ b/volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h > @@ -42,8 +42,8 @@ static inline void > volk_32fc_deinterleave_32f_x2_a_avx(float* iBuffer, float* qB > > unsigned int number = 0; > // Mask for real and imaginary parts > - int realMask = 0x88; > - int imagMask = 0xdd; > + const int realMask = 0x88; > + const int imagMask = 0xdd; > const unsigned int eighthPoints = num_points / 8; > __m256 cplxValue1, cplxValue2, complex1, complex2, iValue, qValue; > for(;number < eighthPoints; number++){ > > Otherwise, just roll back to a commit before we merged in the volk > gsoc work (1-2 weeks, I think). > > Nathan > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio