blob: a03ea0264950259962fd8c75303764cc060422c3 [file] [log] [blame]
Shih-wei Liao462aefd2010-06-04 15:32:04 -07001/* DEF_SUPPORT_TARGET(target, name, default_triple) */
2#ifdef DEF_SUPPORT_TARGET
3 DEF_SUPPORT_TARGET(ARM, "ARM", "armv7-none-linux-gnueabi")
4 DEF_SUPPORT_TARGET(X86, "x86", "i686-unknown-linux")
5 DEF_SUPPORT_TARGET(X64, "x64", "x86_64-unknown-linux")
6# undef DEF_SUPPORT_TARGET
7#endif
8
9/* @id below should be an unique identifier of a feature (i.e. different features should have different @id) even across different targets */
10
11/* DEF_TARGET_FEATURE(target, id, key, description) */
12#ifdef DEF_TARGET_FEATURE
13
14# ifndef HOOK_TARGET_FIRST_FEATURE
15# define HOOK_TARGET_FIRST_FEATURE DEF_TARGET_FEATURE
16# endif
17
18# ifndef HOOK_TARGET_LAST_FEATURE
19# define HOOK_TARGET_LAST_FEATURE DEF_TARGET_FEATURE
20# endif
21
22 HOOK_TARGET_FIRST_FEATURE(ARM, FeatureNEON, "neon", "Enable NEON instructions")
23
24 DEF_TARGET_FEATURE(ARM, FeatureThumb2, "thumb2", "Enable Thumb2 instructions")
25 DEF_TARGET_FEATURE(ARM, ArchV4T, "v4t", "ARM v4T")
26 DEF_TARGET_FEATURE(ARM, ArchV5T, "v5t", "ARM v5T")
27 DEF_TARGET_FEATURE(ARM, ArchV5TE, "v5te", "ARM v5TE, v5TEj, v5TExp")
28 DEF_TARGET_FEATURE(ARM, ArchV6, "v6", "ARM v6")
29 DEF_TARGET_FEATURE(ARM, ArchV6T2, "v6t2", "ARM v6t2")
30 DEF_TARGET_FEATURE(ARM, ArchV7A, "v7a", "ARM v7A")
31 DEF_TARGET_FEATURE(ARM, FeatureVFP2, "vfp2", "Enable VFP2 instructions")
32
33 HOOK_TARGET_LAST_FEATURE(ARM, FeatureVFP3, "vfp3", "Enable VFP3 instructions")
34
35
36# undef DEF_TARGET_FEATURE
37#endif
38#undef HOOK_TARGET_FIRST_FEATURE
39#undef HOOK_TARGET_LAST_FEATURE