Skip to content

compilation crash on AMD Opteron(tm) Processor 2431

compilation fails on AMD Opteron(tm) Processor 2431 with error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'

./configure --enable-parallel-hdf5 --with-tcmalloc --with-jemalloc --with-metis

 ------- Summary --------

   SWIFT v.0.6.0

   Compiler         : mpicc
    - vendor        : gnu
    - version       : 5.4.0
    - flags         :  
   MPI enabled      : yes
   HDF5 enabled     : yes
    - parallel      : yes
   Metis enabled    : yes
   FFTW3 enabled    : yes
   GSL enabled      : yes
   libNUMA enabled  : yes
   GRACKLE enabled  : no
   Using tcmalloc   : no
   Using jemalloc   : yes
   CPU profiler     : no
   Pthread barriers : yes

   Hydro scheme       : gadget2
   Dimensionality     : 3
   Kernel function    : cubic-spline
   Equation of state  : ideal-gas
   Adiabatic index    : 5/3
   Riemann solver     : none
   Cooling function   : none
   Chemistry          : none

   External potential  : none
   Multipole order     : 5
   No gravity below ID : no

   Individual timers     : no
   Task debugging        : no
   Threadpool debugging  : no
   Debugging checks      : no
   Interaction debugging : no
   Naive interactions    : no
   Gravity checks        : no

 ------------------------

          ^
./kernel_hydro.h:503:8: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   w->v = vec_blend(mask_reg, w->v, w2.v);
        ^
./kernel_hydro.h:504:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_blend(mask_reg, dw_dx->v, dw_dx2.v);
            ^
./kernel_hydro.h: In function 'kernel_deval_2_vec':
./kernel_hydro.h:624:8: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   w->v = vec_blend(mask_reg, w->v, w_2.v);
        ^
./kernel_hydro.h:625:9: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   w2->v = vec_blend(mask_reg_v2, w2->v, w2_2.v);
         ^
./kernel_hydro.h:626:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_blend(mask_reg, dw_dx->v, dw_dx_2.v);
            ^
./kernel_hydro.h:627:13: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx2->v = vec_blend(mask_reg_v2, dw_dx2->v, dw_dx2_2.v);
             ^
./kernel_hydro.h: In function 'kernel_eval_W_vec':
./kernel_hydro.h:691:8: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   w->v = vec_blend(mask_reg, w->v, w2.v);
        ^
./kernel_hydro.h: In function 'kernel_eval_dWdx_vec':
./kernel_hydro.h:747:14: warning: implicit declaration of function 'vec_and_mask' [-Wimplicit-function-declaration]
   dw_dx->v = vec_and_mask(dw_dx->v, mask_reg1);
              ^
./kernel_hydro.h:747:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_and_mask(dw_dx->v, mask_reg1);
            ^
./kernel_hydro.h:748:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx2.v = vec_and_mask(dw_dx2.v, mask_reg2);
            ^
./kernel_hydro.h: In function 'kernel_eval_dWdx_force_vec':
./kernel_hydro.h:811:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_blend(mask_reg, dw_dx->v, dw_dx2.v);
            ^
./kernel_hydro.h:821:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_and_mask(dw_dx->v, mask);
            ^
./kernel_hydro.h: In function 'kernel_eval_dWdx_force_2_vec':
./kernel_hydro.h:894:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_blend(mask_reg, dw_dx->v, dw_dx2.v);
            ^
./kernel_hydro.h:895:14: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx_2->v = vec_blend(mask_reg_v2, dw_dx_2->v, dw_dx2_2.v);
              ^
./kernel_hydro.h:906:12: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx->v = vec_and_mask(dw_dx->v, mask);
            ^
./kernel_hydro.h:907:14: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   dw_dx_2->v = vec_and_mask(dw_dx_2->v, mask_2);
              ^
In file included from ./hydro.h:36:0,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
././hydro/Gadget2/hydro_iact.h: In function 'runner_iact_nonsym_1_vec_density':
././hydro/Gadget2/hydro_iact.h:255:15: warning: implicit declaration of function 'vec_mask_add' [-Wimplicit-function-declaration]
   rhoSum->v = vec_mask_add(rhoSum->v, vec_mul(mj.v, wi.v), mask);
               ^
