public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/10] Add new Intel Sierra Forest, Grand Ridge, Granite Rapids Instructions
@ 2022-10-14  9:12 Haochen Jiang
  2022-10-14  9:12 ` [PATCH 01/10] Support Intel AVX-IFMA Haochen Jiang
                   ` (9 more replies)
  0 siblings, 10 replies; 120+ messages in thread
From: Haochen Jiang @ 2022-10-14  9:12 UTC (permalink / raw)
  To: binutils; +Cc: jbeulich, hjl.tools

Hi all,

These ten patches aimed to add Intel Sierra Forest, Grand Ridge,
Granite Rapids instructions, including AVX-IFMA, AVX-VNNI-INT8,
AVX-NE-CONVERT, CMPccXADD, RAO-INT, WRMSRNS, MSRLIST, AMX-FP16 and
PREFETCHI. We also added handler for more i386_cpu_flags.

The information is based on newly released
Intel Architecture Instruction Set Extensions and Future Features.

The document comes following:
https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

Tested on x86_64-pc-linux-gnu. Ok for trunk?

BRs,
Haochen




^ permalink raw reply	[flat|nested] 120+ messages in thread
* [PATCH v2 0/10] Add new Intel Sierra Forest, Grand Ridge, Granite Rapids Instructions
@ 2022-10-19 14:55 Haochen Jiang
  2022-10-19 14:55 ` [PATCH 01/10] Support Intel AVX-IFMA Haochen Jiang
  0 siblings, 1 reply; 120+ messages in thread
From: Haochen Jiang @ 2022-10-19 14:55 UTC (permalink / raw)
  To: binutils; +Cc: jbeulich, hjl.tools

Hi all,

This is our v2 patches for newly released
Intel Architecture Instruction Set Extensions and Future Features.

The document comes following:
https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

The changes we HAVEN'T DONE:

1. All the reviews in AVX-NE-CONVERT, RAO-INT, PREFETCHI.
The patch owner for AVX-NE-CONVERT and RAO-INT is currently busy with the
GCC patches adjustment for these two ISAs and haven't finished the change
yet. We will update that in next version.

For PREFETCHI, since it is quite special, some more discussion is welcomed
before further change.

For these three patches, there might have some general changes and will be
mentioned below.

2. The Suffix things in CMPccXADD.
We have inconsistency for No_Suf usage for CMPccXADD and RAO-INT. We will
align them in next version.

The changes we HAVE DONE:

1. The AVX2 prereq for AVX-IFMA and AVX-VNNI-INT8.

2. The changes from ANY_xxx to xxx for CMPccXADD, WRMSRNS, MSRLIST.
It is very unlikely for these three ISAs have future ISAs that depend on
them. Therefore, I changed ANY_xxx to xxx.

For other ISAs, we keep the ANY_xxx since we suppose there might be
dependency on them. But it still need discussion. There is potential we will
remove some of them in v3 (most likely AMX-FP16 and PREFETCHI).

And we haven't removed those flags in i386-gen.c. It seems that we could also
safely remove them right?

3. Removed lockbad testcases in WRMSRNS, MSRLIST, PREFETCHI.
Since most of the insts are lockbad, the testcases in these three patches are
not needed.

4. Combined CMPccXADD insts in i386-opc.tbl.
Use <cc> to combine them, also include those alias not is documentation.
Including them is better for developer to use them.

5. Changes in tables due to folding AVXVNNI entry patch.

6. Correct the wrong comment for CpuUnused in CMPccXADD patch and add missing
comma for SUBARCH in that patch.

7. Fix in comments for singular, VexVVVV=1 to VexVVVV, Vex128 to Vex.

8. Removal for ALL noxxx things in texi file.

The reviews need further discussion/investigation:

1. PseudoVexPrefix related ISAs.

2. Table combination and usage in CMPccXADD.
Need further investigation how we could make it simpler. And I haven't
investigated whether OP_M usage can save the modrm_table pass.

3. SwapSources in CMPccXADD.
We may need a special identifier for CMPccXADD since we have VVVV at
operand 3, where it is always at operand 2 for all other insts which
have VVVV. That is the reason we reuse SwapSources. It might be not
that same as the original meaning. But we want to avoid adding a bit
for this very rare case. Do we need to change that?

4. The replacement from _ to - in i386-opc.tbl comments.
It seems that recent ISA patches are mostly using _. So I am confused
about that.

5. Testcase for WRMSRNS and MSRLIST.
The 32bit and 64bit can be shared as mentioned. But we cannot just
remove one of them right?

All the above are the changes in V2 patch. If there is something
missing, just remind us.

Thx,
Haochen



^ permalink raw reply	[flat|nested] 120+ messages in thread
* [PATCH v2 0/10] Add new Intel Sierra Forest, Grand Ridge, Granite Rapids Instructions (Resend)
@ 2022-10-19 15:15 Haochen Jiang
  2022-10-19 15:15 ` [PATCH 01/10] Support Intel AVX-IFMA Haochen Jiang
  0 siblings, 1 reply; 120+ messages in thread
