x86: VCVTNEPS2BF16{X,Y} should permit broadcasting
authorJan Beulich <jbeulich@suse.com>
Tue, 21 Jan 2020 07:25:31 +0000 (08:25 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 21 Jan 2020 07:25:31 +0000 (08:25 +0100)
commitc906a69a1f30c12074165f5be0027249c643e904
treeab2ac81c36c35501e6c9c53766ae4617affc04ba
parent53570fbcca206d6e5442603bfadf1982d728d824
x86: VCVTNEPS2BF16{X,Y} should permit broadcasting

Just like other VCVT*{X,Y} templates do, and to allow the programmer
flexibility (might be relevant in particular when heavily macro-izing
code), the two templates should also have Broadcast set, just like their
X/Y-suffix-less counterparts. This in turn requires them to also have
* Dword set on their memory operands, to cover the logic added to
  i386gen by 4a1b91eabbe7 ("x86: Expand Broadcast to 3 bits"),
* RegXMM/RegYMM set on their source operands, to satisfy broadcast
  sizing logic in gas itself.
Otherwise ATTSyntax templates wouldn't need such operand size attributes.

While extending the test cases, also add Intel syntax broadcast forms
without explicit size specifiers.
gas/ChangeLog
gas/testsuite/gas/i386/avx512_bf16_vl.d
gas/testsuite/gas/i386/avx512_bf16_vl.s
gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d
gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h