File tree Expand file tree Collapse file tree 3 files changed +9
-8
lines changed
Expand file tree Collapse file tree 3 files changed +9
-8
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- #if defined(SLEEF_FLOAT128_IS_IEEEQP ) || defined(ENABLEFLOAT128 )
19+ #if ( defined(SLEEF_FLOAT128_IS_IEEEQP ) || defined(ENABLEFLOAT128 )) && !defined( _AIX )
2020typedef __float128 Sleef_quad ;
2121#define SLEEF_QUAD_C (x ) (x ## Q)
22- #elif defined(SLEEF_LONGDOUBLE_IS_IEEEQP )
22+ #elif defined(SLEEF_LONGDOUBLE_IS_IEEEQP ) || defined( _AIX )
2323typedef long double Sleef_quad ;
2424#define SLEEF_QUAD_C (x ) (x ## L)
2525#else
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,10 +175,10 @@ typedef struct {
175175#if !defined(Sleef_quad_DEFINED)
176176#define Sleef_quad_DEFINED
177177typedef struct { uint64_t x, y; } Sleef_uint64_2t;
178- #if defined(SLEEF_FLOAT128_IS_IEEEQP) || defined(ENABLEFLOAT128)
178+ #if ( defined(SLEEF_FLOAT128_IS_IEEEQP) || defined(ENABLEFLOAT128)) && !defined(_AIX )
179179typedef __float128 Sleef_quad;
180180#define SLEEF_QUAD_C(x) (x ## Q)
181- #elif defined(SLEEF_LONGDOUBLE_IS_IEEEQP)
181+ #elif defined(SLEEF_LONGDOUBLE_IS_IEEEQP) || defined(_AIX)
182182typedef long double Sleef_quad;
183183#define SLEEF_QUAD_C(x) (x ## L)
184184#else
You can’t perform that action at this time.
0 commit comments