aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/build-data/cc/xlc.txt14
-rw-r--r--src/lib/utils/compiler.h2
-rw-r--r--src/lib/utils/mul128.h2
3 files changed, 10 insertions, 8 deletions
diff --git a/src/build-data/cc/xlc.txt b/src/build-data/cc/xlc.txt
index 55b9e7092..36eaf29d2 100644
--- a/src/build-data/cc/xlc.txt
+++ b/src/build-data/cc/xlc.txt
@@ -1,4 +1,4 @@
-macro_name IBM_XLC
+macro_name XLC
binary_name xlC
@@ -11,17 +11,19 @@ compile_flags "-c"
debug_info_flags "-g"
optimization_flags "-O2"
-lang_flags ""
+lang_flags "-std=c++11"
makefile_style gmake
<mach_opt>
-cellppu -> "-qarch=cell"
-ppc970 -> "-qarch=ppc970"
-power4 -> "-qarch=pwr4"
-power5 -> "-qarch=pwr5"
+power8 -> "-qarch=pwr8"
+power9 -> "-qarch=pwr9"
</mach_opt>
+<isa_flags>
+altivec -> "-qaltivec"
+</isa_flags>
+
<so_link_commands>
default -> "$(CXX) -qmkshrobj"
</so_link_commands>
diff --git a/src/lib/utils/compiler.h b/src/lib/utils/compiler.h
index 459cb737d..ff7f36571 100644
--- a/src/lib/utils/compiler.h
+++ b/src/lib/utils/compiler.h
@@ -9,7 +9,7 @@
#define BOTAN_UTIL_COMPILER_FLAGS_H_
/* Should we use GCC-style inline assembler? */
-#if !defined(BOTAN_USE_GCC_INLINE_ASM) && defined(__GNUC__)
+#if !defined(BOTAN_USE_GCC_INLINE_ASM) && (defined(__GNUC__) || defined(__xlc__))
#define BOTAN_USE_GCC_INLINE_ASM 1
#endif
diff --git a/src/lib/utils/mul128.h b/src/lib/utils/mul128.h
index ce1ef693b..1e2808254 100644
--- a/src/lib/utils/mul128.h
+++ b/src/lib/utils/mul128.h
@@ -12,7 +12,7 @@
namespace Botan {
-#if defined(__SIZEOF_INT128__) && defined(BOTAN_TARGET_CPU_HAS_NATIVE_64BIT)
+#if defined(__SIZEOF_INT128__) && defined(BOTAN_TARGET_CPU_HAS_NATIVE_64BIT) && !defined(__xlc__)
#define BOTAN_TARGET_HAS_NATIVE_UINT128
// Prefer TI mode over __int128 as GCC rejects the latter in pendantic mode