Fix ARM compile for sm4-simd.cpp
parent
380829284c
commit
26ae1fb7e9
|
|
@ -394,6 +394,7 @@ ifeq ($(IS_NEON),1)
|
||||||
SIMECK_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
SIMECK_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
SIMON_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
SIMON_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
SPECK_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
SPECK_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
|
SM4_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -408,6 +409,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
SIMECK_FLAG = -march=armv8-a
|
SIMECK_FLAG = -march=armv8-a
|
||||||
SIMON_FLAG = -march=armv8-a
|
SIMON_FLAG = -march=armv8-a
|
||||||
SPECK_FLAG = -march=armv8-a
|
SPECK_FLAG = -march=armv8-a
|
||||||
|
SM4_FLAG = -march=armv8-a
|
||||||
endif
|
endif
|
||||||
HAVE_CRC = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a+crc -dM -E - 2>/dev/null | $(GREP) -i -c __ARM_FEATURE_CRC32)
|
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_CRC),1)
|
ifeq ($(HAVE_CRC),1)
|
||||||
|
|
@ -419,6 +421,10 @@ ifeq ($(IS_ARMV8),1)
|
||||||
GCM_FLAG = -march=armv8-a+crypto
|
GCM_FLAG = -march=armv8-a+crypto
|
||||||
SHA_FLAG = -march=armv8-a+crypto
|
SHA_FLAG = -march=armv8-a+crypto
|
||||||
endif
|
endif
|
||||||
|
HAVE_CRYPTO = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8.4-a+crypto -dM -E - 2>/dev/null | $(GREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||||
|
ifeq ($(HAVE_CRYPTO),1)
|
||||||
|
SM4_FLAG = -march=armv8.4-a+crypto
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# PowerPC and PowerPC-64
|
# PowerPC and PowerPC-64
|
||||||
|
|
|
||||||
|
|
@ -276,6 +276,10 @@ ifneq ($(IS_ARMv8),0)
|
||||||
GCM_FLAG = -march=armv8-a+crypto
|
GCM_FLAG = -march=armv8-a+crypto
|
||||||
SHA_FLAG = -march=armv8-a+crypto
|
SHA_FLAG = -march=armv8-a+crypto
|
||||||
endif
|
endif
|
||||||
|
HAVE_CRYPTO := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8.4-a+crypto -dM -E - 2>/dev/null | $(EGREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||||
|
ifeq ($(HAVE_CRYPTO),1)
|
||||||
|
SM4_FLAG = -march=armv8.4-a+crypto
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# i686 and x86_64
|
# i686 and x86_64
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,9 @@
|
||||||
// source file is needed because additional CXXFLAGS are required to enable
|
// source file is needed because additional CXXFLAGS are required to enable
|
||||||
// the appropriate instructions sets in some build configurations.
|
// the appropriate instructions sets in some build configurations.
|
||||||
//
|
//
|
||||||
// Based on Markku-Juhani O. Saarinen work at https://github.com/mjosaarinen/sm4ni.
|
// AES-NI based on Markku-Juhani O. Saarinen work at https://github.com/mjosaarinen/sm4ni.
|
||||||
//
|
//
|
||||||
|
// ARMv8 is upcoming.
|
||||||
|
|
||||||
#include "pch.h"
|
#include "pch.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
@ -25,7 +26,7 @@
|
||||||
# include <wmmintrin.h>
|
# include <wmmintrin.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
|
#if (CRYPTOPP_ARM_NEON_AVAILABLE) && 0
|
||||||
# include <arm_neon.h>
|
# include <arm_neon.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -329,7 +330,7 @@ size_t SM4_Enc_AdvancedProcessBlocks_AESNI(const word32* subKeys, size_t rounds,
|
||||||
}
|
}
|
||||||
#endif // CRYPTOPP_AESNI_AVAILABLE
|
#endif // CRYPTOPP_AESNI_AVAILABLE
|
||||||
|
|
||||||
#if defined(CRYPTOPP_ARM_NEON_AVAILABLE)
|
#if defined(CRYPTOPP_ARM_NEON_AVAILABLE) && 0
|
||||||
size_t SM4_Enc_AdvancedProcessBlocks_NEON(const word32* subKeys, size_t rounds,
|
size_t SM4_Enc_AdvancedProcessBlocks_NEON(const word32* subKeys, size_t rounds,
|
||||||
const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags)
|
const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue