amd64 default CFLAGS

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Wed Mar 9 10:59:13 PST 2005


On Wed, Mar 09, 2005 at 05:01:00PM +0000, Kris Kennaway wrote:
> On Wed, Mar 09, 2005 at 10:27:49AM +0100, Divacky Roman wrote:
> > hi,
> > 
> > why is it necessary (if its at all) to have this: 
> > -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow in default CFLAGS for amd64
> > architecture?
> 
> This is the default COPTFLAGS, not CFLAGS, right?  You can't use
> special instructions like sse in the kernel because they require extra
> register state operations that would cost performance.

(from sys/conf/kern.mk)
CFLAGS+= -mcmodel=kernel -mno-red-zone \
         -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow \
	 -msoft-float -fno-asynchronous-unwind-tables

I'd call it CFLAGS ;)

(from sys/i386/i386/support.s)
ENTRY(sse2_pagezero)

isnt this use of sse in kernel?

why is it allowed in this case and not allowed in general. any measurements how
much does it hurt performance?

roman


More information about the freebsd-current mailing list