[PATCH] x86: Mark cvtpi2ps and cvtpi2pd as MMX

H.J. Lu hjl.tools@gmail.com
Wed Feb 19 12:58:00 GMT 2020


	* 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.
---
 gas/ChangeLog                              | 10 ++++++++++
 gas/config/tc-i386.c                       |  4 +++-
 gas/testsuite/gas/i386/i386.exp            |  2 ++
 gas/testsuite/gas/i386/property-3.d        |  9 +++++++++
 gas/testsuite/gas/i386/property-3.s        |  2 ++
 gas/testsuite/gas/i386/x86-64-property-3.d | 10 ++++++++++
 6 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 gas/testsuite/gas/i386/property-3.d
 create mode 100644 gas/testsuite/gas/i386/property-3.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-property-3.d

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 095e457822..56262742f0 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,13 @@
+2020-02-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* 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  <hongjiu.lu@intel.com>
 
 	* config/tc-i386.c (cpu_arch): Add .popcnt.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index f559ad4103..d118fdd567 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 d884f89364..685e62ea72 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 0000000000..36d215584e
--- /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 0000000000..c42bdcbcdc
--- /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 0000000000..aa116e0fbc
--- /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
-- 
2.24.1



More information about the Binutils mailing list