Haochen Jiang
704452b488
Support Intel SM4 AVX10.2 extension
...
In this patch, we will support SM4 AVX10.2 extension part. It is
a promotion from VEX encoding to EVEX encoding. The EVEX encoding
is based on AVX10.2, which is the same as the upcoming MOVRS ISA.
Thus, we decide to pull AVX10.2 out to CPU_COMMON_FLAGS.
While I have also tried to merge the table like AVX/AVX512, I
choose to just templatize the table. I am okay to go either way,
but slightly prefer the templatizing one since probably SM4 would
be the only ISA with AVX10.2 needs such VEX to EVEX extension (MOVRS
does not need that). Also, it is a tendancy that we will directly
provide EVEX encodings and no VEX encodings for vector instructions
since AVX10. This will make the adding in gas/config/tc-i386.c not
that worthy.
gas/ChangeLog:
* NEWS: Support Intel SM4 EVEX instructions.
* config/tc-i386.c (_is_cpu): Handle AVX10.2.
* testsuite/gas/i386/i386.exp: Run SM4 tests.
* testsuite/gas/i386/x86-64.exp: Ditto.
* testsuite/gas/i386/avx10_2-256-sm4-intel.d: Add SM4 tests.
* testsuite/gas/i386/avx10_2-256-sm4.d: Ditto.
* testsuite/gas/i386/avx10_2-256-sm4.s: Ditto.
* testsuite/gas/i386/avx10_2-512-sm4-intel.d: Ditto.
* testsuite/gas/i386/avx10_2-512-sm4.d: Ditto.
* testsuite/gas/i386/avx10_2-512-sm4.s: Ditto.
* testsuite/gas/i386/avx10_2-sm4-inval.l: Ditto.
* testsuite/gas/i386/avx10_2-sm4-inval.s: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-256-sm4-intel.d: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-256-sm4.d: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-256-sm4.s: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-512-sm4-intel.d: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-512-sm4.d: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-512-sm4.s: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-sm4-inval.l: Ditto.
* testsuite/gas/i386/x86-64-avx10_2-sm4-inval.s: Ditto.
opcodes/ChangeLog:
* i386-dis-evex.h: Add evex table entry for SM4.
* i386-dis.h: Ditto.
* i386-opc.h: (i386_cpu): Move AVX10.2 to CPU_FLAGS_COMMON.
* i386-opc.tbl: Add SM4 EVEX instructions.
* i386-init.h: Regenerated.
* i386-tbl.h: Ditto.
2024-12-18 10:40:33 +08:00
..
2024-12-16 14:44:18 +00:00
2024-05-28 10:16:23 +01:00
2024-07-12 15:40:48 +01:00
2024-07-12 15:40:48 +01:00
2024-07-12 15:40:48 +01:00
2024-07-12 15:41:56 +01:00
2024-07-12 15:40:48 +01:00
2024-07-12 15:40:48 +01:00
2024-07-18 20:54:14 -07:00
2024-07-12 15:40:48 +01:00
2024-11-08 11:35:46 +00:00
2024-11-08 11:35:46 +00:00
2024-07-05 15:39:28 +01:00
2024-07-18 20:54:14 -07:00
2023-11-15 12:53:04 +00:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-02-14 11:36:52 +01:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-02-14 11:36:52 +01:00
2024-11-20 17:15:28 +00:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-02-15 15:11:44 +01:00
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-16 08:34:50 +02:00
2024-07-20 12:43:19 +01:00
2023-11-15 12:53:04 +00:00
2024-11-26 19:13:07 +00:00
2024-11-26 19:13:07 +00:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-16 08:34:50 +02:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-11-26 19:13:07 +00:00
2024-11-26 19:13:07 +00:00
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2023-08-02 12:06:23 +01:00
2024-06-18 10:52:41 +08:00
2024-12-05 14:49:27 +08:00
2024-12-05 09:57:59 +08:00
2024-12-05 14:49:27 +08:00
2024-12-18 10:40:33 +08:00
2024-12-18 10:40:33 +08:00
2024-12-02 09:39:23 +01:00
2024-12-18 10:40:33 +08:00
2024-12-05 14:49:27 +08:00
2024-12-18 10:40:33 +08:00
2024-12-18 10:40:33 +08:00
2024-08-30 11:23:16 +02:00
2024-12-18 10:40:33 +08:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-02-20 12:07:57 +01:00
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-11 14:08:24 +08:00
2024-12-09 12:01:02 +08:00
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-10-07 21:26:04 +02:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-11-26 19:13:07 +00:00
2024-11-26 19:13:07 +00:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-07-26 18:01:09 +01:00
2024-01-04 22:58:12 +10:30
2024-07-26 18:01:09 +01:00
2024-11-18 03:09:15 +00:00
2024-07-19 19:01:53 +01:00
2024-04-19 10:00:57 +09:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-06-05 13:30:27 +01:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-02-09 10:52:23 -06:00
2024-12-09 17:39:51 -05:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-11-24 09:21:28 +01:00
2024-11-22 09:56:54 +08:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-11-29 15:37:19 +01:00
2024-10-10 12:09:40 +02:00
2024-11-18 10:42:21 +01:00
2024-11-18 10:42:21 +01:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-09 08:32:54 +10:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-22 18:16:42 +01:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-08-12 10:42:02 -07:00
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30
2024-01-04 22:58:12 +10:30