Add Power8 support to Makefile

pull/507/head
Jeffrey Walton 2017-09-09 20:33:06 -04:00
parent 66c84a9af4
commit 9276b95221
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 24 additions and 5 deletions

View File

@ -30,10 +30,11 @@ else
GREP ?= grep
endif
IS_X86 := $(shell uname -m | $(GREP) -v "x86_64" | $(GREP) -i -c -E "i.86|x86|i86")
IS_X86 := $(shell uname -m | $(GREP) -v "64" | $(GREP) -i -c -E "i.86|x86|i86")
IS_X64 := $(shell uname -m | $(GREP) -i -c -E "(_64|d64)")
IS_PPC := $(shell uname -m | $(GREP) -i -c "ppc|power")
IS_ARM32 := $(shell uname -m | $(GREP) -i -c -E 'armhf|arm7l|eabihf')
IS_PPC32 := $(shell uname -m | $(GREP) -i -v "64" | $(GREP) -i -c -E "ppc|power")
IS_PPC64 := $(shell uname -m | $(GREP) -i -c -E "ppc64|power64")
IS_ARM32 := $(shell uname -m | $(GREP) -i -v "64" | $(GREP) -i -c -E 'armhf|arm7l|eabihf')
IS_ARM64 := $(shell uname -m | $(GREP) -i -c 'aarch64')
IS_ARMV8 ?= $(shell uname -m | $(GREP) -i -c -E 'aarch32|aarch64')
IS_NEON ?= $(shell uname -m | $(GREP) -i -c -E 'armv7|armv8|aarch32|aarch64')
@ -321,11 +322,11 @@ ifeq ($(IS_ARMV8),1)
NEON_FLAG = -march=armv8-a
endif
HAVE_CRC = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a+crc -dM -E - 2>/dev/null | $(GREP) -i -c __ARM_FEATURE_CRC32)
ifeq ($(HAVE_NEON),1)
ifeq ($(HAVE_CRC),1)
CRC_FLAG = -march=armv8-a+crc
endif
HAVE_CRYPTO = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a+crypto -dM -E - 2>/dev/null | $(GREP) -i -c __ARM_FEATURE_CRYPTO)
ifeq ($(HAVE_NEON),1)
ifeq ($(HAVE_CRYPTO),1)
AES_FLAG = -march=armv8-a+crypto
GCM_FLAG = -march=armv8-a+crypto
SHA_FLAG = -march=armv8-a+crypto
@ -333,6 +334,24 @@ ifeq ($(IS_ARMV8),1)
endif
# PowerPC and PowerPC-64
ifneq ($(IS_PPC32)$(IS_PPC64),00)
# GCC and some compatibles
HAVE_CRYPTO = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -mcpu=power8 -dM -E - 2>/dev/null | $(GREP) -i -c __CRYPTO)
ifeq ($(HAVE_CRYPTO),1)
AES_FLAG = -mcpu=power8
GCM_FLAG = -mcpu=power8
SHA_FLAG = -mcpu=power8
endif
# IBM XL C/C++
HAVE_CRYPTO = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr8 -qaltivec rijndael.cpp -dM -E 2>/dev/null | $(GREP) -i -c __CRYPTO)
ifeq ($(HAVE_CRYPTO),1)
AES_FLAG = -qarch=pwr8 -qaltivec
GCM_FLAG = -qarch=pwr8 -qaltivec
SHA_FLAG = -qarch=pwr8 -qaltivec
endif
endif
# IBM XL C/C++ compiler
ifeq ($(XLC_COMPILER),1)
# http://www-01.ibm.com/support/docview.wss?uid=swg21007500
ifeq ($(findstring -qrtti,$(CXXFLAGS)),)