Files
binutils-gdb/opcodes
Mo, Zewei 08a98d4c13 Support APX Push2/Pop2
PPX functionality for PUSH/POP is not implemented in this patch
and will be implemented separately.

gas/ChangeLog:

2023-12-28  Zewei Mo <zewei.mo@intel.com>
            H.J. Lu  <hongjiu.lu@intel.com>
            Lili Cui <lili.cui@intel.com>

	* config/tc-i386.c: (enum i386_error):
	New unsupported_rsp_register and invalid_src_register_set.
	(md_assemble): Add handler for unsupported_rsp_register and
	invalid_src_register_set.
	(check_APX_operands): Add invalid check for push2/pop2.
	(match_template): Handle check_APX_operands.
	* testsuite/gas/i386/i386.exp: Add apx-push2pop2 tests.
	* testsuite/gas/i386/x86-64.exp: Ditto.
	* testsuite/gas/i386/x86-64-apx-push2pop2.d: New test.
	* testsuite/gas/i386/x86-64-apx-push2pop2.s: Ditto.
	* testsuite/gas/i386/x86-64-apx-push2pop2-intel.d: Ditto.
	* testsuite/gas/i386/x86-64-apx-push2pop2-inval.l: Ditto.
	* testsuite/gas/i386/x86-64-apx-push2pop2-inval.s: Ditto.
	* testsuite/gas/i386/apx-push2pop2-inval.s: Ditto.
	* testsuite/gas/i386/apx-push2pop2-inval.d: Ditto.
	* testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d: Added bad
	testcases for POP2.
	* testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s: Ditto.

opcodes/ChangeLog:

	* i386-dis-evex-reg.h: Add REG_EVEX_MAP4_8F.
	* i386-dis-evex-w.h: Add EVEX_W_MAP4_8F_R_0 and EVEX_W_MAP4_FF_R_6
	* i386-dis-evex.h: Add REG_EVEX_MAP4_8F.
	* i386-dis.c (PUSH2_POP2_Fixup): Add special handling for PUSH2/POP2.
	(get_valid_dis386): Add handler for vector length and address_mode for
	APX-Push2/Pop2 insn.
	(nd): define nd as b for EVEX-promoted instrutions.
	(OP_VEX): Add handler of 64-bit vvvv register for APX-Push2/Pop2 insn.
	* i386-gen.c: Add Push2Pop2 bitfield.
	* i386-opc.h: Regenerated.
	* i386-opc.tbl: Regenerated.
2023-12-28 11:41:45 +00:00
..
2023-11-15 12:53:04 +00:00
2023-12-19 15:35:49 +01:00
2023-12-19 15:35:49 +01:00
2023-12-19 15:35:49 +01:00
2023-11-15 12:53:04 +00:00
2023-08-02 12:06:23 +01:00
2023-08-26 13:09:38 -06:00
2023-11-15 12:53:04 +00:00
2023-11-15 12:53:04 +00:00
2023-11-15 12:53:04 +00:00
2023-11-15 12:53:04 +00:00
2023-08-03 21:20:33 +09:30
2023-08-16 14:22:54 +01:00
2023-12-28 11:41:45 +00:00
2023-12-28 11:41:45 +00:00
2023-12-28 11:41:45 +00:00
2023-12-28 11:41:45 +00:00
2023-12-28 11:14:41 +00:00
2023-12-28 11:41:45 +00:00
2023-12-28 11:37:16 +00:00
2023-12-28 11:41:45 +00:00
2023-12-28 11:41:45 +00:00
2023-08-24 12:36:25 +09:30
2023-08-16 14:22:54 +01:00
2023-03-16 17:30:19 +10:30
2023-03-16 17:30:19 +10:30