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