7.2.4 Features for dg-add-options

The supported values of feature for directive dg-add-options are:

arm_fp

__ARM_FP definition. Only ARM targets support this feature, and only then in certain modes; see the arm_fp_ok effective target keyword.

arm_fp_dp

__ARM_FP definition with double-precision support. Only ARM targets support this feature, and only then in certain modes; see the arm_fp_dp_ok effective target keyword.

arm_neon

NEON support. Only ARM targets support this feature, and only then in certain modes; see the arm_neon_ok effective target keyword.

arm_fp16

VFP half-precision floating point support. This does not select the FP16 format; for that, use arm_fp16_ieee or arm_fp16_alternative instead. This feature is only supported by ARM targets and then only in certain modes; see the arm_fp16_ok effective target keyword.

arm_fp16_ieee

ARM IEEE 754-2008 format VFP half-precision floating point support. This feature is only supported by ARM targets and then only in certain modes; see the arm_fp16_ok effective target keyword.

arm_fp16_alternative

ARM Alternative format VFP half-precision floating point support. This feature is only supported by ARM targets and then only in certain modes; see the arm_fp16_ok effective target keyword.

arm_neon_fp16

NEON and half-precision floating point support. Only ARM targets support this feature, and only then in certain modes; see the arm_neon_fp16_ok effective target keyword.

arm_vfp3

arm vfp3 floating point support; see the arm_vfp3_ok effective target keyword.

arm_arch_v8a_hard

Add options for ARMv8-A and the hard-float variant of the AAPCS, if this is supported by the compiler; see the arm_arch_v8a_hard_ok effective target keyword.

arm_v8_1a_neon

Add options for ARMv8.1-A with Adv.SIMD support, if this is supported by the target; see the arm_v8_1a_neon_ok effective target keyword.

arm_v8_2a_fp16_scalar

Add options for ARMv8.2-A with scalar FP16 support, if this is supported by the target; see the arm_v8_2a_fp16_scalar_ok effective target keyword.

arm_v8_2a_fp16_neon

Add options for ARMv8.2-A with Adv.SIMD FP16 support, if this is supported by the target; see the arm_v8_2a_fp16_neon_ok effective target keyword.

arm_v8_2a_dotprod_neon

Add options for ARMv8.2-A with Adv.SIMD Dot Product support, if this is supported by the target; see the arm_v8_2a_dotprod_neon_ok effective target keyword.

arm_fp16fml_neon

Add options to enable generation of the VFMAL and VFMSL instructions, if this is supported by the target; see the arm_fp16fml_neon_ok effective target keyword.

arm_dsp

Add options for ARM DSP intrinsics support, if this is supported by the target; see the arm_dsp_ok effective target keyword.

bind_pic_locally

Add the target-specific flags needed to enable functions to bind locally when using pic/PIC passes in the testsuite.

floatn

Add the target-specific flags needed to use the _Floatn type.

floatnx

Add the target-specific flags needed to use the _Floatnx type.

ieee

Add the target-specific flags needed to enable full IEEE compliance mode.

mips16_attribute

mips16 function attributes. Only MIPS targets support this feature, and only then in certain modes.

stack_size

Add the flags needed to define macro STACK_SIZE and set it to the stack size limit associated with the stack_size effective target.

sqrt_insn

Add the target-specific flags needed to enable hardware square root instructions, if any.

tls

Add the target-specific flags needed to use thread-local storage.

vect_early_break

Add the target-specific flags needed to enable early break vectorization for a target, if any. This requires the target to have an implementation of the cbranch optab.

weak_undefined

Add the flags needed to enable support for weak undefined symbols.