On Thu, 2015-07-23 at 14:36 +0200, Andreas Tille wrote:
> Hi,
> 
> considering the fact that SSE3 optimisation is really wanted on intel
> architectures how could the option be added only for those architectures
> that understand -msse3 option?


You can do this: 

###
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-msee3" HAS_GNU_MSSE3_FLAG)
IF(HAS_GNU_MSSE3_FLAG)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -msse3")
ENDIF(HAS_GNU_MSSE3_FLAG)
###

You could also add to the d/rules that certain flags are only set on
certain architectures: 

I think it would be done like this: 
ifeq ($(DEB_BUIL_ARCH), amd64)
   CXXFLAGS += -msse3
endif 

Note however, that even on Intel arch -msse3 is not supported across all
processor types that are supported by Debian. 

* amd64 is only guaranteed to support SSE2 (and this is enabled by
default), but some early processors, like the single core Opteron don't
support sse3.

* on i386 the situation is even worse.

The clean solution would be to make a run-time decision about different
code path using different instruction sets based on the processor. The
non-free Intel compiler can provide this automatically with certain
compiler flags, but AFAIK with gcc one has to do this manually. 


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to