[dpdk-dev] [PATCH 3/6] mk: Ensure correct detection of SSE4.2 on FreeBSD
Thomas Monjalon
thomas.monjalon at 6wind.com
Thu Jul 17 11:35:46 CEST 2014
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.
Thanks
--
Thomas
More information about the dev
mailing list