x86: Support GNU_PROPERTY_X86_FEATURE_2_TMM

Support GNU_PROPERTY_X86_FEATURE_2_TMM in

https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/1

 #define GNU_PROPERTY_X86_FEATURE_2_TMM      (1U << 10)

binutils/

	* readelf.c (decode_x86_feature_2): Handle
	GNU_PROPERTY_X86_FEATURE_2_TMM.

gas/

	* config/tc-i386.c (output_insn): Check i.xstate to set
	GNU_PROPERTY_X86_FEATURE_2_TMM.
	* testsuite/gas/i386/i386.exp: Run x86-64-property-7,
	x86-64-property-8 and x86-64-property-9.
	* testsuite/gas/i386/x86-64-property-7.d: New file.
	* testsuite/gas/i386/x86-64-property-7.s: Likewise.
	* testsuite/gas/i386/x86-64-property-8.d: Likewise.
	* testsuite/gas/i386/x86-64-property-8.s: Likewise.
	* testsuite/gas/i386/x86-64-property-9.d: Likewise.
	* testsuite/gas/i386/x86-64-property-9.s: Likewise.

include/

	* elf/common.h (GNU_PROPERTY_X86_FEATURE_2_TMM): New.
This commit is contained in:
H.J. Lu 2020-07-11 04:04:08 -07:00
parent ee9cb95ea1
commit a308b89de7
13 changed files with 66 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2020-07-11 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (decode_x86_feature_2): Handle
GNU_PROPERTY_X86_FEATURE_2_TMM.
2020-07-10 Tom de Vries <tdevries@suse.de>
* dwarf.c (display_debug_lines_decoded): Don't emit meaningless

View File

@ -18183,6 +18183,9 @@ decode_x86_feature_2 (unsigned int bitmask)
case GNU_PROPERTY_X86_FEATURE_2_ZMM:
printf ("ZMM");
break;
case GNU_PROPERTY_X86_FEATURE_2_TMM:
printf ("TMM");
break;
case GNU_PROPERTY_X86_FEATURE_2_FXSR:
printf ("FXSR");
break;

View File

@ -1,3 +1,16 @@
2020-07-11 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (output_insn): Check i.xstate to set
GNU_PROPERTY_X86_FEATURE_2_TMM.
* testsuite/gas/i386/i386.exp: Run x86-64-property-7,
x86-64-property-8 and x86-64-property-9.
* testsuite/gas/i386/x86-64-property-7.d: New file.
* testsuite/gas/i386/x86-64-property-7.s: Likewise.
* testsuite/gas/i386/x86-64-property-8.d: Likewise.
* testsuite/gas/i386/x86-64-property-8.s: Likewise.
* testsuite/gas/i386/x86-64-property-9.d: Likewise.
* testsuite/gas/i386/x86-64-property-9.s: Likewise.
2020-07-10 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (_i386_insn): Remove has_regmmx, has_regxmm,

View File

@ -9183,6 +9183,10 @@ output_insn (void)
x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT;
if (i.tm.cpu_flags.bitfield.cpuxsavec)
x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVEC;
if ((i.xstate & xstate_tmm) == xstate_tmm
|| i.tm.cpu_flags.bitfield.cpuamx_tile)
x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_TMM;
}
#endif

View File

@ -1217,6 +1217,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
run_dump_test "x86-64-property-4"
run_dump_test "x86-64-property-5"
run_dump_test "x86-64-property-6"
run_dump_test "x86-64-property-7"
run_dump_test "x86-64-property-8"
run_dump_test "x86-64-property-9"
if {[istarget "*-*-linux*"]} then {
run_dump_test "x86-64-align-branch-3"

View File

@ -0,0 +1,9 @@
#name: x86-64 property 4
#as: -mx86-used-note=yes --generate-missing-build-notes=no
#readelf: -n
Displaying notes found in: .note.gnu.property
[ ]+Owner[ ]+Data size[ ]+Description
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA used: <None>
x86 feature used: x86, TMM

View File

@ -0,0 +1,2 @@
.text
tdpbuud %tmm3, %tmm2, %tmm1

View File

@ -0,0 +1,9 @@
#name: x86-64 property 4
#as: -mx86-used-note=yes --generate-missing-build-notes=no
#readelf: -n
Displaying notes found in: .note.gnu.property
[ ]+Owner[ ]+Data size[ ]+Description
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA used: <None>
x86 feature used: x86, TMM

View File

@ -0,0 +1,2 @@
.text
tilerelease

View File

@ -0,0 +1,9 @@
#name: x86-64 property 4
#as: -mx86-used-note=yes --generate-missing-build-notes=no
#readelf: -n
Displaying notes found in: .note.gnu.property
[ ]+Owner[ ]+Data size[ ]+Description
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA used: <None>
x86 feature used: x86, TMM

View File

@ -0,0 +1,2 @@
.text
tileloaddt1 (%rcx), %tmm5

View File

@ -1,3 +1,7 @@
2020-07-11 H.J. Lu <hongjiu.lu@intel.com>
* elf/common.h (GNU_PROPERTY_X86_FEATURE_2_TMM): New.
2020-07-09 John Baldwin <jhb@FreeBSD.org>
* elf/common.h (AT_FREEBSD_ARGC, AT_FREEBSD_ARGV, AT_FREEBSD_ENVC)

View File

@ -846,6 +846,7 @@
#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)
#define GNU_PROPERTY_X86_FEATURE_2_TMM (1U << 10)
/* AArch64 specific GNU PROPERTY. */
#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000