You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Building Io (current git version) fails due to its uses of SSE2 in UArray_math.c. The problem is that -msse2 needs to be specified in the compiler flags. This only applies to 32-bit builds because all 64-bit systems have this option defined implicitly. It seems to be related to the change from GCC 4 to 5, maybe earlier systems did not need this flag.
System info:
$ uname -a
Linux system 4.2.0-25-generic #30-Ubuntu SMP Mon Jan 18 12:32:18 UTC 2016 i686 i686 i686 GNU/Linux
$ gcc --version
gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
Error message:
[ 10%] Building C object libs/basekit/CMakeFiles/basekit.dir/source/UArray_math.c.o
In file included from /home/peter/io/libs/basekit/source/simd_cph/include/simd_cp.h:129:0,
from /home/peter/io/libs/basekit/source/UArray_math.c:22:
/home/peter/io/libs/basekit/source/UArray_math.c: In function ‘vfloat32_add’:
/home/peter/io/libs/basekit/source/simd_cph/include/simd_cp_x86.h:172:39: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
#define simd_4f_add(v1,v2,v0) v0.v=_mm_add_ps(v1.v,v2.v)
^
/home/peter/io/libs/basekit/source/UArray_math.c:44:30: note: in expansion of macro ‘simd_4f_add’
for(i = 0; i < max; i ++) { simd_4f_ ## VNAME (a[i], b[i], a[i]); }\
^
/home/peter/io/libs/basekit/source/UArray_math.c:49:1: note: in expansion of macro ‘LLVEC_DUALARG_OP’
LLVEC_DUALARG_OP(add, +=, float32);
^
In file included from /home/peter/io/libs/basekit/source/simd_cph/include/simd_cp_x86.h:47:0,
from /home/peter/io/libs/basekit/source/simd_cph/include/simd_cp.h:129,
from /home/peter/io/libs/basekit/source/UArray_math.c:22:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:181:1: error: inlining failed in call to always_inline ‘_mm_add_ps’: target specific option mismatch
_mm_add_ps (__m128 __A, __m128 __B)
^
In file included from /home/peter/io/libs/basekit/source/simd_cph/include/simd_cp.h:129:0,
from /home/peter/io/libs/basekit/source/UArray_math.c:22:
/home/peter/io/libs/basekit/source/simd_cph/include/simd_cp_x86.h:172:40: error: called from here
#define simd_4f_add(v1,v2,v0) v0.v=_mm_add_ps(v1.v,v2.v)
^
/home/peter/io/libs/basekit/source/UArray_math.c:44:30: note: in expansion of macro ‘simd_4f_add’
for(i = 0; i < max; i ++) { simd_4f_ ## VNAME (a[i], b[i], a[i]); }\
^
/home/peter/io/libs/basekit/source/UArray_math.c:49:1: note: in expansion of macro ‘LLVEC_DUALARG_OP’
LLVEC_DUALARG_OP(add, +=, float32);
^
The text was updated successfully, but these errors were encountered:
Building Io (current git version) fails due to its uses of SSE2 in
UArray_math.c
. The problem is that-msse2
needs to be specified in the compiler flags. This only applies to 32-bit builds because all 64-bit systems have this option defined implicitly. It seems to be related to the change from GCC 4 to 5, maybe earlier systems did not need this flag.System info:
Error message:
The text was updated successfully, but these errors were encountered: