Fix memory size for gather/scatter instructions
authorIlya Tocar <ilya.tocar@intel.com>
Thu, 20 Mar 2014 09:12:16 +0000 (13:12 +0400)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 20 Mar 2014 15:13:30 +0000 (08:13 -0700)
commit5fc35d961bda7f8d40bfad9ca458a6b08de02bcb
treea9ac59650754ed86f628ac74a65f82668f2b2edd
parent40acf43aadb4d5348cff0dd554ae97de4dd775af
Fix memory size for gather/scatter instructions

For gathers with indices larger than elements (e. g.)

vpgatherqd      ymm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123]

We currently treat memory size as a size of index register, while it is
actually should be size of destination register:

vpgatherqd      ymm6{k1}, YMMWORD PTR [ebp+zmm7*8-123]

This patch fixes it.

opcodes/

        * i386-opc.tbl: Change memory size for vgatherpf0qps, vgatherpf1qps,
        vscatterpf0qps, vscatterpf1qps, vgatherqps, vpgatherqd, vpscatterqd,
        vscatterqps.
        * i386-tbl.h: Regenerate.

gas/testsuite/

        * gas/i386/avx512pf-intel.d: Change memory size for vgatherpf0qps,
        vgatherpf1qps, vscatterpf0qps, vscatterpf1qps.
        * gas/i386/avx512pf.s: Ditto.
        * gas/i386/x86-64-avx512pf-intel.d: Ditto.
        * gas/i386/x86-64-avx512pf.s: Ditto.
        * gas/i386/avx512f-intel.d: Change memory size for vgatherqps,
        vpgatherqd, vpscatterqd, vscatterqps.
        * gas/i386/avx512f.s: Ditto.
        * gas/i386/x86-64-avx512f-intel.d: Ditto.
        * gas/i386/x86-64-avx512f.s: Ditto.
14 files changed:
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/avx512f-intel.d
gas/testsuite/gas/i386/avx512f.s
gas/testsuite/gas/i386/avx512pf-intel.d
gas/testsuite/gas/i386/avx512pf.s
gas/testsuite/gas/i386/x86-64-avx512f-intel.d
gas/testsuite/gas/i386/x86-64-avx512f.s
gas/testsuite/gas/i386/x86-64-avx512pf-intel.d
gas/testsuite/gas/i386/x86-64-avx512pf.s
opcodes/ChangeLog
opcodes/i386-dis-evex.h
opcodes/i386-dis.c
opcodes/i386-opc.tbl
opcodes/i386-tbl.h