Add support for AVX512VL. Add AVX512VL versions of AVX512F instructions.
authorIlya Tocar <ilya.tocar@intel.com>
Fri, 18 Jul 2014 10:59:54 +0000 (14:59 +0400)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 22 Jul 2014 17:23:40 +0000 (10:23 -0700)
commitb28d1bda54728d10ae189a323c343b6d76f94b8e
treeef86cf68b866cdf2df5f404221c7cefb9d155e71
parent50d13ae760ccae7ba30244985397240dfb67a431
Add support for AVX512VL. Add AVX512VL versions of AVX512F instructions.

gas/

* config/tc-i386.c (cpu_arch): Add .avx512vl, CPU_AVX512VL_FLAGS.
(build_vex_prefix): Don't abort on VEX.W.
(check_VecOperands): Support BROADCAST_1TO4 and BROADCAST_1TO2.
(check_VecOperations): Ditto.
* doc/c-i386.texi: Document avx512vl/.avx512vl.

gas/testsuite/

* gas/i386/avx512f_vl-intel.d: New.
* gas/i386/avx512f_vl-opts-intel.d: New.
* gas/i386/avx512f_vl-opts.d: New.
* gas/i386/avx512f_vl-opts.s: New.
* gas/i386/avx512f_vl-wig.s: New.
* gas/i386/avx512f_vl-wig1-intel.d: New.
* gas/i386/avx512f_vl-wig1.d: New.
* gas/i386/avx512f_vl.d: New.
* gas/i386/avx512f_vl.s: New.
* gas/i386/i386.exp: Run new AVX-512 tests.
* gas/i386/x86-64-avx512f_vl-intel.d: New.
* gas/i386/x86-64-avx512f_vl-opts-intel.d: New.
* gas/i386/x86-64-avx512f_vl-opts.d: New.
* gas/i386/x86-64-avx512f_vl-opts.s: New.
* gas/i386/x86-64-avx512f_vl-wig.s: New.
* gas/i386/x86-64-avx512f_vl-wig1-intel.d: New.
* gas/i386/x86-64-avx512f_vl-wig1.d: New.
* gas/i386/x86-64-avx512f_vl.d: New.
* gas/i386/x86-64-avx512f_vl.s: New.

opcodes/

* i386-dis.c (intel_operand_size): Support 128/256 length in
vex_vsib_q_w_dq_mode.
(OP_E_memory): Add ymmq_mode handling, handle new broadcast.
* i386-gen.c (cpu_flag_init): Add CPU_AVX512VL_FLAGS.
(cpu_flags): Add CpuAVX512VL.
* i386-init.h: Regenerated.
* i386-opc.h (CpuAVX512VL): New.
(i386_cpu_flags): Add cpuavx512vl.
(BROADCAST_1TO4, BROADCAST_1TO2): Define.
* i386-opc.tbl: Add AVX512VL instructions.
* i386-tbl.h: Regenerate.
30 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/avx512f_vl-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl-opts-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl-opts.d [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl-opts.s [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl-wig.s [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl-wig1-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl-wig1.d [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl.d [new file with mode: 0644]
gas/testsuite/gas/i386/avx512f_vl.s [new file with mode: 0644]
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl-opts-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl-wig1-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl-wig1.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-avx512f_vl.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/i386-dis.c
opcodes/i386-gen.c
opcodes/i386-init.h
opcodes/i386-opc.h
opcodes/i386-opc.tbl
opcodes/i386-tbl.h