[gmx-developers] compilation issues in master with gcc 4.8.2

Erik Lindahl erik.lindahl at scilifelab.se
Sat Mar 15 12:49:21 CET 2014


It might be the sizeof() call that screws things up by returning a 64-bit value, in combination with the compiler not understanding that it is a constant. 

Could you cry changing those sizeof() to "4" and see if that works?

Cheers,

Erik

--
Erik Lindahl <erik.lindahl at scilifelab.se>
Professor of Biophysics
Science for Life Laboratory
Stockholm University & KTH
Office (SciLifeLab): +46 8 524 81567
Cell (Sweden): +46 73 4618050 
Cell (US): 1 267 307 8746


> On Mar 15, 2014, at 12:19 PM, David van der Spoel <spoel at xray.bmc.uu.se> wrote:
> 
>> On 2014-03-15 11:44, David van der Spoel wrote:
>> In file included from
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/simd.h:126:0,
>>                  from
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/tests/simd.h:79,
>>                  from
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/tests/simd_integer.cpp:39:
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/tests/simd_integer.cpp:
>> In member function 'virtual void
>> gmx::test::{anonymous}::SimdIntegerTest_gmxSimdExtractI_Test::TestBody()':
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h:123:92:
>> error: the last argument must be an 8-bit immediate
>>  #define gmx_simd_extract_fi(x, i)
>> _mm_cvtsi128_si32(_mm_srli_si128((x), sizeof(int) * (i)))
>> 
>>                      ^
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/simd.h:665:46: note: in
>> expansion of macro 'gmx_simd_extract_fi'
>>  #    define gmx_simd_extract_i               gmx_simd_extract_fi
>>                                               ^
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/tests/simd_integer.cpp:154:25:
>> note: in expansion of macro 'gmx_simd_extract_i'
>>          extracted_int = gmx_simd_extract_i(simd, 1);
>>                          ^
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h:123:92:
>> error: the last argument must be an 8-bit immediate
>>  #define gmx_simd_extract_fi(x, i)
>> _mm_cvtsi128_si32(_mm_srli_si128((x), sizeof(int) * (i)))
>> 
>>                      ^
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/simd.h:665:46: note: in
>> expansion of macro 'gmx_simd_extract_fi'
>>  #    define gmx_simd_extract_i               gmx_simd_extract_fi
>>                                               ^
>> /home/spoel/GG/master/gromacs/src/gromacs/simd/tests/simd_integer.cpp:159:25:
>> note: in expansion of macro 'gmx_simd_extract_i'
>>          extracted_int = gmx_simd_extract_i(simd, 3);
>> 
>> Any clues?
> To follow up: it compiles fine with SSE4.1 but not with SSE2.
> 
> 
> -- 
> David van der Spoel, Ph.D., Professor of Biology
> Dept. of Cell & Molec. Biol., Uppsala University.
> Box 596, 75124 Uppsala, Sweden. Phone:    +46184714205.
> spoel at xray.bmc.uu.se    http://folding.bmc.uu.se
> -- 
> Gromacs Developers mailing list
> 
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before posting!
> 
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> 
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers or send a mail to gmx-developers-request at gromacs.org.


More information about the gromacs.org_gmx-developers mailing list