x86: Update GNU_PROPERTY_X86_XXX macros
[deliverable/binutils-gdb.git] / include / elf / common.h
index 55c5505bac9f09b7e2c58bf77350c1ece90e7023..961d022a1b85ce6f4bddae5518f1aded639f6b9e 100644 (file)
 /* Application-specific semantics, hi */
 #define GNU_PROPERTY_HIUSER  0xffffffff
 
-#define GNU_PROPERTY_X86_ISA_1_USED            0xc0000000
-#define GNU_PROPERTY_X86_ISA_1_NEEDED          0xc0000001
-#define GNU_PROPERTY_X86_FEATURE_1_AND         0xc0000002
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_USED     0xc0000000
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED   0xc0000001
+
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_486      (1U << 0)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_586      (1U << 1)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_686      (1U << 2)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_SSE      (1U << 3)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_SSE2     (1U << 4)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_SSE3     (1U << 5)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_SSSE3    (1U << 6)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_SSE4_1   (1U << 7)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_SSE4_2   (1U << 8)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX      (1U << 9)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX2     (1U << 10)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512F  (1U << 11)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512CD (1U << 12)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512ER (1U << 13)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512PF (1U << 14)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512VL (1U << 15)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512DQ (1U << 16)
+#define GNU_PROPERTY_X86_COMPAT_ISA_1_AVX512BW (1U << 17)
+
+/* A 4-byte unsigned integer property: A bit is set if it is set in all
+   relocatable inputs.  */
+#define GNU_PROPERTY_X86_UINT32_AND_LO         0xc0000002
+#define GNU_PROPERTY_X86_UINT32_AND_HI         0xc0007fff
+
+/* A 4-byte unsigned integer property: A bit is set if it is set in any
+   relocatable inputs.  */
+#define GNU_PROPERTY_X86_UINT32_OR_LO          0xc0008000
+#define GNU_PROPERTY_X86_UINT32_OR_HI          0xc000ffff
+
+/* A 4-byte unsigned integer property: A bit is set if it is set in any
+   relocatable inputs and the property is present in all relocatable
+   inputs.  */
+#define GNU_PROPERTY_X86_UINT32_OR_AND_LO      0xc0010000
+#define GNU_PROPERTY_X86_UINT32_OR_AND_HI      0xc0017fff
+
+#define GNU_PROPERTY_X86_FEATURE_1_AND \
+  (GNU_PROPERTY_X86_UINT32_AND_LO + 0)
+
+#define GNU_PROPERTY_X86_ISA_1_NEEDED \
+  (GNU_PROPERTY_X86_UINT32_OR_LO + 0)
+#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)
+#define GNU_PROPERTY_X86_FEATURE_2_USED \
+  (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1)
 
 /* Set by linker to indicate that the property is valid.  */
 #define GNU_PROPERTY_X86_UINT32_VALID          (1U << 31)
 
-#define GNU_PROPERTY_X86_ISA_1_486           (1U << 0)
-#define GNU_PROPERTY_X86_ISA_1_586           (1U << 1)
-#define GNU_PROPERTY_X86_ISA_1_686           (1U << 2)
-#define GNU_PROPERTY_X86_ISA_1_SSE           (1U << 3)
-#define GNU_PROPERTY_X86_ISA_1_SSE2          (1U << 4)
-#define GNU_PROPERTY_X86_ISA_1_SSE3          (1U << 5)
-#define GNU_PROPERTY_X86_ISA_1_SSSE3         (1U << 6)
-#define GNU_PROPERTY_X86_ISA_1_SSE4_1        (1U << 7)
-#define GNU_PROPERTY_X86_ISA_1_SSE4_2        (1U << 8)
-#define GNU_PROPERTY_X86_ISA_1_AVX           (1U << 9)
-#define GNU_PROPERTY_X86_ISA_1_AVX2          (1U << 10)
-#define GNU_PROPERTY_X86_ISA_1_AVX512F       (1U << 11)
-#define GNU_PROPERTY_X86_ISA_1_AVX512CD      (1U << 12)
-#define GNU_PROPERTY_X86_ISA_1_AVX512ER      (1U << 13)
-#define GNU_PROPERTY_X86_ISA_1_AVX512PF      (1U << 14)
-#define GNU_PROPERTY_X86_ISA_1_AVX512VL      (1U << 15)
-#define GNU_PROPERTY_X86_ISA_1_AVX512DQ      (1U << 16)
-#define GNU_PROPERTY_X86_ISA_1_AVX512BW      (1U << 17)
-
-#define GNU_PROPERTY_X86_FEATURE_1_IBT       (1U << 0)
-#define GNU_PROPERTY_X86_FEATURE_1_SHSTK     (1U << 1)
+#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_FEATURE_2_X86         (1U << 0)
+#define GNU_PROPERTY_X86_FEATURE_2_X87         (1U << 1)
+#define GNU_PROPERTY_X86_FEATURE_2_MMX         (1U << 2)
+#define GNU_PROPERTY_X86_FEATURE_2_XMM         (1U << 3)
+#define GNU_PROPERTY_X86_FEATURE_2_YMM         (1U << 4)
+#define GNU_PROPERTY_X86_FEATURE_2_ZMM         (1U << 5)
+#define GNU_PROPERTY_X86_FEATURE_2_FXSR                (1U << 6)
+#define GNU_PROPERTY_X86_FEATURE_2_XSAVE       (1U << 7)
+#define GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT    (1U << 8)
+#define GNU_PROPERTY_X86_FEATURE_2_XSAVEC      (1U << 9)
 
 /* Values used in GNU .note.ABI-tag notes (NT_GNU_ABI_TAG).  */
 #define GNU_ABI_TAG_LINUX      0
This page took 0.029874 seconds and 4 git commands to generate.