diff --git a/pystencils/include/philox_rand.h b/pystencils/include/philox_rand.h
index cda6fd0cff2537d3e3cf345eefbdfec250b8696d..2cc953c4a1621db3123ab6881d40ba96075c9ef0 100644
--- a/pystencils/include/philox_rand.h
+++ b/pystencils/include/philox_rand.h
@@ -16,7 +16,7 @@
 #include <arm_neon.h>
 #endif
 
-#ifdef __powerpc__
+#if defined(__powerpc__) && defined(__GNUC__) && !defined(__clang__) && !defined(__ibmxl__)
 #include <ppu_intrinsics.h>
 #endif
 #ifdef __ALTIVEC__
@@ -46,7 +46,7 @@ QUALIFIERS uint32 mulhilo32(uint32 a, uint32 b, uint32* hip)
 {
 #ifndef __CUDA_ARCH__
     // host code
-#ifdef __powerpc__
+#if defined(__powerpc__) && (!defined(__clang__) || defined(__ibmxl__))
     *hip = __mulhwu(a,b);
     return a*b;
 #else