summaryrefslogtreecommitdiff
path: root/mk/rte.cpuflags.mk
diff options
context:
space:
mode:
authorJerin Jacob <jerin.jacob@caviumnetworks.com>2015-11-24 00:15:36 +0530
committerThomas Monjalon <thomas.monjalon@6wind.com>2015-11-25 22:13:15 +0100
commitda8dcc27f644bf5d895adb4a1d7a5aa38c12a10f (patch)
treefc8a06d4e3fabd126175f8ed3ee09702ff28015c /mk/rte.cpuflags.mk
parentf123e3d2ca920ded04aa4346756b937ab88ff699 (diff)
downloaddpdk-da8dcc27f644bf5d895adb4a1d7a5aa38c12a10f.zip
dpdk-da8dcc27f644bf5d895adb4a1d7a5aa38c12a10f.tar.gz
dpdk-da8dcc27f644bf5d895adb4a1d7a5aa38c12a10f.tar.xz
hash: use armv8-a CRC32 instructions
armv8-a has optional CRC32 extension, march=armv8-a+crc enables code generation for the ARMv8-A architecture together with the optional CRC32 extensions. added RTE_MACHINE_CPUFLAG_CRC32 to detect the availability of CRC32 extension in compile time. At run-time, The RTE_CPUFLAG_CRC32 can be used to find the availability. armv8-a+crc target support added in GCC 4.9, Used inline assembly and emulated __ARM_FEATURE_CRC32 to work with tool-chain < 4.9 Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Diffstat (limited to 'mk/rte.cpuflags.mk')
-rw-r--r--mk/rte.cpuflags.mk4
1 files changed, 4 insertions, 0 deletions
diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
index bec7bdd..0a340a9 100644
--- a/mk/rte.cpuflags.mk
+++ b/mk/rte.cpuflags.mk
@@ -111,6 +111,10 @@ ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON_FP),)
CPUFLAGS += NEON
endif
+ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRC32),)
+CPUFLAGS += CRC32
+endif
+
MACHINE_CFLAGS += $(addprefix -DRTE_MACHINE_CPUFLAG_,$(CPUFLAGS))