aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-07-18 05:33:36 -0700
committerH.J. Lu <hjl.tools@gmail.com>2018-07-18 05:33:50 -0700
commit11a322db5c8bc23009e97af30180d6b14d86dbd3 (patch)
tree44297f3d3e8c0a2d78eeb0347f3964aed085dad9 /gas
parentafca762f598d453c563f244cd3777715b1a0cb72 (diff)
downloadgdb-11a322db5c8bc23009e97af30180d6b14d86dbd3.zip
gdb-11a322db5c8bc23009e97af30180d6b14d86dbd3.tar.gz
gdb-11a322db5c8bc23009e97af30180d6b14d86dbd3.tar.bz2
x86: Split vcvtps2{,u}qq and vcvttps2{,u}qq
After commit 1b54b8d7e4fc8055f9220a5287e8a94d8a65a88d Author: Jan Beulich <jbeulich@novell.com> Date: Mon Dec 18 09:36:14 2017 +0100 x86: fold RegXMM/RegYMM/RegZMM into RegSIMD ... qualified by their respective sizes, allowing to drop FirstXmm0 at the same time. folded RegXMM, RegYMM and RegZMM into RegSIMD, it's no longer impossible to distinguish if Xmmword can represent a memory reference when operand specification contains SIMD register. For example, template operands specification like these RegXMM|...|Xmmword|... and RegXMM|... The Xmmword bitfield is always set by RegXMM which is represented by "RegSIMD|Xmmword". This patch splits each of vcvtps2qq, vcvtps2uqq, vcvttps2qq and vcvttps2uqq into 2 templates: one template only has RegXMM source operand and the other only has mempry source operand. gas/ PR gas/23418 * testsuite/gas/i386/xmmword.s: Add tests for vcvtps2qq, vcvtps2uqq, vcvttps2qq and vcvttps2uqq. * testsuite/gas/i386/xmmword.l: Updated. opcodes/ PR gas/23418 * i386-opc.h (Byte): Update comments. (Word): Likewise. (Dword): Likewise. (Fword): Likewise. (Qword): Likewise. (Tbyte): Likewise. (Xmmword): Likewise. (Ymmword): Likewise. (Zmmword): Likewise. * i386-opc.tbl: Split vcvtps2qq, vcvtps2uqq, vcvttps2qq and vcvttps2uqq. * i386-tbl.h: Regenerated.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/testsuite/gas/i386/xmmword.l4
-rw-r--r--gas/testsuite/gas/i386/xmmword.s5
3 files changed, 16 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7e5f27d..3106096 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2018-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/23418
+ * testsuite/gas/i386/xmmword.s: Add tests for vcvtps2qq,
+ vcvtps2uqq, vcvttps2qq and vcvttps2uqq.
+ * testsuite/gas/i386/xmmword.l: Updated.
+
2018-07-16 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (match_reg_size): Split second parameter
diff --git a/gas/testsuite/gas/i386/xmmword.l b/gas/testsuite/gas/i386/xmmword.l
index ce3af8d..7d25cb3 100644
--- a/gas/testsuite/gas/i386/xmmword.l
+++ b/gas/testsuite/gas/i386/xmmword.l
@@ -99,3 +99,7 @@
.*:127: Error: .* `vpmovzxwq'
.*:128: Error: .* `vpmovzxwq'
.*:129: Error: .* `vpmovzxwq'
+.*:131: Error: .* `vcvtps2qq'
+.*:132: Error: .* `vcvtps2uqq'
+.*:133: Error: .* `vcvttps2qq'
+.*:134: Error: .* `vcvttps2uqq'
diff --git a/gas/testsuite/gas/i386/xmmword.s b/gas/testsuite/gas/i386/xmmword.s
index 47d2d8d..ffe7aca 100644
--- a/gas/testsuite/gas/i386/xmmword.s
+++ b/gas/testsuite/gas/i386/xmmword.s
@@ -127,3 +127,8 @@ xmmword:
vpmovzxwq xmm0{k7}, xmmword ptr [eax]
vpmovzxwq ymm0, xmmword ptr [eax]
vpmovzxwq ymm0{k7}, xmmword ptr [eax]
+
+ vcvtps2qq xmm0, xmmword ptr [rax]
+ vcvtps2uqq xmm0, xmmword ptr [rax]
+ vcvttps2qq xmm0, xmmword ptr [rax]
+ vcvttps2uqq xmm0, xmmword ptr [rax]