././hydro/Gadget2/hydro_iact.h:255:13: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   rhoSum->v = vec_mask_add(rhoSum->v, vec_mul(mj.v, wi.v), mask);
             ^
././hydro/Gadget2/hydro_iact.h:257:7: warning: implicit declaration of function 'vec_mask_sub' [-Wimplicit-function-declaration]
       vec_mask_sub(rho_dhSum->v, vec_mul(mj.v, wcount_dh_update.v), mask);
       ^
././hydro/Gadget2/hydro_iact.h:256:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   rho_dhSum->v =
                ^
././hydro/Gadget2/hydro_iact.h:258:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   wcountSum->v = vec_mask_add(wcountSum->v, wi.v, mask);
                ^
././hydro/Gadget2/hydro_iact.h:259:19: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   wcount_dhSum->v = vec_mask_sub(wcount_dhSum->v, wcount_dh_update.v, mask);
                   ^
././hydro/Gadget2/hydro_iact.h:260:15: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   div_vSum->v =
               ^
././hydro/Gadget2/hydro_iact.h:262:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   curlvxSum->v = vec_mask_add(curlvxSum->v,
                ^
././hydro/Gadget2/hydro_iact.h:264:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   curlvySum->v = vec_mask_add(curlvySum->v,
                ^
././hydro/Gadget2/hydro_iact.h:266:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   curlvzSum->v = vec_mask_add(curlvzSum->v,
                ^
././hydro/Gadget2/hydro_iact.h: In function 'runner_iact_nonsym_2_vec_density':
././hydro/Gadget2/hydro_iact.h:367:15: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     rhoSum->v = vec_mask_add(rhoSum->v, vec_mul(mj.v, wi.v), mask);
               ^
././hydro/Gadget2/hydro_iact.h:368:15: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     rhoSum->v = vec_mask_add(rhoSum->v, vec_mul(mj2.v, wi2.v), mask2);
               ^
././hydro/Gadget2/hydro_iact.h:369:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     rho_dhSum->v =
                  ^
././hydro/Gadget2/hydro_iact.h:371:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     rho_dhSum->v =
                  ^
././hydro/Gadget2/hydro_iact.h:373:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     wcountSum->v = vec_mask_add(wcountSum->v, wi.v, mask);
                  ^
././hydro/Gadget2/hydro_iact.h:374:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     wcountSum->v = vec_mask_add(wcountSum->v, wi2.v, mask2);
                  ^
././hydro/Gadget2/hydro_iact.h:375:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     wcount_dhSum->v = vec_mask_sub(wcount_dhSum->v, wcount_dh_update.v, mask);
                     ^
././hydro/Gadget2/hydro_iact.h:376:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     wcount_dhSum->v = vec_mask_sub(wcount_dhSum->v, wcount_dh_update2.v, mask2);
                     ^
././hydro/Gadget2/hydro_iact.h:377:17: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     div_vSum->v = vec_mask_sub(div_vSum->v,
                 ^
././hydro/Gadget2/hydro_iact.h:379:17: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     div_vSum->v = vec_mask_sub(
                 ^
././hydro/Gadget2/hydro_iact.h:381:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     curlvxSum->v = vec_mask_add(
                  ^
././hydro/Gadget2/hydro_iact.h:383:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     curlvxSum->v = vec_mask_add(
                  ^
././hydro/Gadget2/hydro_iact.h:385:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     curlvySum->v = vec_mask_add(
                  ^
././hydro/Gadget2/hydro_iact.h:387:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     curlvySum->v = vec_mask_add(
                  ^
././hydro/Gadget2/hydro_iact.h:389:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     curlvzSum->v = vec_mask_add(
                  ^
././hydro/Gadget2/hydro_iact.h:391:18: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     curlvzSum->v = vec_mask_add(
                  ^
././hydro/Gadget2/hydro_iact.h: In function 'runner_iact_nonsym_1_vec_force':
././hydro/Gadget2/hydro_iact.h:730:13: warning: implicit declaration of function 'vec_fnma' [-Wimplicit-function-declaration]
   v_sig.v = vec_fnma(vec_set1(3.f), mu_ij.v, vec_add(ci.v, cj.v));
             ^
././hydro/Gadget2/hydro_iact.h:730:11: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   v_sig.v = vec_fnma(vec_set1(3.f), mu_ij.v, vec_add(ci.v, cj.v));
           ^
././hydro/Gadget2/hydro_iact.h:764:19: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   a_hydro_xSum->v = vec_mask_sub(a_hydro_xSum->v, piax.v, mask);
                   ^
././hydro/Gadget2/hydro_iact.h:765:19: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   a_hydro_ySum->v = vec_mask_sub(a_hydro_ySum->v, piay.v, mask);
                   ^
././hydro/Gadget2/hydro_iact.h:766:19: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   a_hydro_zSum->v = vec_mask_sub(a_hydro_zSum->v, piaz.v, mask);
                   ^
././hydro/Gadget2/hydro_iact.h:767:14: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   h_dtSum->v = vec_mask_sub(h_dtSum->v, pih_dt.v, mask);
              ^
In file included from ./dimension.h:33:0,
                 from ./kernel_hydro.h:38,
                 from ./hydro.h:27,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
././hydro/Gadget2/hydro_iact.h:768:39: error: incompatible type for argument 2 of '_mm_max_ps'
   v_sigSum->v = vec_fmax(v_sigSum->v, vec_and_mask(v_sig.v, mask));
                                       ^
./vector.h:338:38: note: in definition of macro 'vec_fmax'
 #define vec_fmax(a, b) _mm_max_ps(a, b)
                                      ^
In file included from /dios/App/spack/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-5.4.0-ib6lrhyzarpgqrksou6irygvrjbixzdn/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/immintrin.h:29:0,
                 from ./vector.h:36,
                 from ./dimension.h:33,
                 from ./kernel_hydro.h:38,
                 from ./hydro.h:27,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
/dios/App/spack/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-5.4.0-ib6lrhyzarpgqrksou6irygvrjbixzdn/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/xmmintrin.h:229:1: note: expected '__m128 {aka __vector(4) float}' but argument is of type 'int'
 _mm_max_ps (__m128 __A, __m128 __B)
 ^
In file included from ./hydro.h:36:0,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
././hydro/Gadget2/hydro_iact.h:769:20: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   entropy_dtSum->v = vec_mask_add(entropy_dtSum->v, entropy_dt.v, mask);
                    ^
././hydro/Gadget2/hydro_iact.h: In function 'runner_iact_nonsym_2_vec_force':
././hydro/Gadget2/hydro_iact.h:908:11: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   v_sig.v = vec_fnma(vec_set1(3.f), mu_ij.v, vec_add(ci.v, cj.v));
           ^
././hydro/Gadget2/hydro_iact.h:909:13: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
   v_sig_2.v = vec_fnma(vec_set1(3.f), mu_ij_2.v, vec_add(ci.v, cj_2.v));
             ^
././hydro/Gadget2/hydro_iact.h:968:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     a_hydro_xSum->v = vec_mask_sub(a_hydro_xSum->v, piax.v, mask);
                     ^
././hydro/Gadget2/hydro_iact.h:969:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     a_hydro_xSum->v = vec_mask_sub(a_hydro_xSum->v, piax_2.v, mask_2);
                     ^
././hydro/Gadget2/hydro_iact.h:970:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     a_hydro_ySum->v = vec_mask_sub(a_hydro_ySum->v, piay.v, mask);
                     ^
././hydro/Gadget2/hydro_iact.h:971:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     a_hydro_ySum->v = vec_mask_sub(a_hydro_ySum->v, piay_2.v, mask_2);
                     ^
././hydro/Gadget2/hydro_iact.h:972:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     a_hydro_zSum->v = vec_mask_sub(a_hydro_zSum->v, piaz.v, mask);
                     ^
././hydro/Gadget2/hydro_iact.h:973:21: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     a_hydro_zSum->v = vec_mask_sub(a_hydro_zSum->v, piaz_2.v, mask_2);
                     ^
././hydro/Gadget2/hydro_iact.h:974:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     h_dtSum->v = vec_mask_sub(h_dtSum->v, pih_dt.v, mask);
                ^
././hydro/Gadget2/hydro_iact.h:975:16: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     h_dtSum->v = vec_mask_sub(h_dtSum->v, pih_dt_2.v, mask_2);
                ^
In file included from ./dimension.h:33:0,
                 from ./kernel_hydro.h:38,
                 from ./hydro.h:27,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
././hydro/Gadget2/hydro_iact.h:976:41: error: incompatible type for argument 2 of '_mm_max_ps'
     v_sigSum->v = vec_fmax(v_sigSum->v, vec_and_mask(v_sig.v, mask));
                                         ^
./vector.h:338:38: note: in definition of macro 'vec_fmax'
 #define vec_fmax(a, b) _mm_max_ps(a, b)
                                      ^
In file included from /dios/App/spack/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-5.4.0-ib6lrhyzarpgqrksou6irygvrjbixzdn/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/immintrin.h:29:0,
                 from ./vector.h:36,
                 from ./dimension.h:33,
                 from ./kernel_hydro.h:38,
                 from ./hydro.h:27,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
/dios/App/spack/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-5.4.0-ib6lrhyzarpgqrksou6irygvrjbixzdn/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/xmmintrin.h:229:1: note: expected '__m128 {aka __vector(4) float}' but argument is of type 'int'
 _mm_max_ps (__m128 __A, __m128 __B)
 ^
In file included from ./dimension.h:33:0,
                 from ./kernel_hydro.h:38,
                 from ./hydro.h:27,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
././hydro/Gadget2/hydro_iact.h:977:41: error: incompatible type for argument 2 of '_mm_max_ps'
     v_sigSum->v = vec_fmax(v_sigSum->v, vec_and_mask(v_sig_2.v, mask_2));
                                         ^
./vector.h:338:38: note: in definition of macro 'vec_fmax'
 #define vec_fmax(a, b) _mm_max_ps(a, b)
                                      ^
In file included from /dios/App/spack/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-5.4.0-ib6lrhyzarpgqrksou6irygvrjbixzdn/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/immintrin.h:29:0,
                 from ./vector.h:36,
                 from ./dimension.h:33,
                 from ./kernel_hydro.h:38,
                 from ./hydro.h:27,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
/dios/App/spack/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-5.4.0-ib6lrhyzarpgqrksou6irygvrjbixzdn/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/xmmintrin.h:229:1: note: expected '__m128 {aka __vector(4) float}' but argument is of type 'int'
 _mm_max_ps (__m128 __A, __m128 __B)
 ^
In file included from ./hydro.h:36:0,
                 from ./chemistry/none/chemistry.h:35,
                 from chemistry.h:33,
                 from space.c:44:
././hydro/Gadget2/hydro_iact.h:978:22: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     entropy_dtSum->v = vec_mask_add(entropy_dtSum->v, entropy_dt.v, mask);
                      ^
././hydro/Gadget2/hydro_iact.h:979:22: error: incompatible types when assigning to type '__m128 {aka __vector(4) float}' from type 'int'
     entropy_dtSum->v = vec_mask_add(entropy_dtSum->v, entropy_dt_2.v, mask_2);
                      ^
make[3]: *** [libswiftsim_la-space.lo] Error 1
make[3]: Leaving directory `/SCRATCH/revaz/swiftsim-v0.7.0-f9d79855f3177870995292f7dbad4701de6d3eb4/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/SCRATCH/revaz/swiftsim-v0.7.0-f9d79855f3177870995292f7dbad4701de6d3eb4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/SCRATCH/revaz/swiftsim-v0.7.0-f9d79855f3177870995292f7dbad4701de6d3eb4'
make: *** [all] Error 2
Edited by Matthieu Schaller
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information