x86: Encode AVX256/AVX512 vpsub[bwdq] with VEX128/EVEX128
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 1 Mar 2018 14:08:04 +0000 (06:08 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 1 Mar 2018 14:08:31 +0000 (06:08 -0800)
commit8305403a1ffa8e551fd1c7bd88af1a65c0ba747c
treef7c1db859e0d9101de6a7a64a090bbf7fbda2fb4
parentb1223e789040e9e8cdc6869a8a1fd1fd7acc109d
x86: Encode AVX256/AVX512 vpsub[bwdq] with VEX128/EVEX128

When 2 source registers are identical, AVX256 and AVX512 vpsub[bwdq]
instructions can be encoded with VEX128 or EVEX128 encodings.

gas/

* config/tc-i386.c (optimize_encoding): Optimize AVX256 and
AVX512 vpsub[bwdq] instructions.
* testsuite/gas/i386/optimize-1.s: Add tests for AVX256 and
AVX512 vpsub[bwdq] instructions.
* testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
* testsuite/gas/i386/optimize-1.d: Updated.
* testsuite/gas/i386/x86-64-optimize-2.d: Likewise.

opcodes/

* * i386-opc.tbl: Add "Optimize" to AVX256 and AVX512
vpsub[bwdq] instructions.
* i386-tbl.h: Regenerated.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/optimize-1.d
gas/testsuite/gas/i386/optimize-1.s
gas/testsuite/gas/i386/x86-64-optimize-2.d
gas/testsuite/gas/i386/x86-64-optimize-2.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h