From: H.J. Lu Date: Wed, 19 Feb 2020 12:54:45 +0000 (-0800) Subject: x86: Mark cvtpi2ps and cvtpi2pd as MMX X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a7e12755d57879884c523cae1cf009efc9da933c;p=binutils-gdb.git x86: Mark cvtpi2ps and cvtpi2pd as MMX * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd with GNU_PROPERTY_X86_FEATURE_2_MMX. * testsuite/gas/i386/i386.exp: Run property-3 and x86-64-property-3. * testsuite/gas/i386/property-3.d: New file. * testsuite/gas/i386/property-3.s: Likewise. * testsuite/gas/i386/x86-64-property-3.d: Likewise. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 095e457822f..56262742f0f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2020-02-19 H.J. Lu + + * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd + with GNU_PROPERTY_X86_FEATURE_2_MMX. + * testsuite/gas/i386/i386.exp: Run property-3 and + x86-64-property-3. + * testsuite/gas/i386/property-3.d: New file. + * testsuite/gas/i386/property-3.s: Likewise. + * testsuite/gas/i386/x86-64-property-3.d: Likewise. + 2020-02-17 H.J. Lu * config/tc-i386.c (cpu_arch): Add .popcnt. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index f559ad4103f..d118fdd567a 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -8636,7 +8636,9 @@ output_insn (void) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_X87; if (i.has_regmmx || i.tm.base_opcode == 0xf77 /* emms */ - || i.tm.base_opcode == 0xf0e /* femms */) + || i.tm.base_opcode == 0xf0e /* femms */ + || i.tm.base_opcode == 0xf2a /* cvtpi2ps */ + || i.tm.base_opcode == 0x660f2a /* cvtpi2pd */) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_MMX; if (i.has_regxmm) x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XMM; diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index d884f893645..685e62ea729 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -601,6 +601,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "evex-no-scale-32" run_dump_test "property-1" run_dump_test "property-2" + run_dump_test "property-3" if {[istarget "*-*-linux*"]} then { run_dump_test "align-branch-3" @@ -1166,6 +1167,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "evex-no-scale-64" run_dump_test "x86-64-property-1" run_dump_test "x86-64-property-2" + run_dump_test "x86-64-property-3" if {[istarget "*-*-linux*"]} then { run_dump_test "x86-64-align-branch-3" diff --git a/gas/testsuite/gas/i386/property-3.d b/gas/testsuite/gas/i386/property-3.d new file mode 100644 index 00000000000..36d215584e5 --- /dev/null +++ b/gas/testsuite/gas/i386/property-3.d @@ -0,0 +1,9 @@ +#name: i386 property 3 +#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: SSE + x86 feature used: x86, MMX, XMM diff --git a/gas/testsuite/gas/i386/property-3.s b/gas/testsuite/gas/i386/property-3.s new file mode 100644 index 00000000000..c42bdcbcdc4 --- /dev/null +++ b/gas/testsuite/gas/i386/property-3.s @@ -0,0 +1,2 @@ + .text + cvtpi2ps (%eax), %xmm0 diff --git a/gas/testsuite/gas/i386/x86-64-property-3.d b/gas/testsuite/gas/i386/x86-64-property-3.d new file mode 100644 index 00000000000..aa116e0fbc5 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-property-3.d @@ -0,0 +1,10 @@ +#name: x86-64 property 3 +#source: property-3.s +#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: SSE + x86 feature used: x86, MMX, XMM