Hello,
Per the announcement from gcc, `-march=neoverse-v2’ is a new target available with gcc-13:
A number of new CPUs are supported through the -mcpu and -mtune options
- Ampere-1A (ampere1a).
- Arm Cortex-A715 (cortex-a715).
- Arm Cortex-X1C (cortex-x1c).
- Arm Cortex-X3 (cortex-x3).
- Arm Neoverse V2 (neoverse-v2).
https://gcc.gnu.org/gcc-13/changes.html
Rocky 9.3 is shipped with v11.4.1
$ gcc --version
gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3)
However, I noticed that this version of gcc
did support neoverse-v2
target:
$ gcc -mcpu=neoverse-v2 -E -dM - < /dev/null | grep __ARM
#define __ARM_SIZEOF_WCHAR_T 4
#define __ARM_FEATURE_ATOMICS 1
#define __ARM_FEATURE_RCPC 1
#define __ARM_FEATURE_SVE_VECTOR_OPERATORS 1
#define __ARM_FEATURE_SVE 1
#define __ARM_FEATURE_IDIV 1
#define __ARM_FP 14
#define __ARM_SIZEOF_MINIMAL_ENUM 4
#define __ARM_FEATURE_JCVT 1
#define __ARM_FEATURE_DOTPROD 1
#define __ARM_FEATURE_BF16_SCALAR_ARITHMETIC 1
#define __ARM_FEATURE_MATMUL_INT8 1
#define __ARM_FEATURE_BF16_VECTOR_ARITHMETIC 1
#define __ARM_FEATURE_FRINT 1
#define __ARM_ALIGN_MAX_PWR 28
#define __ARM_FP16_FORMAT_IEEE 1
#define __ARM_FEATURE_FP16_SCALAR_ARITHMETIC 1
#define __ARM_FP16_ARGS 1
#define __ARM_FEATURE_CLZ 1
#define __ARM_FEATURE_MEMORY_TAGGING 1
#define __ARM_FEATURE_QRDMX 1
#define __ARM_64BIT_STATE 1
#define __ARM_FEATURE_FMA 1
#define __ARM_ARCH_PROFILE 65
#define __ARM_FEATURE_COMPLEX 1
#define __ARM_PCS_AAPCS64 1
#define __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 1
#define __ARM_FEATURE_SVE_MATMUL_INT8 1
#define __ARM_ARCH 8
#define __ARM_FEATURE_UNALIGNED 1
#define __ARM_FEATURE_FP16_FML 1
#define __ARM_ARCH_8A 1
#define __ARM_FEATURE_RNG 1
#define __ARM_FEATURE_CRC32 1
#define __ARM_NEON 1
#define __ARM_ALIGN_MAX_STACK_PWR 16
#define __ARM_FEATURE_SVE_BITS 0
#define __ARM_FEATURE_NUMERIC_MAXMIN 1
#define __ARM_FEATURE_SVE2 1
#define __ARM_FEATURE_SVE2_BITPERM 1
#define __ARM_ARCH_ISA_A64 1
Does this imply that the support for neoverse-v2
has been backported to Rocky 9.3 ?
Thanks.