Fix older version of gcc - missing __has_builtin, cpuid and no support of P10.
This commit is contained in:
parent
46440a0486
commit
d99aad8ee3
|
@ -11,7 +11,19 @@ endif
|
||||||
|
|
||||||
ifeq ($(CORE), POWER10)
|
ifeq ($(CORE), POWER10)
|
||||||
ifneq ($(C_COMPILER), PGI)
|
ifneq ($(C_COMPILER), PGI)
|
||||||
|
ifeq ($(C_COMPILER), GCC))
|
||||||
|
ifeq ($(GCCVERSIONGTEQ10), 1)
|
||||||
CCOMMON_OPT += -Ofast -mcpu=power10 -mtune=power10 -mvsx -fno-fast-math
|
CCOMMON_OPT += -Ofast -mcpu=power10 -mtune=power10 -mvsx -fno-fast-math
|
||||||
|
else ifneq ($(GCCVERSIONGT4), 1)
|
||||||
|
$(warning your compiler is too old to fully support POWER9, getting a newer version of gcc is recommended)
|
||||||
|
CCOMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -fno-fast-math
|
||||||
|
else
|
||||||
|
$(warning your compiler is too old to fully support POWER10, getting a newer version of gcc is recommended)
|
||||||
|
CCOMMON_OPT += -Ofast -mcpu=power9 -mtune=power9 -mvsx -fno-fast-math
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
CCOMMON_OPT += -Ofast -mcpu=power10 -mtune=power10 -mvsx -fno-fast-math
|
||||||
|
endif
|
||||||
ifeq ($(F_COMPILER), IBM)
|
ifeq ($(F_COMPILER), IBM)
|
||||||
FCOMMON_OPT += -O2 -qrecur -qnosave -qarch=pwr10 -qtune=pwr10 -qfloat=nomaf -qzerosize
|
FCOMMON_OPT += -O2 -qrecur -qnosave -qarch=pwr10 -qtune=pwr10 -qfloat=nomaf -qzerosize
|
||||||
else
|
else
|
||||||
|
|
|
@ -66,8 +66,7 @@ static int cpuid(void)
|
||||||
#endif
|
#endif
|
||||||
return CPU_UNKNOWN;
|
return CPU_UNKNOWN;
|
||||||
}
|
}
|
||||||
#else
|
#elif defined(C_PGI) || defined(__clang__)
|
||||||
#if defined(C_PGI) || defined(__clang__)
|
|
||||||
/*
|
/*
|
||||||
* NV HPC compilers do not yet implement __builtin_cpu_is().
|
* NV HPC compilers do not yet implement __builtin_cpu_is().
|
||||||
* Fake a version here for use in the CPU detection code below.
|
* Fake a version here for use in the CPU detection code below.
|
||||||
|
@ -196,13 +195,21 @@ static int cpuid(void)
|
||||||
cpu_type = pvrPOWER[i].cpu_type;
|
cpu_type = pvrPOWER[i].cpu_type;
|
||||||
return (int)(cpu_type);
|
return (int)(cpu_type);
|
||||||
}
|
}
|
||||||
#endif /* C_PGI */
|
#elif !defined(__BUILTIN_CPU_SUPPORTS__)
|
||||||
|
static int cpuid(void)
|
||||||
|
{
|
||||||
|
return CPU_UNKNOWN;
|
||||||
|
}
|
||||||
#endif /* _AIX */
|
#endif /* _AIX */
|
||||||
|
|
||||||
#ifndef __BUILTIN_CPU_SUPPORTS__
|
#ifndef __BUILTIN_CPU_SUPPORTS__
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if defined(_AIX) || (defined(__has_builtin) && !__has_builtin(__builtin_cpu_is))
|
#ifndef __has_builtin
|
||||||
|
#define __has_builtin(x) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_AIX) || !__has_builtin(__builtin_cpu_is)
|
||||||
static int __builtin_cpu_is(const char *arg)
|
static int __builtin_cpu_is(const char *arg)
|
||||||
{
|
{
|
||||||
static int ipinfo = -1;
|
static int ipinfo = -1;
|
||||||
|
@ -227,7 +234,7 @@ static int __builtin_cpu_is(const char *arg)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_AIX) || (defined(__has_builtin) && !__has_builtin(__builtin_cpu_supports))
|
#if defined(_AIX) || !__has_builtin(__builtin_cpu_supports)
|
||||||
static int __builtin_cpu_supports(const char *arg)
|
static int __builtin_cpu_supports(const char *arg)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue