Support Intel SHA512
authorHaochen Jiang <haochen.jiang@intel.com>
Mon, 24 Jul 2023 03:09:43 +0000 (11:09 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Thu, 27 Jul 2023 12:52:17 +0000 (20:52 +0800)
commit3ac2eb94812e229843d4c799fc6702250e950310
treea1b2ca02837d32e4a22b5536fb8f12d51d0e6bb1
parent3fde5f6e7d3bb073e9beeba4e6a277373e368df4
Support Intel SHA512

gas/ChangeLog:

* NEWS: Support Intel SHA512.
* config/tc-i386.c: Add sha512.
* doc/c-i386.texi: Document .sha512.
* testsuite/gas/i386/disassem.d: Add SHA512 tests.
* testsuite/gas/i386/disassem.s: Ditto.
* testsuite/gas/i386/i386.exp: Run SHA512 tests.
* testsuite/gas/i386/x86-64.exp: Ditto.
* testsuite/gas/i386/sha512-intel.d: New test.
* testsuite/gas/i386/sha512-inval.l: Ditto.
* testsuite/gas/i386/sha512-inval.s: Ditto.
* testsuite/gas/i386/sha512.d: Ditto.
* testsuite/gas/i386/sha512.s: Ditto.
* testsuite/gas/i386/x86-64-sha512-intel.d: Ditto.
* testsuite/gas/i386/x86-64-sha512-inval.l: Ditto.
* testsuite/gas/i386/x86-64-sha512-inval.s: Ditto.
* testsuite/gas/i386/x86-64-sha512.d: Ditto.
* testsuite/gas/i386/x86-64-sha512.s: Ditto.

opcodes/ChangeLog:

* i386-dis.c (Rxmmq): New.
(Rymm): Ditto.
(PREFIX_VEX_0F38CB): Ditto.
(PREFIX_VEX_0F38CC): Ditto.
(PREFIX_VEX_0F38CD): Ditto.
(VEX_LEN_0F38CB_P_3_W_0): Ditto.
(VEX_LEN_0F38CC_P_3_W_0): Ditto.
(VEX_LEN_0F38CD_P_3_W_0): Ditto.
(VEX_W_0F38CB_P_3): Ditto.
(VEX_W_0F38CC_P_3): Ditto.
(VEX_W_0F38CD_P_3): Ditto.
(prefix_table): Add PREFIX_VEX_0F38CB, PREFIX_VEX_0F38CC,
PREFIX_VEX_0F38CD.
(vex_len_table): Add VEX_LEN_0F38CB_P_3_W_0,
VEX_LEN_0F38CC_P_3_W_0, VEX_LEN_0F38CD_P_3_W_0.
(vex_w_table): Add VEX_W_0F38CB_P_3, VEX_W_0F38CC_P_3, VEX_W_0F38CD_P_3.
* i386-gen.c (isa_dependencies): Add SHA512.
(cpu_flags): Ditto.
* i386-init.h: Regenerated.
* i386-mnem.h: Ditto.
* i386-opc.h (CpuSHA512): New.
(i386_cpu_flags): Add cpusha512.
* i386-opc.tbl: Add SHA512 instructions.
* i386-tbl.h: Regenerated.
24 files changed:
gas/NEWS
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/gas/i386/disassem.d
gas/testsuite/gas/i386/disassem.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/sha512-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/sha512-inval.l [new file with mode: 0644]
gas/testsuite/gas/i386/sha512-inval.s [new file with mode: 0644]
gas/testsuite/gas/i386/sha512.d [new file with mode: 0644]
gas/testsuite/gas/i386/sha512.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-sha512-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-sha512-inval.l [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-sha512-inval.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-sha512.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-sha512.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64.exp
opcodes/i386-dis.c
opcodes/i386-gen.c
opcodes/i386-init.h
opcodes/i386-mnem.h
opcodes/i386-opc.h
opcodes/i386-opc.tbl
opcodes/i386-tbl.h