Stuart Henderson wrote: > On 2016/04/21 20:58, Rafael Sadowski wrote: > > On Wed Apr 20, 2016 at 05:30:26AM -0400, Michael McConville wrote: > > > It's on by default, but can be disabled with the below cmake > > > argument. > > > > Are test results with and without SSE3 same or better? If yes okay > > for me. > > I think it would have to be "better" otherwise what's the point in > disabling this in opencv (which does runtime detection)?
Are you sure? Looking at the build logs, it seems like -msse3 is in the build-global C and C++ flags, so it'll be used for autovectorization (see build snippet below). It looks like Debian explicitly disables it: https://anonscm.debian.org/cgit/debian-science/packages/opencv.git/tree/debian/rules#n16 And FreeBSD treats SIMD extensions as if they weren't autodetected: https://svnweb.freebsd.org/ports/head/graphics/opencv/Makefile?view=co > -- C++ Compiler: /usr/bin/c++ (ver 4.2.1) > -- C++ flags (Release): -O2 -pipe -fsigned-char -W -Wall > -Werror=return-type -Werror=address -Werror=sequence-point -Wformat > -Werror=format-security -W > undef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo > -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse > -msse2 -msse3 -ffunction-sections - > DNDEBUG -DNDEBUG > -- C++ flags (Debug): -O2 -pipe -fsigned-char -W -Wall > -Werror=return-type -Werror=address -Werror=sequence-point -Wformat > -Werror=format-security -W > undef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo > -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse > -msse2 -msse3 -ffunction-sections - > g -O0 -DDEBUG -D_DEBUG > -- C Compiler: /usr/bin/cc > -- C flags (Release): -O2 -pipe -fsigned-char -W -Wall > -Werror=return-type -Werror=address -Werror=sequence-point -Wformat > -Werror=format-security -W > missing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef > -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -Wno-long-long > -pthread -fomit-fram > e-pointer -msse -msse2 -msse3 -ffunction-sections -DNDEBUG -DNDEBUG > -- C flags (Debug): -O2 -pipe -fsigned-char -W -Wall > -Werror=return-type -Werror=address -Werror=sequence-point -Wformat > -Werror=format-security -W > missing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef > -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -Wno-long-long > -pthread -fomit-fram > e-pointer -msse -msse2 -msse3 -ffunction-sections -g -O0 -DDEBUG -D_DEBUG