File tree Expand file tree Collapse file tree 3 files changed +11
-4
lines changed
Expand file tree Collapse file tree 3 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -197,7 +197,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
197197 set (COMPILER_SUPPORTS_NEON32VFPV4 1)
198198
199199 set (CLANG_FLAGS_ENABLE_PURECFMA_SCALAR "-mfpu=vfpv4" )
200- elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64" )
200+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)" )
201201 set (SLEEF_ARCH_PPC64 ON CACHE INTERNAL "True for PPC64 architecture." )
202202
203203 set (CLANG_FLAGS_ENABLE_PURECFMA_SCALAR "-mvsx" )
@@ -626,8 +626,9 @@ if(SLEEF_ARCH_PPC64 AND NOT SLEEF_DISABLE_VSX)
626626 string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_VSX} " )
627627 CHECK_C_SOURCE_COMPILES ("
628628 #include <altivec.h>
629- #ifndef __LITTLE_ENDIAN__
630- #error \" Only VSX(ISA2.07) little-endian mode is supported \"
629+ #if !defined(__LITTLE_ENDIAN__) && !defined(_AIX)
630+ #error \" Only VSX(ISA2.07) little-endian mode and AIX is supported \"
631+ #endif
631632 #endif
632633 int main() {
633634 vector double d;
Original file line number Diff line number Diff line change 1616#if !defined(Sleef_quad_DEFINED )
1717#define Sleef_quad_DEFINED
1818typedef struct { uint64_t x , y ; } Sleef_uint64_2t ;
19+ #ifdef _AIX
20+ #undef SLEEF_FLOAT128_IS_IEEEQP
21+ #endif
1922#if defined(SLEEF_FLOAT128_IS_IEEEQP ) || defined(ENABLEFLOAT128 )
2023typedef __float128 Sleef_quad ;
2124#define SLEEF_QUAD_C (x ) (x ## Q)
Original file line number Diff line number Diff line change 6363#include <arm_sve.h>
6464#endif
6565
66- #if defined(__VSX__) && defined(__PPC64__) && defined(__LITTLE_ENDIAN__)
66+ #if ( defined(__VSX__) && defined(__PPC64__) && defined(__LITTLE_ENDIAN__)) || defined(_AIX )
6767#include <altivec.h>
6868typedef __vector double SLEEF_VECTOR_DOUBLE;
6969typedef __vector float SLEEF_VECTOR_FLOAT;
@@ -175,6 +175,9 @@ typedef struct {
175175#if !defined(Sleef_quad_DEFINED)
176176#define Sleef_quad_DEFINED
177177typedef struct { uint64_t x, y; } Sleef_uint64_2t;
178+ #ifdef _AIX
179+ #undef SLEEF_FLOAT128_IS_IEEEQP
180+ #endif
178181#if defined(SLEEF_FLOAT128_IS_IEEEQP) || defined(ENABLEFLOAT128)
179182typedef __float128 Sleef_quad;
180183#define SLEEF_QUAD_C(x) (x ## Q)
You can’t perform that action at this time.
0 commit comments