From: Haochen Jiang @ 2022-10-19 15:15 UTC (permalink / raw)
  To: binutils; +Cc: jbeulich, hjl.tools

Hi all,

Please ignore the first cover letter of this v2 series. I forgot to
reset the i386-init.h and i386-tbl.h changes in those patches and
most of them won't be sent. I will resend the patches in this series.
Sorry for the disturb.

This is our v2 patches for newly released
Intel Architecture Instruction Set Extensions and Future Features.

The document comes following:
https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

The changes we HAVEN'T DONE:

1. All the reviews in AVX-NE-CONVERT, RAO-INT, PREFETCHI.
The patch owner for AVX-NE-CONVERT and RAO-INT is currently busy with the
GCC patches adjustment for these two ISAs and haven't finished the change
yet. We will update that in next version.

For PREFETCHI, since it is quite special, some more discussion is welcomed
before further change.

For these three patches, there might have some general changes and will be
mentioned below.

2. The Suffix things in CMPccXADD.
We have inconsistency for No_Suf usage for CMPccXADD and RAO-INT. We will
align them in next version.

The changes we HAVE DONE:

1. The AVX2 prereq for AVX-IFMA and AVX-VNNI-INT8.

2. The changes from ANY_xxx to xxx for CMPccXADD, WRMSRNS, MSRLIST.
It is very unlikely for these three ISAs have future ISAs that depend on
them. Therefore, I changed ANY_xxx to xxx.

For other ISAs, we keep the ANY_xxx since we suppose there might be
dependency on them. But it still need discussion. There is potential we will
remove some of them in v3 (most likely AMX-FP16 and PREFETCHI).

And we haven't removed those flags in i386-gen.c. It seems that we could also
safely remove them right?

3. Removed lockbad testcases in WRMSRNS, MSRLIST, PREFETCHI.
Since most of the insts are lockbad, the testcases in these three patches are
not needed.

4. Combined CMPccXADD insts in i386-opc.tbl.
Use <cc> to combine them, also include those alias not is documentation.
Including them is better for developer to use them.

5. Changes in tables due to folding AVXVNNI entry patch.

6. Correct the wrong comment for CpuUnused in CMPccXADD patch and add missing
comma for SUBARCH in that patch.

7. Fix in comments for singular, VexVVVV=1 to VexVVVV, Vex128 to Vex.

8. Removal for ALL noxxx things in texi file.

The reviews need further discussion/investigation:

1. PseudoVexPrefix related ISAs.

2. Table combination and usage in CMPccXADD.
Need further investigation how we could make it simpler. And I haven't
investigated whether OP_M usage can save the modrm_table pass.

3. SwapSources in CMPccXADD.
We may need a special identifier for CMPccXADD since we have VVVV at
operand 3, where it is always at operand 2 for all other insts which
have VVVV. That is the reason we reuse SwapSources. It might be not
that same as the original meaning. But we want to avoid adding a bit
for this very rare case. Do we need to change that?

4. The replacement from _ to - in i386-opc.tbl comments.
It seems that recent ISA patches are mostly using _. So I am confused
about that.

