diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/build-data/arch/arm.txt | 7 | ||||
-rw-r--r-- | src/build-data/arch/ppc32.txt | 6 | ||||
-rw-r--r-- | src/build-data/arch/ppc64.txt | 6 | ||||
-rw-r--r-- | src/build-data/arch/x86_32.txt | 14 | ||||
-rw-r--r-- | src/build-data/arch/x86_64.txt | 26 | ||||
-rw-r--r-- | src/build-data/buildh.in | 2 | ||||
-rw-r--r-- | src/build-data/cc/clang.txt | 21 | ||||
-rw-r--r-- | src/build-data/cc/gcc.txt | 37 | ||||
-rw-r--r-- | src/build-data/cc/xlc.txt | 2 | ||||
-rw-r--r-- | src/build-data/makefile/unix.in | 21 | ||||
-rw-r--r-- | src/build-data/makefile/unix_shr.in | 26 | ||||
-rw-r--r-- | src/simd/simd_altivec/simd_altivec.h | 2 | ||||
-rw-r--r-- | src/simd/simd_sse2/simd_sse2.h | 2 | ||||
-rw-r--r-- | src/utils/cpuid.h | 7 |
14 files changed, 94 insertions, 85 deletions
diff --git a/src/build-data/arch/arm.txt b/src/build-data/arch/arm.txt index b822fe130..627ccf25c 100644 --- a/src/build-data/arch/arm.txt +++ b/src/build-data/arch/arm.txt @@ -38,6 +38,7 @@ cortex-a8 -> armv7-a cortex-a9 -> armv7-a </submodel_aliases> -<isa_extn> -neon:armv7-a -</isa_extn> +<isa_extensions> +neon +</isa_extensions> + diff --git a/src/build-data/arch/ppc32.txt b/src/build-data/arch/ppc32.txt index e33c8ff24..2f4ca6723 100644 --- a/src/build-data/arch/ppc32.txt +++ b/src/build-data/arch/ppc32.txt @@ -25,6 +25,6 @@ g4 -> ppc7450 powerpcspe -> e500v2 # for Debian </submodel_aliases> -<isa_extn> -altivec:ppc7400,ppc7450 -</isa_extn> +<isa_extensions> +altivec +</isa_extensions> diff --git a/src/build-data/arch/ppc64.txt b/src/build-data/arch/ppc64.txt index 954d9181e..07436c19d 100644 --- a/src/build-data/arch/ppc64.txt +++ b/src/build-data/arch/ppc64.txt @@ -24,6 +24,6 @@ cellppu cellbroadbandengine -> cellppu </submodel_aliases> -<isa_extn> -altivec:cellppu,ppc970,power6,power7 -</isa_extn> +<isa_extensions> +altivec +</isa_extensions> diff --git a/src/build-data/arch/x86_32.txt b/src/build-data/arch/x86_32.txt index 482a53057..4562050af 100644 --- a/src/build-data/arch/x86_32.txt +++ b/src/build-data/arch/x86_32.txt @@ -61,8 +61,12 @@ intelcput2600 -> prescott intelcput2700 -> prescott </submodel_aliases> -<isa_extn> -sse2:pentium4,prescott,pentium-m,atom32 -ssse3:atom32 -movbe:atom32 -</isa_extn> +<isa_extensions> +sse2 +ssse3 +sse4.1 +sse4.2 +avx2 +aes-ni +clmul +</isa_extensions> diff --git a/src/build-data/arch/x86_64.txt b/src/build-data/arch/x86_64.txt index 8d74a193e..608249101 100644 --- a/src/build-data/arch/x86_64.txt +++ b/src/build-data/arch/x86_64.txt @@ -12,12 +12,11 @@ x64 <submodels> k8 -k10 +barcelona atom nocona core2 -nehalem -westmere +corei7 sandybridge ivybridge </submodels> @@ -27,18 +26,21 @@ core2duo -> core2 intelcore2 -> core2 intelcore2duo -> core2 +nehalem -> corei7 +westmere -> corei7 + sledgehammer -> k8 opteron -> k8 amdopteron -> k8 athlon64 -> k8 -barcelona -> k10 - -corei5cpum520 -> westmere -corei7cpu860 -> nehalem </submodel_aliases> -<isa_extn> -sse2:all -ssse3:core2,nehalem,westmere,atom,sandybridge,ivybridge -aes-ni:westmere,sandybridge,ivybridge -</isa_extn> +<isa_extensions> +sse2 +ssse3 +sse4.1 +sse4.2 +avx2 +aes-ni +clmul +</isa_extensions> diff --git a/src/build-data/buildh.in b/src/build-data/buildh.in index 8be48c295..4e206b192 100644 --- a/src/build-data/buildh.in +++ b/src/build-data/buildh.in @@ -7,7 +7,7 @@ * %{user}@%{hostname} running '%{command_line}' * * Target -* - Compiler: %{cc} %{lib_opt} %{mach_opt} +* - Compiler: %{cc} %{lib_opt} * - Arch: %{submodel}/%{arch} * - OS: %{os} */ diff --git a/src/build-data/cc/clang.txt b/src/build-data/cc/clang.txt index 40bdb0a0b..0af44768b 100644 --- a/src/build-data/cc/clang.txt +++ b/src/build-data/cc/clang.txt @@ -1,5 +1,3 @@ -# Largely copied from the gcc config - macro_name CLANG binary_name clang++ @@ -11,15 +9,15 @@ add_lib_dir_option -L add_lib_option -l lang_flags "-D_REENTRANT -std=c++11" -warning_flags "-W -Wall" +warning_flags "-Wextra -Wall" makefile_style unix lib_opt_flags "-O3" check_opt_flags "-O2" shared_flags "-fPIC" -debug_flags -g -no_debug_flags "-finline-functions" +debug_flags "-g -fno-inline-functions" +no_debug_flags "" visibility_build_flags "-fvisibility=hidden" visibility_attribute '__attribute__((visibility("default")))' @@ -31,10 +29,17 @@ default -> "$(CXX) -shared -fPIC -Wl,-soname,$(SONAME)" darwin -> "$(CXX) -dynamiclib -fPIC -install_name $(LIBDIR)/$(SONAME)" </so_link_flags> +<isa_flags> +"aes-ni" -> "-maes" +"ssse3" -> "-mssse3" +"sse2" -> "-msse2" +</isa_flags> + <mach_opt> -x86_64 -> "-march=SUBMODEL" -nehalem -> "-march=corei7" -westmere -> "-march=corei7 -maes" +x86_64 -> "-march=SUBMODEL" +nehalem -> "-march=corei7" +sandybridge -> "-march=corei7-avx" +ivybridge -> "-march=core-avx-i" </mach_opt> <mach_abi_linking> diff --git a/src/build-data/cc/gcc.txt b/src/build-data/cc/gcc.txt index 59e9671f5..cfa223098 100644 --- a/src/build-data/cc/gcc.txt +++ b/src/build-data/cc/gcc.txt @@ -16,8 +16,7 @@ maintainer_warning_flags "-Werror -Wall -Wextra -Wstrict-aliasing -Wstrict-overf lib_opt_flags "-O3" check_opt_flags "-O2" shared_flags "-fPIC" -debug_flags -g -no_debug_flags "-finline-functions" +debug_flags "-g -fno-inline-functions" visibility_build_flags "-fvisibility=hidden" visibility_attribute '__attribute__((visibility("default")))' @@ -39,22 +38,25 @@ hpux -> "$(CXX) -shared -fPIC -Wl,+h,$(SONAME)" solaris -> "$(CXX) -shared -fPIC -Wl,-h,$(SONAME)" </so_link_flags> +<isa_flags> +"sse2" -> "-msse2" +"ssse3" -> "-mssse3" +"sse4.1" -> "-msse4.1" +"sse4.2" -> "-msse4.2" +"avx" -> "-mavx" +"aes-ni" -> "-maes" +</isa_flags> + <mach_opt> # Avoid using -march=i[345]86, instead tune for generic -i386 -> "-mtune=generic -momit-leaf-frame-pointer" -i486 -> "-mtune=generic -momit-leaf-frame-pointer" -i586 -> "-mtune=generic -momit-leaf-frame-pointer" +i386 -> "-mtune=generic" +i486 -> "-mtune=generic" +i586 -> "-mtune=generic" # Translate to GCC-speak -nehalem -> "-march=corei7 -momit-leaf-frame-pointer" -westmere -> "-march=corei7 -maes -momit-leaf-frame-pointer" - -#nehalem -> "-march=core2 -msse4.1 -msse4.2 -momit-leaf-frame-pointer" -#westmere -> "-march=core2 -msse4.1 -msse4.2 -maes -momit-leaf-frame-pointer" - -sandybridge -> "-march=corei7-avx -momit-leaf-frame-pointer" -ivybridge -> "-march=core-avx-i -momit-leaf-frame-pointer" -atom32 -> "-march=atom -momit-leaf-frame-pointer" +nehalem -> "-march=corei7" +sandybridge -> "-march=corei7-avx" +ivybridge -> "-march=core-avx-i" ppc601 -> "-mpowerpc -mcpu=601" cellppu -> "-mcpu=cell" @@ -83,8 +85,11 @@ ppc32 -> "-mcpu=SUBMODEL" ppc ppc64 -> "-mcpu=SUBMODEL" ppc sparc32 -> "-mcpu=SUBMODEL -Wa,-xarch=v8plus" sparc32- sparc64 -> "-mcpu=v9 -mtune=SUBMODEL" -x86_32 -> "-march=SUBMODEL -momit-leaf-frame-pointer" -x86_64 -> "-march=SUBMODEL -momit-leaf-frame-pointer" +x86_32 -> "-march=SUBMODEL" +x86_64 -> "-march=SUBMODEL" + +all_x86_32 -> "-momit-leaf-frame-pointer" +all_x86_64 -> "-momit-leaf-frame-pointer" </mach_opt> # The 'linking' bit means "use this for both compiling *and* linking" diff --git a/src/build-data/cc/xlc.txt b/src/build-data/cc/xlc.txt index 87b32746b..609439243 100644 --- a/src/build-data/cc/xlc.txt +++ b/src/build-data/cc/xlc.txt @@ -21,8 +21,6 @@ cellppu -> "-qarch=cell" ppc970 -> "-qarch=ppc970" power4 -> "-qarch=pwr4" power5 -> "-qarch=pwr5" - -cellppu -> "-qarch=cell" </mach_opt> <so_link_flags> diff --git a/src/build-data/makefile/unix.in b/src/build-data/makefile/unix.in index 5290beda8..ca881d65d 100644 --- a/src/build-data/makefile/unix.in +++ b/src/build-data/makefile/unix.in @@ -7,6 +7,9 @@ LANG_FLAGS = %{lang_flags} WARN_FLAGS = %{warn_flags} LINK_TO = %{link_to} +LIB_FLAGS = $(LIB_OPT) $(MACH_OPT) $(LANG_FLAGS) $(WARN_FLAGS) +CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS) + # Version Numbers VERSION = %{version} SERIES = %{version_major}.%{version_minor} @@ -38,6 +41,14 @@ RANLIB = %{ranlib_command} RM = @rm -f RM_R = @rm -rf +# Targets +LIBRARIES = $(STATIC_LIB) + +LIBNAME = %{lib_prefix}libbotan +STATIC_LIB = $(LIBNAME)-$(SERIES).a + +all: $(LIBRARIES) + # File Lists CHECK = %{check_prefix}check @@ -47,16 +58,6 @@ LIBOBJS = %{lib_objs} CHECKOBJS = %{check_objs} -LIB_FLAGS = $(LIB_OPT) $(MACH_OPT) $(LANG_FLAGS) $(WARN_FLAGS) -CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS) - -LIBRARIES = $(STATIC_LIB) - -LIBNAME = %{lib_prefix}libbotan -STATIC_LIB = $(LIBNAME)-$(SERIES).a - -all: $(LIBRARIES) - # Build Commands %{lib_build_cmds} diff --git a/src/build-data/makefile/unix_shr.in b/src/build-data/makefile/unix_shr.in index 31060afbb..806969a00 100644 --- a/src/build-data/makefile/unix_shr.in +++ b/src/build-data/makefile/unix_shr.in @@ -2,13 +2,15 @@ CXX = %{cc} LIB_OPT = %{lib_opt} CHECK_OPT = %{check_opt} -MACH_OPT = %{mach_opt} LANG_FLAGS = %{lang_flags} WARN_FLAGS = %{warn_flags} SO_OBJ_FLAGS = %{shared_flags} SO_LINK_CMD = %{so_link} LINK_TO = %{link_to} +LIB_FLAGS = $(LIB_OPT) $(LANG_FLAGS) $(WARN_FLAGS) $(SO_OBJ_FLAGS) +CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS) + # Version Numbers VERSION = %{version} SERIES = %{version_major}.%{version_minor} @@ -40,18 +42,7 @@ RANLIB = %{ranlib_command} RM = @rm -f RM_R = @rm -rf -# File Lists -CHECK = %{check_prefix}check - -HEADERS = %{include_files} - -LIBOBJS = %{lib_objs} - -CHECKOBJS = %{check_objs} - -LIB_FLAGS = $(LIB_OPT) $(MACH_OPT) $(LANG_FLAGS) $(WARN_FLAGS) $(SO_OBJ_FLAGS) -CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS) - +# Targets LIBRARIES = $(STATIC_LIB) $(SHARED_LIB) LIBNAME = %{lib_prefix}libbotan @@ -64,6 +55,15 @@ SYMLINK = $(LIBNAME)-$(SERIES).%{so_suffix} all: $(LIBRARIES) +# File Lists +CHECK = %{check_prefix}check + +HEADERS = %{include_files} + +LIBOBJS = %{lib_objs} + +CHECKOBJS = %{check_objs} + # Build Commands %{lib_build_cmds} diff --git a/src/simd/simd_altivec/simd_altivec.h b/src/simd/simd_altivec/simd_altivec.h index 4c412ddec..f675587bc 100644 --- a/src/simd/simd_altivec/simd_altivec.h +++ b/src/simd/simd_altivec/simd_altivec.h @@ -8,7 +8,7 @@ #ifndef BOTAN_SIMD_ALTIVEC_H__ #define BOTAN_SIMD_ALTIVEC_H__ -#if defined(BOTAN_TARGET_CPU_HAS_ALTIVEC) +#if defined(BOTAN_TARGET_SUPPORTS_ALTIVEC) #include <botan/loadstor.h> #include <botan/cpuid.h> diff --git a/src/simd/simd_sse2/simd_sse2.h b/src/simd/simd_sse2/simd_sse2.h index 61fce99a9..6cbed1df8 100644 --- a/src/simd/simd_sse2/simd_sse2.h +++ b/src/simd/simd_sse2/simd_sse2.h @@ -8,7 +8,7 @@ #ifndef BOTAN_SIMD_SSE_H__ #define BOTAN_SIMD_SSE_H__ -#if defined(BOTAN_TARGET_CPU_HAS_SSE2) +#if defined(BOTAN_TARGET_SUPPORTS_SSE2) #include <botan/cpuid.h> #include <emmintrin.h> diff --git a/src/utils/cpuid.h b/src/utils/cpuid.h index cdc6417ec..14ac6ad39 100644 --- a/src/utils/cpuid.h +++ b/src/utils/cpuid.h @@ -77,12 +77,6 @@ class BOTAN_DLL CPUID { return x86_processor_flags_has(CPUID_PCMUL_BIT); } /** - * Check if the processor supports MOVBE - */ - static bool has_movbe() - { return x86_processor_flags_has(CPUID_MOVBE_BIT); } - - /** * Check if the processor supports RDRAND */ static bool has_rdrand() @@ -100,7 +94,6 @@ class BOTAN_DLL CPUID CPUID_SSSE3_BIT = 41, CPUID_SSE41_BIT = 51, CPUID_SSE42_BIT = 52, - CPUID_MOVBE_BIT = 54, CPUID_AESNI_BIT = 57, CPUID_AVX_BIT = 60, CPUID_RDRAND_BIT = 62 |