Next: Add Options, Previous: Selectors, Up: Test Directives
Effective-target keywords identify sets of targets that support particular functionality. They are used to limit tests to be run only for particular targets, or to specify that particular sets of targets are expected to fail some tests.
Effective-target keywords are defined in lib/target-supports.exp in the GCC testsuite, with the exception of those that are documented as being local to a particular test directory.
The `effective target' takes into account all of the compiler options
with which the test will be compiled, including the multilib options.
By convention, keywords ending in _nocache can also include options
specified for the particular test in an earlier dg-options or
dg-add-options directive.
ilp32int, long, and pointers.
lp64int, 64-bit long and pointers.
llp64int and long, 64-bit long long
and pointers.
double64double.
double64plusdouble that is 64 bits or longer.
longdouble128long double.
int32plusint that is at 32 bits or longer.
int16int that is 16 bits or shorter.
long_neq_intint and long with different sizes.
large_doubledouble that is longer than float.
large_long_doublelong double that is longer than double.
ptr32plussize32plus4byte_wchar_twchar_t that is at least 4 bytes.
fortran_integer_16integer that is 16 bytes or longer.
fortran_large_intinteger kinds larger than integer(8).
fortran_large_realreal kinds larger than real(8).
vect_conditionvect_doubledouble.
vect_floatfloat.
vect_intint.
vect_longlong.
vect_long_longlong long.
vect_aligned_arraysvect_hw_misalignvect_no_alignvect_no_int_maxint.
vect_no_int_addint.
vect_no_bitwisevect_char_multvector char multiplication.
vect_short_multvector short multiplication.
vect_int_multvector int multiplication.
vect_extract_even_oddvect_extract_even_odd_wideSImode or larger.
vect_interleavevect_stridedvect_strided_widevect_permvect_shiftvect_widen_sum_hi_to_sishort operands
into int results, or can promote (unpack) from short
to int.
vect_widen_sum_qi_to_hichar operands
into short results, or can promote (unpack) from char
to short.
vect_widen_sum_qi_to_sichar operands
into int results.
vect_widen_mult_qi_to_hichar operands
into short results, or can promote (unpack) from char to
short and perform non-widening multiplication of short.
vect_widen_mult_hi_to_sishort operands
into int results, or can promote (unpack) from short to
int and perform non-widening multiplication of int.
vect_widen_mult_si_to_di_patternint operands
into long results.
vect_sdot_qisigned char.
vect_udot_qiunsigned char.
vect_sdot_hisigned short.
vect_udot_hiunsigned short.
vect_pack_truncshort to char
and from int to short using modulo arithmetic.
vect_unpackchar to short
and from char to int.
vect_intfloat_cvtsigned int to float.
vect_uintfloat_cvtunsigned int to float.
vect_floatint_cvtfloat to signed int.
vect_floatuint_cvtfloat to unsigned int.
tlstls_nativetls_runtimedfpdfp_nocachedfprtdfprt_nocachehard_dfparm32arm_eabiarm_hf_eabi-mfloat-abi=hard).
arm_hard_vfp_ok-mfpu=vfp -mfloat-abi=hard.
Some multilibs may be incompatible with these options.
arm_iwmmxt_ok-mcpu=iwmmxt.
Some multilibs may be incompatible with this option.
arm_neonarm_tune_string_ops_prefer_neonarm_neon_hwarm_neonv2_hwarm_neon_ok-mfpu=neon -mfloat-abi=softfp or compatible
options. Some multilibs may be incompatible with these options.
arm_neonv2_ok-mfpu=neon-vfpv4 -mfloat-abi=softfp or compatible
options. Some multilibs may be incompatible with these options.
arm_neon_fp16_ok-mfpu=neon-fp16 -mfloat-abi=softfp or compatible
options. Some multilibs may be incompatible with these options.
arm_thumb1_ok-mthumb.
arm_thumb2_ok-mthumb.
arm_vfp_ok-mfpu=vfp -mfloat-abi=softfp.
Some multilibs may be incompatible with these options.
arm_vfp3_ok-mfpu=vfp3 -mfloat-abi=softfp.
Some multilibs may be incompatible with these options.
arm_v8_vfp_ok-mfpu=fp-armv8 -mfloat-abi=softfp.
Some multilibs may be incompatible with these options.
arm_v8_neon_ok-mfpu=neon-fp-armv8 -mfloat-abi=softfp.
Some multilibs may be incompatible with these options.
arm_prefer_ldrd_strdLDRD and STRD instructions over
LDM and STM instructions.
arm_thumb1_movt_ko-mthumb with no
MOVT instruction available.
mips64nomips16mips16_attributemips_loongsonmips_newabi_large_long_doublelong double larger than double
when using the new ABI.
mpaired_single-mpaired-single.
dfp_hwp8vector_hwpowerpc64powerpc_altivecpowerpc_altivec_ok-maltivec.
powerpc_eabi_ok-meabi.
powerpc_elfv2-mabi=elfv2.
powerpc_fprspowerpc_hard_doublepowerpc_htm_ok-mhtm
powerpc_p8vector_ok-mpower8-vector
powerpc_ppu_ok-mcpu=cell.
powerpc_spepowerpc_spe_nocachepowerpc_spupowerpc_vsx_ok-mvsx.
powerpc_405_nocacheppc_recip_hwspu_auto_overlayvmx_hwvsx_hwavxavx instructions.
avx_runtimeavx instructions.
cell_hwcoldfire_fpuhard_floatnon_strict_alignssesse instructions.
sse_runtimesse instructions.
sse2sse2 instructions.
sse2_runtimesse2 instructions.
sync_char_shortchar and short.
sync_int_longint and long.
ultrasparc_hwEM_SPARC executables and chokes on EM_SPARC32PLUS
or EM_SPARCV9 executables.
vect_cmdline_neededpie_copyreloccc++c99_runtimecorrect_iso_cpp_string_wchar_protosstring.h and wchar.h headers provide C++ required
overloads for strchr etc. functions.
dummy_wcsftimewcsftime function that always returns zero.
fd_truncateftruncate or
chsize.
freestandinginit_priorityinttypes_typesinttypes.h.
This is for tests that GCC's notions of these types agree with those
in the header, as some systems have only inttypes.h.
lax_strtofpmempcpymempcpy function.
mmapmmap.
newlibpow10pow10 function.
pthreadpthread.h with no errors or warnings.
pthread_hpthread.h.
run_expensive_testssimulatorstabsstdint_typesstdint.h.
This will be obsolete when GCC ensures a working stdint.h for
all targets.
stpcpystpcpy function.
trampolinesuclibcunwrappedvxworks_kernelvxworks_rtpwcharautomatic_stack_alignmentcxa_atexit__cxa_atexit.
default_packedfgraphitefixed_pointfopenaccfopenmpfpicfreorderfstack_protectorgasgc_sectionsgldkeeps_null_pointer_checksltonaked_functionsnaked function attribute.
named_sectionsnatural_alignment_32target_natural_alignment_64nonpicpie_enabledpcc_bitfield_type_mattersPCC_BITFIELD_TYPE_MATTERS.
pe_aligned_commonspiesection_anchorsshort_enumsstaticstatic_libgfortranstring_mergingucnucn_nocacheunaligned_stackSTACK_BOUNDARY is greater than
or equal to the required vector alignment.
vector_alignment_reachablevector_alignment_reachable_for_64bitwchar_t_char16_t_compatiblewchar_t that is compatible with char16_t.
wchar_t_char32_t_compatiblewchar_t that is compatible with char32_t.
comdat_groupgcc.target/i3863dnow3dnow instructions.
aesaes instructions.
fma4fma4 instructions.
ms_hook_prologuems_hook_prologue.
pclmulpclmul instructions.
sse3sse3 instructions.
sse4sse4 instructions.
sse4asse4a instructions.
ssse3ssse3 instructions.
vaesvaes instructions.
vpclmulvpclmul instructions.
xopxop instructions.
gcc.target/spu/eaealib__ea library functions are available.
gcc.test-frameworknoyes