5. Testcase for WRMSRNS and MSRLIST.
The 32bit and 64bit can be shared as mentioned. But we cannot just
remove one of them right?

All the above are the changes in V2 patch. If there is something
missing, just remind us.

Thx,
Haochen



^ permalink raw reply	[flat|nested] 120+ messages in thread

end of thread, other threads:[~2022-11-07 20:03 UTC | newest]

Thread overview: 120+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-14  9:12 [PATCH 0/10] Add new Intel Sierra Forest, Grand Ridge, Granite Rapids Instructions Haochen Jiang
2022-10-14  9:12 ` [PATCH 01/10] Support Intel AVX-IFMA Haochen Jiang
2022-10-14  9:52   ` Jan Beulich
2022-10-14 18:10     ` H.J. Lu
2022-10-16  6:39       ` Jan Beulich
2022-10-17 22:23         ` H.J. Lu
2022-10-18  5:33           ` Jan Beulich
2022-10-18 21:28             ` H.J. Lu
2022-10-19  6:01               ` Jan Beulich
2022-10-19 21:27                 ` H.J. Lu
2022-10-20  6:15                   ` Jan Beulich
2022-10-24  2:07     ` Jiang, Haochen
2022-10-24  5:53     ` Jiang, Haochen
2022-10-24 19:09       ` H.J. Lu
2022-10-25  6:29       ` Jan Beulich
2022-10-14  9:12 ` [PATCH 02/10] Support Intel AVX-VNNI-INT8 Haochen Jiang
2022-10-14 10:57   ` Jan Beulich
2022-10-21  3:22     ` Jiang, Haochen
2022-10-25  1:52       ` H.J. Lu
2022-10-14  9:12 ` [PATCH 03/10] Support Intel AVX-NE-CONVERT Haochen Jiang
2022-10-14 12:58   ` Jan Beulich
2022-10-24  5:37     ` Kong, Lingling
2022-10-24  5:59     ` Kong, Lingling
2022-10-24 19:25       ` H.J. Lu
2022-10-25  6:44       ` Jan Beulich
2022-10-14  9:12 ` [PATCH 04/10] Support Intel CMPccXADD Haochen Jiang
2022-10-14 13:46   ` Jan Beulich
2022-10-14 18:27     ` H.J. Lu
2022-10-14 21:51       ` H.J. Lu
2022-10-16  6:34         ` Jan Beulich
2022-10-17 23:31           ` H.J. Lu
2022-10-16  6:25       ` Jan Beulich
2022-10-17 23:44         ` H.J. Lu
2022-10-16  6:19     ` Jan Beulich
2022-10-24  2:30     ` Jiang, Haochen
2022-10-24 19:12       ` H.J. Lu
2022-10-24  5:55     ` Jiang, Haochen
2022-10-25  6:53       ` Jan Beulich
2022-10-26  3:03         ` Jiang, Haochen
2022-10-26  8:49           ` Jan Beulich
2022-10-27  3:09             ` Jiang, Haochen
2022-10-27  6:37               ` Jan Beulich
2022-10-28  0:59                 ` Jiang, Haochen
2022-10-14  9:12 ` [PATCH 05/10] Add handler for more i386_cpu_flags Haochen Jiang
2022-10-14 13:53   ` Jan Beulich
2022-10-14  9:12 ` [PATCH 06/10] Support Intel RAO-INT Haochen Jiang
2022-10-14 14:38   ` Jan Beulich
2022-10-16  6:15     ` Jan Beulich
2022-10-24  3:12     ` Jiang, Haochen
2022-10-24 19:17       ` H.J. Lu
2022-10-24  5:56     ` Jiang, Haochen
2022-10-25  7:01       ` Jan Beulich
2022-10-26  5:16         ` Jiang, Haochen
2022-10-26  8:56           ` Jan Beulich
2022-10-27  3:50             ` Jiang, Haochen
2022-10-27  6:39               ` Jan Beulich
2022-10-27 18:46                 ` H.J. Lu
2022-10-28  6:52                   ` Jan Beulich
2022-10-28  8:10                     ` Jiang, Haochen
2022-10-28  8:22                       ` Jan Beulich
2022-10-28  8:31                         ` Jiang, Haochen
2022-10-28  8:40                           ` Jan Beulich
2022-10-28 16:08                             ` H.J. Lu
2022-10-31  9:41                               ` Jan Beulich
2022-10-31 16:49                                 ` H.J. Lu
2022-11-06 12:50         ` Kong, Lingling
2022-11-07  9:24           ` Jan Beulich
2022-11-07 13:37             ` Kong, Lingling
2022-11-07 20:03               ` H.J. Lu
2022-10-17 23:23   ` H.J. Lu
2022-10-18  5:38     ` Jan Beulich
2022-10-14  9:12 ` [PATCH 07/10] Support Intel WRMSRNS Haochen Jiang
2022-10-17  7:17   ` Jan Beulich
2022-10-24  2:52     ` Jiang, Haochen
2022-10-24  5:56     ` Jiang, Haochen
2022-10-24 19:14       ` H.J. Lu
2022-10-25  7:04       ` Jan Beulich
2022-10-14  9:12 ` [PATCH 08/10] Support Intel MSRLIST Haochen Jiang
2022-10-17  7:20   ` Jan Beulich
2022-10-24  3:03     ` Jiang, Haochen
2022-10-24  5:56     ` Jiang, Haochen
2022-10-24 19:15       ` H.J. Lu
2022-10-25  7:07       ` Jan Beulich
2022-10-14  9:12 ` [PATCH 09/10] Support Intel AMX-FP16 Haochen Jiang
2022-10-17  7:35   ` Jan Beulich
2022-10-18  9:01     ` Cui, Lili
2022-10-18  9:23       ` Jan Beulich
2022-10-18  9:33         ` Jiang, Haochen
2022-10-19 10:33         ` Cui, Lili
2022-10-19 13:35           ` Jan Beulich
2022-10-19 14:05             ` Cui, Lili
2022-10-19 14:09               ` Jan Beulich
2022-10-19 14:41                 ` Cui, Lili
2022-10-19 15:04                   ` Jan Beulich
2022-10-19 15:21                     ` Cui, Lili
2022-10-19 14:01           ` Jiang, Haochen
2022-10-19 14:13             ` Jan Beulich
2022-10-19 14:58               ` Jiang, Haochen
2022-10-25  6:02         ` Jan Beulich
2022-10-25 13:05           ` Cui, Lili
2022-10-14  9:12 ` [PATCH 10/10] Support Intel PREFETCHI Haochen Jiang
2022-10-17  8:15   ` Jan Beulich
2022-10-25 13:03     ` Cui, Lili
2022-10-25 15:41       ` Jan Beulich
2022-10-25 15:52       ` Jan Beulich
2022-10-25 17:01         ` H.J. Lu
2022-10-26 13:42           ` Cui, Lili
2022-10-26 13:53             ` Jan Beulich
2022-10-27  6:04               ` Cui, Lili
2022-10-27  6:45                 ` Jan Beulich
2022-10-27  7:01                   ` Cui, Lili
2022-10-27  7:15                     ` Jan Beulich
2022-10-27  7:43                       ` Cui, Lili
2022-10-28  9:03                       ` Cui, Lili
2022-10-28 15:54                     ` H.J. Lu
2022-10-31 13:23                       ` Cui, Lili
2022-10-31 14:45                     ` Mike Frysinger
2022-10-31 16:25                       ` H.J. Lu
2022-10-19 14:55 [PATCH v2 0/10] Add new Intel Sierra Forest, Grand Ridge, Granite Rapids Instructions Haochen Jiang
2022-10-19 14:55 ` [PATCH 01/10] Support Intel AVX-IFMA Haochen Jiang
2022-10-19 15:15 [PATCH v2 0/10] Add new Intel Sierra Forest, Grand Ridge, Granite Rapids Instructions (Resend) Haochen Jiang
2022-10-19 15:15 ` [PATCH 01/10] Support Intel AVX-IFMA Haochen Jiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).