x86: disambiguate disassembly of certain AVX512 insns
authorJan Beulich <jbeulich@novell.com>
Thu, 23 Apr 2015 14:42:40 +0000 (16:42 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 23 Apr 2015 14:42:40 +0000 (16:42 +0200)
commit04d824a468650c632d228b977006139f17d646a4
tree1fc66e25aab33ba9ef1109ec3d6a0ad7001539b2
parentaf508cb92f8fa7eed6c7f2bd3a49d42701db5900
x86: disambiguate disassembly of certain AVX512 insns

Certain conversion operations as well as vfpclassp{d,s} are ambiguous
when the input operand is in memory and no broadcast is being used.
While in Intel mode this gets resolved by printing suitable operand
size modifiers, AT&T mode need mnemonic suffixes to be added.

gas/testsuite/
2015-04-23  Jan Beulich  <jbeulich@suse.com>

* gas/i386/avx512dq.d: Add 'z' suffix to vfpclassp{d,s} non-
register, non-broadcast cases.
* gas/i386/x86-64-avx512dq.d: Likewise.
* gas/i386/avx512dq_vl.d: Add 'x' and 'y' suffixes to
vcvt{,u}qq2ps and vfpclassp{d,s} non-register, non-broadcast
cases.
* gas/i386/x86-64-avx512dq_vl.d: Likewise.
* gas/i386/avx512f_vl.d: Add 'x' and 'y' suffixes to
vcvt{,t}pd2{,u}dq and vcvtpd2ps non-register, non-broadcast
cases.
* gas/i386/x86-64-avx512f_vl.d: Likewise.

opcodes/
2015-04-23  Jan Beulich  <jbeulich@suse.com>

* i386-dis.c (putop): Extend "XY" handling to AVX512. Handle "XZ".
* i386-dis-evex.h.c (vcvtpd2ps, vcvtqq2ps, vcvttpd2udq,
vcvtpd2udq, vcvtuqq2ps, vcvttpd2dq, vcvtpd2dq): Add %XY.
(vfpclasspd, vfpclassps): Add %XZ.
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/avx512dq.d
gas/testsuite/gas/i386/avx512dq_vl.d
gas/testsuite/gas/i386/avx512f_vl.d
gas/testsuite/gas/i386/x86-64-avx512dq.d
gas/testsuite/gas/i386/x86-64-avx512dq_vl.d
gas/testsuite/gas/i386/x86-64-avx512f_vl.d
opcodes/ChangeLog
opcodes/i386-dis-evex.h
opcodes/i386-dis.c