summaryrefslogtreecommitdiff
path: root/cipher/sha256-ppc.c
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2023-02-26 15:33:43 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2023-02-26 15:34:04 +0200
commit937a76a34540bd2558f5b34a98fbe53227000646 (patch)
tree2857979390ab1c74f938dcb63d8eced17af420dc /cipher/sha256-ppc.c
parentf3d1d4a8c9f0df107a57e2cd3699253766d6e45a (diff)
downloadlibgcrypt-937a76a34540bd2558f5b34a98fbe53227000646.tar.gz
ppc: add support for clang target attribute
* configure.ac (gcry_cv_clang_attribute_ppc_target): New. * cipher/chacha20-ppc.c [HAVE_CLANG_ATTRIBUTE_PPC_TARGET] (FUNC_ATTR_TARGET_P8, FUNC_ATTR_TARGET_P9): New. * cipher/rijndael-ppc.c [HAVE_CLANG_ATTRIBUTE_PPC_TARGET] (FPC_OPT_ATTR): New. * cipher/rijndael-ppc9le.c [HAVE_CLANG_ATTRIBUTE_PPC_TARGET] (FPC_OPT_ATTR): New. * cipher/sha256-ppc.c [HAVE_CLANG_ATTRIBUTE_PPC_TARGET] (FUNC_ATTR_TARGET_P8, FUNC_ATTR_TARGET_P9): New. * cipher/sha512-ppc.c [HAVE_CLANG_ATTRIBUTE_PPC_TARGET] (FUNC_ATTR_TARGET_P8, FUNC_ATTR_TARGET_P9): New. (ror64): Remove unused function. -- Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/sha256-ppc.c')
-rw-r--r--cipher/sha256-ppc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cipher/sha256-ppc.c b/cipher/sha256-ppc.c
index 7b17b943..fd69380f 100644
--- a/cipher/sha256-ppc.c
+++ b/cipher/sha256-ppc.c
@@ -48,7 +48,10 @@ typedef vector unsigned long long vector2x_u64;
# define FUNC_ATTR_OPT_O2
#endif
-#ifdef HAVE_GCC_ATTRIBUTE_PPC_TARGET
+#if defined(__clang__) && defined(HAVE_CLANG_ATTRIBUTE_PPC_TARGET)
+# define FUNC_ATTR_TARGET_P8 __attribute__((target("arch=pwr8")))
+# define FUNC_ATTR_TARGET_P9 __attribute__((target("arch=pwr9")))
+#elif defined(HAVE_GCC_ATTRIBUTE_PPC_TARGET)
# define FUNC_ATTR_TARGET_P8 __attribute__((target("cpu=power8")))
# define FUNC_ATTR_TARGET_P9 __attribute__((target("cpu=power9")))
#else