* Re: [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names @ 2016-09-28 2:54 Liu, Yong 2016-10-10 14:25 ` Thomas Monjalon 0 siblings, 1 reply; 6+ messages in thread From: Liu, Yong @ 2016-09-28 2:54 UTC (permalink / raw) To: reshma.pattan; +Cc: dev Tested-by: Yong Liu <yong.liu@intel.com> FangFang Wei <fangfangx.wei@intel.com> - Tested Branch: dpdk/master - Tested Commit: e22856313fff2db12d8e132dad446bbf74cf29a5 - CPU: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz - Default x86_64-native-linuxapp-gcc configuration - Prerequisites: - Total 1 cases, 1 passed, 0 failed - Prerequisites command / instruction: N/A - Case: Description: Build test on different distributions Command / instruction: Verify build pass on listed distributions. OS GCC Kernel Ubuntu 16.04 5.4.0 4.4.0-36-generic Fedora23 5.3.1 4.2.3-300 Fedora24 6.1.1 4.6.4-301 Ubuntu 12.04 4.6.3 3.8.0-29 Ubuntu 12.04 i686 4.6.3 3.8.0-29 Ubuntu 14.04 4.8.4 3.16.0-30 Ubuntu 14.04 i686 4.8.4 3.16.0-30 Fedora18 4.7.2 3.6.10-4 Fedora18 i686 4.7.2 3.6.10-4 Fedora20 4.8.2 3.15.6-200 Fedora20 i686 4.8.3 3.11.0 Suse11SP2 4.5.1 3.0.13-0.2 Suse12SP3 4.7.2 3.7.10-1.1 RHEL7.0 4.8.2 3.10.0-123 RHEL7.2 4.8.5 3.10.0-327 CentOS7.0 4.8.5 3.10.0-327 FreeBSD10.0 4.8.4 10.0-RELEASE FreeBSD10.3 4.8.5 10.3-RELEASE ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names 2016-09-28 2:54 [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names Liu, Yong @ 2016-10-10 14:25 ` Thomas Monjalon 2016-10-10 15:21 ` Pattan, Reshma 0 siblings, 1 reply; 6+ messages in thread From: Thomas Monjalon @ 2016-10-10 14:25 UTC (permalink / raw) To: Liu, Yong, reshma.pattan; +Cc: dev 2016-09-28 10:54, Liu, Yong: > Tested-by: Yong Liu <yong.liu@intel.com> > FangFang Wei <fangfangx.wei@intel.com> [...] > Description: Build test on different distributions > Command / instruction: > Verify build pass on listed distributions. > > OS GCC Kernel > Ubuntu 16.04 5.4.0 4.4.0-36-generic > Fedora23 5.3.1 4.2.3-300 > Fedora24 6.1.1 4.6.4-301 > Ubuntu 12.04 4.6.3 3.8.0-29 > Ubuntu 12.04 i686 4.6.3 3.8.0-29 > Ubuntu 14.04 4.8.4 3.16.0-30 > Ubuntu 14.04 i686 4.8.4 3.16.0-30 > Fedora18 4.7.2 3.6.10-4 > Fedora18 i686 4.7.2 3.6.10-4 > Fedora20 4.8.2 3.15.6-200 > Fedora20 i686 4.8.3 3.11.0 > Suse11SP2 4.5.1 3.0.13-0.2 > Suse12SP3 4.7.2 3.7.10-1.1 > RHEL7.0 4.8.2 3.10.0-123 > RHEL7.2 4.8.5 3.10.0-327 > CentOS7.0 4.8.5 3.10.0-327 > FreeBSD10.0 4.8.4 10.0-RELEASE > FreeBSD10.3 4.8.5 10.3-RELEASE I do not understand this test. This patch is dropping a lot of optimizations with compilers older than 4.9 ! Why not recommend GCC 4.9 and keep the graceful degradation for older versions, at least for one more year, even if it is not optimal for newer architectures? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names 2016-10-10 14:25 ` Thomas Monjalon @ 2016-10-10 15:21 ` Pattan, Reshma 2016-10-10 17:09 ` Thomas Monjalon 0 siblings, 1 reply; 6+ messages in thread From: Pattan, Reshma @ 2016-10-10 15:21 UTC (permalink / raw) To: Thomas Monjalon, Liu, Yong; +Cc: dev Hi Thomas > -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > Sent: Monday, October 10, 2016 3:26 PM > To: Liu, Yong <yong.liu@intel.com>; Pattan, Reshma > <reshma.pattan@intel.com> > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors > code names > > 2016-09-28 10:54, Liu, Yong: > > Tested-by: Yong Liu <yong.liu@intel.com> > > FangFang Wei <fangfangx.wei@intel.com> > [...] > > Description: Build test on different distributions > > Command / instruction: > > Verify build pass on listed distributions. > > > > OS GCC Kernel > > Ubuntu 16.04 5.4.0 4.4.0-36-generic > > Fedora23 5.3.1 4.2.3-300 > > Fedora24 6.1.1 4.6.4-301 > > Ubuntu 12.04 4.6.3 3.8.0-29 > > Ubuntu 12.04 i686 4.6.3 3.8.0-29 > > Ubuntu 14.04 4.8.4 3.16.0-30 > > Ubuntu 14.04 i686 4.8.4 3.16.0-30 > > Fedora18 4.7.2 3.6.10-4 > > Fedora18 i686 4.7.2 3.6.10-4 > > Fedora20 4.8.2 3.15.6-200 > > Fedora20 i686 4.8.3 3.11.0 > > Suse11SP2 4.5.1 3.0.13-0.2 > > Suse12SP3 4.7.2 3.7.10-1.1 > > RHEL7.0 4.8.2 3.10.0-123 > > RHEL7.2 4.8.5 3.10.0-327 > > CentOS7.0 4.8.5 3.10.0-327 > > FreeBSD10.0 4.8.4 10.0-RELEASE > > FreeBSD10.3 4.8.5 10.3-RELEASE > > I do not understand this test. > This patch is dropping a lot of optimizations with compilers older than 4.9 ! > > Why not recommend GCC 4.9 and keep the graceful degradation for older > versions, at least for one more year, even if it is not optimal for newer > architectures? I am ok with the idea, so should I send latest patch by keeping the code in mk/toolchain/gcc/rte.toolchain-compat.mk untouched/intact? Thanks, Reshma ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names 2016-10-10 15:21 ` Pattan, Reshma @ 2016-10-10 17:09 ` Thomas Monjalon 0 siblings, 0 replies; 6+ messages in thread From: Thomas Monjalon @ 2016-10-10 17:09 UTC (permalink / raw) To: Pattan, Reshma; +Cc: Liu, Yong, dev 2016-10-10 15:21, Pattan, Reshma: > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > Why not recommend GCC 4.9 and keep the graceful degradation for older > > versions, at least for one more year, even if it is not optimal for newer > > architectures? > > I am ok with the idea, so should I send latest patch by keeping the code in > mk/toolchain/gcc/rte.toolchain-compat.mk untouched/intact? Yes please. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [dpdk-dev] [PATCH] mk: gcc -march support for intel processors code names @ 2016-08-15 15:02 Reshma Pattan 2016-08-22 14:19 ` [dpdk-dev] [PATCH v2] " Reshma Pattan 0 siblings, 1 reply; 6+ messages in thread From: Reshma Pattan @ 2016-08-15 15:02 UTC (permalink / raw) To: dev; +Cc: Reshma Pattan The GCC 4.9 -march option supports the intel code names for processors, for example -march=silvermont, -march=broadwell. The RTE_MACHINE config flag can be used to pass code name to the compiler as -march flag. Also old gcc versions compatibility code for the intel platform is removed from mk/toolchain/gcc/rte.toolchain-compat.mk Release notes is updated. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> --- doc/guides/rel_notes/release_16_11.rst | 5 ++++ mk/target/generic/rte.vars.mk | 4 +++ mk/toolchain/gcc/rte.toolchain-compat.mk | 47 ++------------------------------ 3 files changed, 11 insertions(+), 45 deletions(-) diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst index 0b9022d..9f58133 100644 --- a/doc/guides/rel_notes/release_16_11.rst +++ b/doc/guides/rel_notes/release_16_11.rst @@ -36,6 +36,11 @@ New Features This section is a comment. Make sure to start the actual text at the margin. +* **Added support for new gcc -march option.** + + The GCC 4.9 ``-march`` option supports the Intel processor code names. + The config option ``RTE_MACHINE`` can be used to pass code names to the compiler as ``-march`` flag. + Resolved Issues --------------- diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk index 75a616a..b31e426 100644 --- a/mk/target/generic/rte.vars.mk +++ b/mk/target/generic/rte.vars.mk @@ -50,7 +50,11 @@ # - can define CPU_ASFLAGS variable (overriden by cmdline value) that # overrides the one defined in arch. # +ifneq ($(wildcard $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk),) include $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk +else +MACHINE_CFLAGS := -march=$(RTE_MACHINE) +endif # # arch: diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk index 6eed20c..7f23721 100644 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk @@ -42,51 +42,8 @@ GCC_MAJOR = $(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1) GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1) GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR) -# if GCC is older than 4.x -ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1) - MACHINE_CFLAGS = -$(warning You are using GCC < 4.x. This is neither supported, nor tested.) - - -else -# GCC graceful degradation -# GCC 4.2.x - added support for generic target -# GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2 -# GCC 4.4.x - added support for avx, aes, pclmul -# GCC 4.5.x - added support for atom -# GCC 4.6.x - added support for corei7, corei7-avx -# GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2 # GCC 4.9.x - added support for armv8-a+crc # - ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -le 47 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -lt 46 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -lt 45 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -lt 44 && echo 1), 1) - MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS)) - ifneq ($(findstring SSE4_2, $(CPUFLAGS)),) - MACHINE_CFLAGS += -msse4.2 - endif - ifneq ($(findstring SSE4_1, $(CPUFLAGS)),) - MACHINE_CFLAGS += -msse4.1 - endif - endif - ifeq ($(shell test $(GCC_VERSION) -lt 43 && echo 1), 1) - MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS += -msse3 - endif - ifeq ($(shell test $(GCC_VERSION) -lt 42 && echo 1), 1) - MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS)) - endif +ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1) +MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS)) endif -- 2.7.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names 2016-08-15 15:02 [dpdk-dev] [PATCH] " Reshma Pattan @ 2016-08-22 14:19 ` Reshma Pattan 2016-09-02 14:17 ` Pattan, Reshma 0 siblings, 1 reply; 6+ messages in thread From: Reshma Pattan @ 2016-08-22 14:19 UTC (permalink / raw) To: dev; +Cc: Reshma Pattan The GCC 4.9 -march option supports the intel code names for processors, for example -march=silvermont, -march=broadwell. The RTE_MACHINE config flag can be used to pass code name to the compiler as -march flag. Also old gcc versions compatibility code for the intel platform is removed from mk/toolchain/gcc/rte.toolchain-compat.mk Release notes is updated. Linux and FreeBSD getting started guides are updated with recommended gcc version as 4.9 and above. Some of the gmake command examples in sample application guide and driver guides are updated with gcc version as 4.9. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> --- doc/guides/freebsd_gsg/build_dpdk.rst | 4 +-- doc/guides/freebsd_gsg/build_sample_apps.rst | 6 ++-- doc/guides/linux_gsg/sys_reqs.rst | 6 ++-- doc/guides/nics/bnx2x.rst | 4 +-- doc/guides/nics/qede.rst | 2 +- doc/guides/rel_notes/release_16_11.rst | 5 +++ mk/target/generic/rte.vars.mk | 4 +++ mk/toolchain/gcc/rte.toolchain-compat.mk | 47 ++-------------------------- 8 files changed, 22 insertions(+), 56 deletions(-) v2: Updated Linux and FreeBSD gsg guides, sample application guide and other driver doc with recommended gcc version as 4.9 and above. diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst index 93c4366..7d5e9dc 100644 --- a/doc/guides/freebsd_gsg/build_dpdk.rst +++ b/doc/guides/freebsd_gsg/build_dpdk.rst @@ -88,7 +88,7 @@ The ports required and their locations are as follows: For compiling and using the DPDK with gcc, the compiler must be installed from the ports collection: -* gcc: version 4.8 is recommended ``/usr/ports/lang/gcc48``. +* gcc: version 4.9 is recommended ``/usr/ports/lang/gcc49``. Ensure that ``CPU_OPTS`` is selected (default is OFF). When running the make config-recursive command, a dialog may be presented to the @@ -168,7 +168,7 @@ For example to compile for FreeBSD use: If the compiler binary to be used does not correspond to that given in the TOOLCHAIN part of the target, the compiler command may need to be explicitly specified. For example, if compiling for gcc, where the gcc binary is called - gcc4.8, the command would need to be ``gmake install T=<target> CC=gcc4.8``. + gcc4.9, the command would need to be ``gmake install T=<target> CC=gcc4.9``. Browsing the Installed DPDK Environment Target ---------------------------------------------- diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst index 2662303..fffc4c0 100644 --- a/doc/guides/freebsd_gsg/build_sample_apps.rst +++ b/doc/guides/freebsd_gsg/build_sample_apps.rst @@ -54,7 +54,7 @@ the following variables must be exported: The following is an example of creating the ``helloworld`` application, which runs in the DPDK FreeBSD environment. While the example demonstrates compiling -using gcc version 4.8, compiling with clang will be similar, except that the ``CC=`` +using gcc version 4.9, compiling with clang will be similar, except that the ``CC=`` parameter can probably be omitted. The ``helloworld`` example may be found in the ``${RTE_SDK}/examples`` directory. @@ -72,7 +72,7 @@ in the build directory. setenv RTE_SDK $HOME/DPDK setenv RTE_TARGET x86_64-native-bsdapp-gcc - gmake CC=gcc48 + gmake CC=gcc49 CC main.o LD helloworld INSTALL-APP helloworld @@ -96,7 +96,7 @@ in the build directory. cd my_rte_app/ setenv RTE_TARGET x86_64-native-bsdapp-gcc - gmake CC=gcc48 + gmake CC=gcc49 CC main.o LD helloworld INSTALL-APP helloworld diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index b321544..3d74342 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -61,8 +61,8 @@ Compilation of the DPDK * coreutils: ``cmp``, ``sed``, ``grep``, ``arch``, etc. -* gcc: versions 4.5.x or later is recommended for ``i686/x86_64``. Versions 4.8.x or later is recommended - for ``ppc_64`` and ``x86_x32`` ABI. On some distributions, some specific compiler flags and linker flags are enabled by +* gcc: versions 4.9 or later is recommended for all platforms. + On some distributions, some specific compiler flags and linker flags are enabled by default and affect performance (``-fstack-protector``, for example). Please refer to the documentation of your distribution and to ``gcc -dumpspecs``. @@ -82,7 +82,7 @@ Compilation of the DPDK .. note:: x86_x32 ABI is currently supported with distribution packages only on Ubuntu - higher than 13.10 or recent Debian distribution. The only supported compiler is gcc 4.8+. + higher than 13.10 or recent Debian distribution. The only supported compiler is gcc 4.9+. .. note:: diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst index 6453168..6d1768a 100644 --- a/doc/guides/nics/bnx2x.rst +++ b/doc/guides/nics/bnx2x.rst @@ -162,7 +162,7 @@ To compile BNX2X PMD for FreeBSD x86_64 gcc target, run the following "gmake" command:: cd <DPDK-source-directory> - gmake config T=x86_64-native-bsdapp-gcc install -Wl,-rpath=/usr/local/lib/gcc48 CC=gcc48 + gmake config T=x86_64-native-bsdapp-gcc install -Wl,-rpath=/usr/local/lib/gcc49 CC=gcc49 To compile BNX2X PMD for FreeBSD x86_64 gcc target, run the following "gmake" command: @@ -170,7 +170,7 @@ command: .. code-block:: console cd <DPDK-source-directory> - gmake config T=x86_64-native-bsdapp-gcc install -Wl,-rpath=/usr/local/lib/gcc48 CC=gcc48 + gmake config T=x86_64-native-bsdapp-gcc install -Wl,-rpath=/usr/local/lib/gcc49 CC=gcc49 Linux ----- diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst index 53d749c..3af755e 100644 --- a/doc/guides/nics/qede.rst +++ b/doc/guides/nics/qede.rst @@ -150,7 +150,7 @@ command:: cd <DPDK-source-directory> gmake config T=x86_64-native-bsdapp-gcc install -Wl,-rpath=\ - /usr/local/lib/gcc48 CC=gcc48 + /usr/local/lib/gcc49 CC=gcc49 Sample Application Notes diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst index 0b9022d..9f58133 100644 --- a/doc/guides/rel_notes/release_16_11.rst +++ b/doc/guides/rel_notes/release_16_11.rst @@ -36,6 +36,11 @@ New Features This section is a comment. Make sure to start the actual text at the margin. +* **Added support for new gcc -march option.** + + The GCC 4.9 ``-march`` option supports the Intel processor code names. + The config option ``RTE_MACHINE`` can be used to pass code names to the compiler as ``-march`` flag. + Resolved Issues --------------- diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk index 75a616a..b31e426 100644 --- a/mk/target/generic/rte.vars.mk +++ b/mk/target/generic/rte.vars.mk @@ -50,7 +50,11 @@ # - can define CPU_ASFLAGS variable (overriden by cmdline value) that # overrides the one defined in arch. # +ifneq ($(wildcard $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk),) include $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk +else +MACHINE_CFLAGS := -march=$(RTE_MACHINE) +endif # # arch: diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk index 6eed20c..7f23721 100644 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk @@ -42,51 +42,8 @@ GCC_MAJOR = $(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1) GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1) GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR) -# if GCC is older than 4.x -ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1) - MACHINE_CFLAGS = -$(warning You are using GCC < 4.x. This is neither supported, nor tested.) - - -else -# GCC graceful degradation -# GCC 4.2.x - added support for generic target -# GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2 -# GCC 4.4.x - added support for avx, aes, pclmul -# GCC 4.5.x - added support for atom -# GCC 4.6.x - added support for corei7, corei7-avx -# GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2 # GCC 4.9.x - added support for armv8-a+crc # - ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -le 47 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -lt 46 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -lt 45 && echo 1), 1) - MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS)) - endif - ifeq ($(shell test $(GCC_VERSION) -lt 44 && echo 1), 1) - MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS)) - ifneq ($(findstring SSE4_2, $(CPUFLAGS)),) - MACHINE_CFLAGS += -msse4.2 - endif - ifneq ($(findstring SSE4_1, $(CPUFLAGS)),) - MACHINE_CFLAGS += -msse4.1 - endif - endif - ifeq ($(shell test $(GCC_VERSION) -lt 43 && echo 1), 1) - MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS)) - MACHINE_CFLAGS += -msse3 - endif - ifeq ($(shell test $(GCC_VERSION) -lt 42 && echo 1), 1) - MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS)) - endif +ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1) +MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS)) endif -- 2.7.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names 2016-08-22 14:19 ` [dpdk-dev] [PATCH v2] " Reshma Pattan @ 2016-09-02 14:17 ` Pattan, Reshma 0 siblings, 0 replies; 6+ messages in thread From: Pattan, Reshma @ 2016-09-02 14:17 UTC (permalink / raw) To: dev Hi, Gentle remainder for review. Thanks, Reshma ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-10-10 17:09 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-09-28 2:54 [dpdk-dev] [PATCH v2] mk: gcc -march support for intel processors code names Liu, Yong 2016-10-10 14:25 ` Thomas Monjalon 2016-10-10 15:21 ` Pattan, Reshma 2016-10-10 17:09 ` Thomas Monjalon -- strict thread matches above, loose matches on Subject: below -- 2016-08-15 15:02 [dpdk-dev] [PATCH] " Reshma Pattan 2016-08-22 14:19 ` [dpdk-dev] [PATCH v2] " Reshma Pattan 2016-09-02 14:17 ` Pattan, Reshma
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).