[dpdk-dev] [PATCH 3/6] mk: Ensure correct detection of SSE4.2 on FreeBSD

Bruce Richardson bruce.richardson at intel.com
Thu Jul 17 23:42:24 CEST 2014


On Thu, Jul 17, 2014 at 11:35:46AM +0200, Thomas Monjalon wrote:
> Hi Bruce,
> 
> 2014-07-08 00:36, Bruce Richardson:
> > Add a special case to the native target makefile, where we check if
> > -march=native shows SSE4.2 support. If it does not, then not everything may
> > build, so we check if the hardware supports SSE4.2, and use a corei7 target
> > explicitly to get the SSE4.2 support.
> [...]
> >  MACHINE_CFLAGS = -march=native
> > +
> > +# on FreeBSD systems, sometimes the correct cputype is not picked up.
> > +# To get everything to compile, we need SSE4.2 support, so check if that is
> > +# reported by compiler. If not, check if the CPU actually supports it, and if
> > +# so, set the compilation target to be a corei7, minimum target with SSE4.2
> > +SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E - < /dev/null | grep SSE4_2)
> > +ifeq ($(SSE42_SUPPORT),)
> > +  CPU_SSE42_SUPPORT=$(shell if [ -f /var/run/dmesg.boot ] ; then grep SSE4\.2 /var/run/dmesg.boot ; fi)
> > +  ifneq ($(CPU_SSE42_SUPPORT),)
> > +    MACHINE_CFLAGS= -march=corei7
> > +  endif
> > +endif
> 
> What do you think of this change?
> -  CPU_SSE42_SUPPORT=$(shell if [ -f /var/run/dmesg.boot ] ; then grep SSE4\.2 /var/run/dmesg.boot ; fi)
> +  CPU_SSE42_SUPPORT = $(shell grep SSE4\.2 /var/run/dmesg.boot 2>/dev/null)
> 
> It's simpler and should produce the same result.
> If you agree, I'll change it before applying.
>

I'm going to do up a second version of this patch to also re-enable the
ACL compile on BSD - as you pointed out in your other mail, so I'll include 
this change in a rev 2. That ok?

/Bruce


More information about the dev mailing list