diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-07-11 04:04:08 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-07-11 04:04:20 -0700 |
commit | a308b89de77e782b563fe5f712397848bfd4a897 (patch) | |
tree | 6bd0ffcf8ece00258d36841317e4d6bfc7d4546e /gas | |
parent | ee9cb95ea14cfc2856a1d89a636d50c14a487de2 (diff) | |
download | gdb-a308b89de77e782b563fe5f712397848bfd4a897.zip gdb-a308b89de77e782b563fe5f712397848bfd4a897.tar.gz gdb-a308b89de77e782b563fe5f712397848bfd4a897.tar.bz2 |
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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 13 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-property-7.d | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-property-7.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-property-8.d | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-property-8.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-property-9.d | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-property-9.s | 2 |
9 files changed, 53 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 003e37d..3371d7b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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, diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 0eb2b94..18f685c 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -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 diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index ab56209..27a425a 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -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" diff --git a/gas/testsuite/gas/i386/x86-64-property-7.d b/gas/testsuite/gas/i386/x86-64-property-7.d new file mode 100644 index 0000000..e938cc9 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-7.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-property-7.s b/gas/testsuite/gas/i386/x86-64-property-7.s new file mode 100644 index 0000000..bfa255b --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-7.s @@ -0,0 +1,2 @@ + .text + tdpbuud %tmm3, %tmm2, %tmm1 diff --git a/gas/testsuite/gas/i386/x86-64-property-8.d b/gas/testsuite/gas/i386/x86-64-property-8.d new file mode 100644 index 0000000..e938cc9 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-8.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-property-8.s b/gas/testsuite/gas/i386/x86-64-property-8.s new file mode 100644 index 0000000..23c270b --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-8.s @@ -0,0 +1,2 @@ + .text + tilerelease diff --git a/gas/testsuite/gas/i386/x86-64-property-9.d b/gas/testsuite/gas/i386/x86-64-property-9.d new file mode 100644 index 0000000..e938cc9 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-9.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-property-9.s b/gas/testsuite/gas/i386/x86-64-property-9.s new file mode 100644 index 0000000..14d8c5d --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-9.s @@ -0,0 +1,2 @@ + .text + tileloaddt1 (%rcx), %tmm5 |