Hi,

I am trying to build the current master branch and I am getting the
following error:

In cmake-gui if I leave USE_SIMD empty, compiling fails and I get the
following error message:
'''
...
[ 11%] Building CXX object
src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o
In file included from /root/oiio-customfix/src/libutil/simd_test.cpp:32:
/root/oiio-customfix/src/include/OpenImageIO/simd.h: In function
‘OpenImageIO::v1_5::simd::mask4
OpenImageIO::v1_5::simd::operator|(OpenImageIO::v1_5::simd::mask4,
OpenImageIO::v1_5::simd::mask4)’:
/root/oiio-customfix/src/include/OpenImageIO/simd.h:333: error: cannot
convert ‘float *vector*’ to ‘long long int *vector*’ for argument ‘1’ to
‘long long int *vector* *mm_or_si128(long long int __vector_*, long long
int *vector*)’
/root/oiio-customfix/src/include/OpenImageIO/simd.h: In function ‘const
OpenImageIO::v1_5::simd::mask4
OpenImageIO::v1_5::simd::operator==(OpenImageIO::v1_5::simd::mask4,
OpenImageIO::v1_5::simd::mask4)’:
/root/oiio-customfix/src/include/OpenImageIO/simd.h:348: error: cannot
convert ‘OpenImageIO::v1_5::simd::mask4’ to ‘long long int *vector*’ for
argument ‘1’ to ‘long long int *vector* *mm_cmpeq_epi32(long long int
__vector_*, long long int *vector*)’
make[2]: *** [src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o] Error 1
make[1]: *** [src/libutil/CMakeFiles/simd_test.dir/all] Error 2
make: *** [all] Error 2
'''
Then if I set USE_SIMD to 0, compiling fails too and I get the following
error message:
'''
...
[ 11%] Building CXX object
src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o
In file included from /root/oiio-master2/src/libutil/simd_test.cpp:32:
/root/oiio-master2/src/include/OpenImageIO/simd.h:171: error: expected
unqualified-id before ‘[’ token
/root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: ISO C++
forbids declaration of ‘simd_t’ with no type
/root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: expected ‘,’
or ‘...’ before ‘m’
/root/oiio-master2/src/include/OpenImageIO/simd.h:202: error: expected
type-specifier before ‘simd_t’
/root/oiio-master2/src/include/OpenImageIO/simd.h:203: error: ‘simd_t’ does
not name a type
/root/oiio-master2/src/include/OpenImageIO/simd.h:377: error: ‘simd_t’ does
not name a type
/root/oiio-master2/src/include/OpenImageIO/simd.h: In constructor
‘OpenImageIO::v1_5::simd::mask4::mask4(int)’:
/root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: class
‘OpenImageIO::v1_5::simd::mask4’ does not have any field named ‘m_vec’
/root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: ‘m’ was not
declared in this scope
/root/oiio-master2/src/include/OpenImageIO/simd.h: At global scope:
/root/oiio-master2/src/include/OpenImageIO/simd.h:450: error: expected
unqualified-id before ‘[’ token
/root/oiio-master2/src/include/OpenImageIO/simd.h:484: error: expected ‘)’
before ‘m’
/root/oiio-master2/src/include/OpenImageIO/simd.h:487: error: expected
type-specifier before ‘simd_t’
/root/oiio-master2/src/include/OpenImageIO/simd.h:488: error: ‘simd_t’ does
not name a type
/root/oiio-master2/src/include/OpenImageIO/simd.h:806: error: ‘simd_t’ does
not name a type
/root/oiio-master2/src/include/OpenImageIO/simd.h:922: error: expected
unqualified-id before ‘[’ token
/root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: ISO C++
forbids declaration of ‘simd_t’ with no type
/root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: expected ‘,’
or ‘...’ before ‘m’
/root/oiio-master2/src/include/OpenImageIO/simd.h:974: error: expected
type-specifier before ‘simd_t’
/root/oiio-master2/src/include/OpenImageIO/simd.h:975: error: ‘simd_t’ does
not name a type
/root/oiio-master2/src/include/OpenImageIO/simd.h:1276: error: ‘simd_t’
does not name a type
/root/oiio-master2/src/include/OpenImageIO/simd.h: In constructor
‘OpenImageIO::v1_5::simd::float4::float4(int)’:
/root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: class
‘OpenImageIO::v1_5::simd::float4’ does not have any field named ‘m_vec’
/root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: ‘m’ was not
declared in this scope
make[2]: *** [src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o] Error 1
make[1]: *** [src/libutil/CMakeFiles/simd_test.dir/all] Error 2
make: *** [all] Error 2
'''
Shouldn't that disable SSE completely?

Please note that OpenImageIO was compiling fine before the SIMD
instructions directives implementation.
In any case, I'm wondering if I'm doing something wrong or if it's a bug.

Thanks in advance!
P.S.: I have also posted this on the OIIO git issues page
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to