You are not logged in.

#1 2017-10-08 07:56:42

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 833
Website

community/embree

deep42thought in 'blacklist':

has never been an i686 package for arch, but might built for i686, actually

I agree.

SSE and SSE2 at least were around for some 32-bit CPUs.

So far I get:

cd /root/embree/build/common/sys && /usr/bin/c++  -DEMBREE_TARGET_SSE2 -DTASKING_TBB -I/root/embree/include -I/root/embree/build  -Wall -Wformat -Wformat-security -fPIE -fPIC -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-tree-vectorize  -DNDEBUG -O3   -o CMakeFiles/sys.dir/sysinfo.cpp.o -c /root/embree/common/sys/sysinfo.cpp

In file included from /root/embree/common/sys/sysinfo.cpp:17:0:
/root/embree/common/sys/sysinfo.h:76:2: error: #error Unknown ISA
#error Unknown ISA
  ^~~~~
In file included from /root/embree/common/sys/sysinfo.cpp:18:0:
/root/embree/common/sys/intrinsics.h: In function ‘__m128 embree::_mm_undefined_ps()’:
/root/embree/common/sys/intrinsics.h:381:41: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
   __forceinline __m128 _mm_undefined_ps() { return _mm_setzero_ps(); }
                                         ^
make[2]: *** [common/sys/CMakeFiles/sys.dir/build.make:63: common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o] Error 1

(this bugreport I also spotted on the Italian Archlinux forum: http://www.archlinux.it/forum/viewtopic … 27&t=20690).

Those warnings happen if the compiler macros '__SSE__' and/or '__SSE2__' are not set.

The cmake files claim they set compiler flags correctly, but I doubt it, because if I set '-msse' or '-msse2' manually,
the file above builds (and I don't see any architecture optimization flags).

What I think the problem is (and I have to investigate), that on 64-bit CPUs '__SSE__' and '__SSE2__' are always set
because those CPUs have always support for it. This means for 32-bit it's just a matter to fix the flags in cmake.

There is another interesting blog entry of a guy using embree on an ARM cpu, see
https://mightynotes.wordpress.com/2017/ … ee-to-arm/. This
also gives some insight that this library builds generic code and some very specific optimized
code (optionally), which is then choosen at runtime if the CPUID command or the cpu type tell it so.

Last edited by andreas_baumann (2017-10-08 08:09:06)

Offline

#2 2017-10-13 07:15:50

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 833
Website

Re: community/embree

Manually added:

SET_TARGET_PROPERTIES(XXXX PROPERTIES COMPILE_FLAGS "${FLAGS_LOWEST}")

to a bunch of 'CMakeLists.txt' files where the build failed without an '-sse' or '-sse2' flag.

Offline

#3 2017-10-13 07:36:59

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 833
Website

Re: community/embree

Offline

Board footer

Powered by FluxBB