From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 9FFC76829 for ; Tue, 8 Jul 2014 01:36:41 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 07 Jul 2014 16:31:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.01,621,1400050800"; d="scan'208";a="539962068" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga001.jf.intel.com with ESMTP; 07 Jul 2014 16:37:01 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id s67Nb0Qq029610; Tue, 8 Jul 2014 00:37:00 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id s67Nb0wN006474; Tue, 8 Jul 2014 00:37:00 +0100 Received: (from bricha3@localhost) by sivswdev02.ir.intel.com with id s67Nb0WI006470; Tue, 8 Jul 2014 00:37:00 +0100 From: Bruce Richardson To: dev@dpdk.org Date: Tue, 8 Jul 2014 00:36:56 +0100 Message-Id: <1404776219-6130-4-git-send-email-bruce.richardson@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: <1404776219-6130-1-git-send-email-bruce.richardson@intel.com> References: <1404776219-6130-1-git-send-email-bruce.richardson@intel.com> Subject: [dpdk-dev] [PATCH 3/6] mk: Ensure correct detection of SSE4.2 on FreeBSD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jul 2014 23:36:42 -0000 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. Signed-off-by: Bruce Richardson --- mk/machine/native/rte.vars.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mk/machine/native/rte.vars.mk b/mk/machine/native/rte.vars.mk index da9aa71..f495973 100644 --- a/mk/machine/native/rte.vars.mk +++ b/mk/machine/native/rte.vars.mk @@ -56,3 +56,15 @@ # CPU_ASFLAGS = 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 -- 1.9.3