diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 16 | ||||
-rw-r--r-- | include/elf/common.h | 76 |
2 files changed, 64 insertions, 28 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 12fd17b..8fdf30f 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,19 @@ +2020-10-09 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/26703 + * elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ... + (GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED): This. + (GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ... + (GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED): This. + (GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ... + (GNU_PROPERTY_X86_COMPAT_2_ISA_1_XXX): This. + (GNU_PROPERTY_X86_ISA_1_NEEDED): New. + (GNU_PROPERTY_X86_ISA_1_USED): Likewise. + (GNU_PROPERTY_X86_ISA_1_V2): Likewise. + (GNU_PROPERTY_X86_ISA_1_V3): Likewise. + (GNU_PROPERTY_X86_ISA_1_V4): Likewise. + (GNU_PROPERTY_X86_FEATURE_2_MASK): Likewise. + 2020-09-23 Mark Wielaard <mark@klomp.org> Sync with GCC diff --git a/include/elf/common.h b/include/elf/common.h index 571e21a..b3c30e0 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -805,44 +805,31 @@ (GNU_PROPERTY_X86_UINT32_AND_LO + 0) #define GNU_PROPERTY_X86_ISA_1_NEEDED \ - (GNU_PROPERTY_X86_UINT32_OR_LO + 0) + (GNU_PROPERTY_X86_UINT32_OR_LO + 2) #define GNU_PROPERTY_X86_FEATURE_2_NEEDED \ (GNU_PROPERTY_X86_UINT32_OR_LO + 1) #define GNU_PROPERTY_X86_ISA_1_USED \ - (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0) + (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2) #define GNU_PROPERTY_X86_FEATURE_2_USED \ (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1) +/* Baseline: CMOV (cmov) CX8 (cmpxchg8b) FPU (fld), FXSR (fxsave), + SCE (syscall), MMX, SSE and SSE2. */ + +/* GNU_PROPERTY_X86_ISA_1_V2: Baseline, CMPXCHG16B (cmpxchg16b), + LAHF-SAHF (lahf), POPCNT (popcnt), SSE3, SSSE3, SSE4.1 and SSE4.2. */ +#define GNU_PROPERTY_X86_ISA_1_V2 (1U << 0) +/* GNU_PROPERTY_X86_ISA_1_V3: GNU_PROPERTY_X86_ISA_1_V2, AVX, AVX2, BMI1, + BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE. */ +#define GNU_PROPERTY_X86_ISA_1_V3 (1U << 1) +/* GNU_PROPERTY_X86_ISA_1_V4: GNU_PROPERTY_X86_ISA_1_V3, AVX512F, + AVX512BW, AVX512CD, AVX512DQ and AVX512VL. */ +#define GNU_PROPERTY_X86_ISA_1_V4 (1U << 2) + #define GNU_PROPERTY_X86_FEATURE_1_IBT (1U << 0) #define GNU_PROPERTY_X86_FEATURE_1_SHSTK (1U << 1) -#define GNU_PROPERTY_X86_ISA_1_CMOV (1U << 0) -#define GNU_PROPERTY_X86_ISA_1_SSE (1U << 1) -#define GNU_PROPERTY_X86_ISA_1_SSE2 (1U << 2) -#define GNU_PROPERTY_X86_ISA_1_SSE3 (1U << 3) -#define GNU_PROPERTY_X86_ISA_1_SSSE3 (1U << 4) -#define GNU_PROPERTY_X86_ISA_1_SSE4_1 (1U << 5) -#define GNU_PROPERTY_X86_ISA_1_SSE4_2 (1U << 6) -#define GNU_PROPERTY_X86_ISA_1_AVX (1U << 7) -#define GNU_PROPERTY_X86_ISA_1_AVX2 (1U << 8) -#define GNU_PROPERTY_X86_ISA_1_FMA (1U << 9) -#define GNU_PROPERTY_X86_ISA_1_AVX512F (1U << 10) -#define GNU_PROPERTY_X86_ISA_1_AVX512CD (1U << 11) -#define GNU_PROPERTY_X86_ISA_1_AVX512ER (1U << 12) -#define GNU_PROPERTY_X86_ISA_1_AVX512PF (1U << 13) -#define GNU_PROPERTY_X86_ISA_1_AVX512VL (1U << 14) -#define GNU_PROPERTY_X86_ISA_1_AVX512DQ (1U << 15) -#define GNU_PROPERTY_X86_ISA_1_AVX512BW (1U << 16) -#define GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS (1U << 17) -#define GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW (1U << 18) -#define GNU_PROPERTY_X86_ISA_1_AVX512_BITALG (1U << 19) -#define GNU_PROPERTY_X86_ISA_1_AVX512_IFMA (1U << 20) -#define GNU_PROPERTY_X86_ISA_1_AVX512_VBMI (1U << 21) -#define GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2 (1U << 22) -#define GNU_PROPERTY_X86_ISA_1_AVX512_VNNI (1U << 23) -#define GNU_PROPERTY_X86_ISA_1_AVX512_BF16 (1U << 24) - #define GNU_PROPERTY_X86_FEATURE_2_X86 (1U << 0) #define GNU_PROPERTY_X86_FEATURE_2_X87 (1U << 1) #define GNU_PROPERTY_X86_FEATURE_2_MMX (1U << 2) @@ -854,6 +841,39 @@ #define GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT (1U << 8) #define GNU_PROPERTY_X86_FEATURE_2_XSAVEC (1U << 9) #define GNU_PROPERTY_X86_FEATURE_2_TMM (1U << 10) +#define GNU_PROPERTY_X86_FEATURE_2_MASK (1U << 11) + +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED \ + (GNU_PROPERTY_X86_UINT32_OR_LO + 0) + +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED \ + (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0) + +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_CMOV (1U << 0) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_SSE (1U << 1) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_SSE2 (1U << 2) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_SSE3 (1U << 3) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_SSSE3 (1U << 4) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_SSE4_1 (1U << 5) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_SSE4_2 (1U << 6) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX (1U << 7) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX2 (1U << 8) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_FMA (1U << 9) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512F (1U << 10) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512CD (1U << 11) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512ER (1U << 12) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512PF (1U << 13) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512VL (1U << 14) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512DQ (1U << 15) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512BW (1U << 16) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_4FMAPS (1U << 17) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_4VNNIW (1U << 18) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_BITALG (1U << 19) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_IFMA (1U << 20) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_VBMI (1U << 21) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_VBMI2 (1U << 22) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_VNNI (1U << 23) +#define GNU_PROPERTY_X86_COMPAT_2_ISA_1_AVX512_BF16 (1U << 24) /* AArch64 specific GNU PROPERTY. */ #define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 |