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

Reply via email to