Compiler Flags problem with core2 CPU

Chuck Swiger cswiger at mac.com
Wed Mar 3 17:54:39 UTC 2010


Aaron Lewis wrote:
> [root at Meilk /usr/src/sys/i386/compile/AARON]# make
> CC='cc' make -f ../../../dev/aic7xxx/aicasm/Makefile 
> MAKESRCPATH=../../../dev/aic7xxx/aicasm
> Warning: Object directory not changed from original 
> /usr/src/sys/i386/compile/AARON
> cc -O2 -pipe -march=i686 -ffast-math -mfpmath=sse -O3
[ ... ]
> cc1: warnings being treated as errors
> ../../../dev/aic7xxx/aicasm/aicasm.c:1: warning: SSE instruction set 
> disabled, using 387 arithmetics
> *** Error code 1
> 
> 
> It's interesting something can work with SSE instruction , while some 
> are not , Warnings are treated as errors , if we can safely disable it in some 
> specific occasions.

Dude, the FreeBSD kernel doesn't use floating point, MMX, or SSE.  See 
sys/conf/kern.mk:

# [ ... ]  Explicitly prohibit the use of SSE and other SIMD
# operations inside the kernel itself.  These operations are exclusively
# reserved for user applications.
#
.if ${MACHINE_ARCH} == "i386" && ${CC} != "icc"
CFLAGS+=        -mno-align-long-strings -mpreferred-stack-boundary=2 \
                 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
INLINE_LIMIT?=  8000
.endif

Trying to override the default compiler flags to force it to use SSE is simply 
not going to work.

-- 
-Chuck


More information about the freebsd-questions mailing list