public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] minimal support for xtheadv
@ 2023-11-08 13:12 chenyixuan
  2023-11-09  7:39 ` Kito Cheng
  0 siblings, 1 reply; 6+ messages in thread
From: chenyixuan @ 2023-11-08 13:12 UTC (permalink / raw)
  To: gcc-patches; +Cc: kito.cheng, shiyulong, oriachiuan, shihua, jiawei

From: XYenChi <oriachiuan@gmail.com>

This patch is for support xtheadv.

gcc/ChangeLog:

2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>

        * common/config/riscv/riscv-common.cc: Add xthead minimal support.

gcc/config/ChangeLog:

2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>

        * riscv/riscv.opt: Add xthead minimal support.
---
 gcc/common/config/riscv/riscv-common.cc | 2 ++
 gcc/config/riscv/riscv.opt              | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc
index 526dbb7603b..d5ea0ee9b70 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -325,6 +325,7 @@ static const struct riscv_ext_version riscv_ext_version_table[] =
   {"xtheadmemidx", ISA_SPEC_CLASS_NONE, 1, 0},
   {"xtheadmempair", ISA_SPEC_CLASS_NONE, 1, 0},
   {"xtheadsync", ISA_SPEC_CLASS_NONE, 1, 0},
+  {"xtheadv",    ISA_SPEC_CLASS_NONE, 0, 7},
 
   {"xventanacondops", ISA_SPEC_CLASS_NONE, 1, 0},
 
@@ -1680,6 +1681,7 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] =
   {"xtheadmemidx",  &gcc_options::x_riscv_xthead_subext, MASK_XTHEADMEMIDX},
   {"xtheadmempair", &gcc_options::x_riscv_xthead_subext, MASK_XTHEADMEMPAIR},
   {"xtheadsync",    &gcc_options::x_riscv_xthead_subext, MASK_XTHEADSYNC},
+  {"xtheadv",       &gcc_options::x_riscv_xthead_subext, MASK_XTHEADV},
 
   {"xventanacondops", &gcc_options::x_riscv_xventana_subext, MASK_XVENTANACONDOPS},
 
diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
index 70d78151cee..2bbdf680fa2 100644
--- a/gcc/config/riscv/riscv.opt
+++ b/gcc/config/riscv/riscv.opt
@@ -438,6 +438,8 @@ Mask(XTHEADMEMPAIR) Var(riscv_xthead_subext)
 
 Mask(XTHEADSYNC)    Var(riscv_xthead_subext)
 
+Mask(XTHEADV)       Var(riscv_xthead_subext)
+
 TargetVariable
 int riscv_xventana_subext
 
-- 
2.42.0


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

* Re: [PATCH] minimal support for xtheadv
  2023-11-08 13:12 [PATCH] minimal support for xtheadv chenyixuan
@ 2023-11-09  7:39 ` Kito Cheng
  2023-11-09  8:05   ` Christoph Müllner
  0 siblings, 1 reply; 6+ messages in thread
From: Kito Cheng @ 2023-11-09  7:39 UTC (permalink / raw)
  To: chenyixuan
  Cc: gcc-patches, shiyulong, oriachiuan, shihua, jiawei,
	Christoph Müllner, Jojo R

Hi Yi Xuan:

This patch is trivial, and generally LGTM, but I would require putting
the spec into https://github.com/riscv-non-isa/riscv-toolchain-conventions
before merging this, also don't forget include "RISC-V:" in the title,
it would be easier to track during the RISC-V GCC sync meeting :)

And I am a little bit confused by the author's info? is it from you or
"XYenChi <oriachiuan@gmail.com>"? or oriachiuan@gmail.com is also your
mail address?

cc Christoph since I believe you may know more about that process.
cc JoJo since you are T-head folk :P


On Wed, Nov 8, 2023 at 9:13 PM <chenyixuan@iscas.ac.cn> wrote:
>
> From: XYenChi <oriachiuan@gmail.com>
>
> This patch is for support xtheadv.
>
> gcc/ChangeLog:
>
> 2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>
>
>         * common/config/riscv/riscv-common.cc: Add xthead minimal support.
>
> gcc/config/ChangeLog:
>
> 2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>
>
>         * riscv/riscv.opt: Add xthead minimal support.
> ---
>  gcc/common/config/riscv/riscv-common.cc | 2 ++
>  gcc/config/riscv/riscv.opt              | 2 ++
>  2 files changed, 4 insertions(+)
>
> diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc
> index 526dbb7603b..d5ea0ee9b70 100644
> --- a/gcc/common/config/riscv/riscv-common.cc
> +++ b/gcc/common/config/riscv/riscv-common.cc
> @@ -325,6 +325,7 @@ static const struct riscv_ext_version riscv_ext_version_table[] =
>    {"xtheadmemidx", ISA_SPEC_CLASS_NONE, 1, 0},
>    {"xtheadmempair", ISA_SPEC_CLASS_NONE, 1, 0},
>    {"xtheadsync", ISA_SPEC_CLASS_NONE, 1, 0},
> +  {"xtheadv",    ISA_SPEC_CLASS_NONE, 0, 7},
>
>    {"xventanacondops", ISA_SPEC_CLASS_NONE, 1, 0},
>
> @@ -1680,6 +1681,7 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] =
>    {"xtheadmemidx",  &gcc_options::x_riscv_xthead_subext, MASK_XTHEADMEMIDX},
>    {"xtheadmempair", &gcc_options::x_riscv_xthead_subext, MASK_XTHEADMEMPAIR},
>    {"xtheadsync",    &gcc_options::x_riscv_xthead_subext, MASK_XTHEADSYNC},
> +  {"xtheadv",       &gcc_options::x_riscv_xthead_subext, MASK_XTHEADV},
>
>    {"xventanacondops", &gcc_options::x_riscv_xventana_subext, MASK_XVENTANACONDOPS},
>
> diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
> index 70d78151cee..2bbdf680fa2 100644
> --- a/gcc/config/riscv/riscv.opt
> +++ b/gcc/config/riscv/riscv.opt
> @@ -438,6 +438,8 @@ Mask(XTHEADMEMPAIR) Var(riscv_xthead_subext)
>
>  Mask(XTHEADSYNC)    Var(riscv_xthead_subext)
>
> +Mask(XTHEADV)       Var(riscv_xthead_subext)
> +
>  TargetVariable
>  int riscv_xventana_subext
>
> --
> 2.42.0
>

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

* Re: [PATCH] minimal support for xtheadv
  2023-11-09  7:39 ` Kito Cheng
@ 2023-11-09  8:05   ` Christoph Müllner
  2023-11-09  8:38     ` Yixuan Chen
  0 siblings, 1 reply; 6+ messages in thread
From: Christoph Müllner @ 2023-11-09  8:05 UTC (permalink / raw)
  To: Kito Cheng
  Cc: chenyixuan, gcc-patches, shiyulong, oriachiuan, shihua, jiawei,
	Jojo R, Philipp Tomsich, Cooper Qu

On Thu, Nov 9, 2023 at 8:39 AM Kito Cheng <kito.cheng@gmail.com> wrote:
>
> Hi Yi Xuan:
>
> This patch is trivial, and generally LGTM, but I would require putting
> the spec into https://github.com/riscv-non-isa/riscv-toolchain-conventions
> before merging this, also don't forget include "RISC-V:" in the title,
> it would be easier to track during the RISC-V GCC sync meeting :)
>
> And I am a little bit confused by the author's info? is it from you or
> "XYenChi <oriachiuan@gmail.com>"? or oriachiuan@gmail.com is also your
> mail address?
>
> cc Christoph since I believe you may know more about that process.
> cc JoJo since you are T-head folk :P

Hi Yi Xuan and Kito,

I was not aware that CAS is working on getting T-Head's Vector
extension supported.
My biggest concern with this patch is that "XTheadV" does not have a
specification.

T-Head and VRULL are currently working on support patches for T-Head's
Vector extension
implementation. We've named the extension XTheadVector.
Supporting XTheadVector means to address a range of issues (e.g.
defining a formal ISA
vendor extension specification, extension discovery, addressing
implementation details,
differences among available cores, intrinsics, ...).
We've already made good progress on that and expect to publish first
results soon.

BR
Christoph

>
>
> On Wed, Nov 8, 2023 at 9:13 PM <chenyixuan@iscas.ac.cn> wrote:
> >
> > From: XYenChi <oriachiuan@gmail.com>
> >
> > This patch is for support xtheadv.
> >
> > gcc/ChangeLog:
> >
> > 2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>
> >
> >         * common/config/riscv/riscv-common.cc: Add xthead minimal support.
> >
> > gcc/config/ChangeLog:
> >
> > 2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>
> >
> >         * riscv/riscv.opt: Add xthead minimal support.
> > ---
> >  gcc/common/config/riscv/riscv-common.cc | 2 ++
> >  gcc/config/riscv/riscv.opt              | 2 ++
> >  2 files changed, 4 insertions(+)
> >
> > diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc
> > index 526dbb7603b..d5ea0ee9b70 100644
> > --- a/gcc/common/config/riscv/riscv-common.cc
> > +++ b/gcc/common/config/riscv/riscv-common.cc
> > @@ -325,6 +325,7 @@ static const struct riscv_ext_version riscv_ext_version_table[] =
> >    {"xtheadmemidx", ISA_SPEC_CLASS_NONE, 1, 0},
> >    {"xtheadmempair", ISA_SPEC_CLASS_NONE, 1, 0},
> >    {"xtheadsync", ISA_SPEC_CLASS_NONE, 1, 0},
> > +  {"xtheadv",    ISA_SPEC_CLASS_NONE, 0, 7},
> >
> >    {"xventanacondops", ISA_SPEC_CLASS_NONE, 1, 0},
> >
> > @@ -1680,6 +1681,7 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] =
> >    {"xtheadmemidx",  &gcc_options::x_riscv_xthead_subext, MASK_XTHEADMEMIDX},
> >    {"xtheadmempair", &gcc_options::x_riscv_xthead_subext, MASK_XTHEADMEMPAIR},
> >    {"xtheadsync",    &gcc_options::x_riscv_xthead_subext, MASK_XTHEADSYNC},
> > +  {"xtheadv",       &gcc_options::x_riscv_xthead_subext, MASK_XTHEADV},
> >
> >    {"xventanacondops", &gcc_options::x_riscv_xventana_subext, MASK_XVENTANACONDOPS},
> >
> > diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
> > index 70d78151cee..2bbdf680fa2 100644
> > --- a/gcc/config/riscv/riscv.opt
> > +++ b/gcc/config/riscv/riscv.opt
> > @@ -438,6 +438,8 @@ Mask(XTHEADMEMPAIR) Var(riscv_xthead_subext)
> >
> >  Mask(XTHEADSYNC)    Var(riscv_xthead_subext)
> >
> > +Mask(XTHEADV)       Var(riscv_xthead_subext)
> > +
> >  TargetVariable
> >  int riscv_xventana_subext
> >
> > --
> > 2.42.0
> >

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

* Re: [PATCH] minimal support for xtheadv
  2023-11-09  8:05   ` Christoph Müllner
@ 2023-11-09  8:38     ` Yixuan Chen
  2023-11-09 16:04       ` Jeff Law
  0 siblings, 1 reply; 6+ messages in thread
From: Yixuan Chen @ 2023-11-09  8:38 UTC (permalink / raw)
  To: Christoph Müllner
  Cc: Kito Cheng, chenyixuan, gcc-patches, shiyulong, shihua, jiawei,
	Jojo R, Philipp Tomsich, Cooper Qu

[-- Attachment #1: Type: text/plain, Size: 4500 bytes --]

Hi Kito and Christoph,

XYenChi (oriachiaun@gmail.com) is my e-mail address too. I didn't notice
the git email config have changed, very sorry about that.

We want to support other operate system project from our team, so port the
XTheadV. If T-Head and VRULL have made great progress, it's pleasure to
follow your work. By the way, I have sent the opcode patch to binutils, if
you have any concern, please check the patch:
https://sourceware.org/pipermail/binutils/2023-November/130431.html

If our team could provide any help, please let us know.

Best regards
Yixuan

Christoph Müllner <christoph.muellner@vrull.eu> 于2023年11月9日周四 16:06写道:

> On Thu, Nov 9, 2023 at 8:39 AM Kito Cheng <kito.cheng@gmail.com> wrote:
> >
> > Hi Yi Xuan:
> >
> > This patch is trivial, and generally LGTM, but I would require putting
> > the spec into
> https://github.com/riscv-non-isa/riscv-toolchain-conventions
> > before merging this, also don't forget include "RISC-V:" in the title,
> > it would be easier to track during the RISC-V GCC sync meeting :)
> >
> > And I am a little bit confused by the author's info? is it from you or
> > "XYenChi <oriachiuan@gmail.com>"? or oriachiuan@gmail.com is also your
> > mail address?
> >
> > cc Christoph since I believe you may know more about that process.
> > cc JoJo since you are T-head folk :P
>
> Hi Yi Xuan and Kito,
>
> I was not aware that CAS is working on getting T-Head's Vector
> extension supported.
> My biggest concern with this patch is that "XTheadV" does not have a
> specification.
>
> T-Head and VRULL are currently working on support patches for T-Head's
> Vector extension
> implementation. We've named the extension XTheadVector.
> Supporting XTheadVector means to address a range of issues (e.g.
> defining a formal ISA
> vendor extension specification, extension discovery, addressing
> implementation details,
> differences among available cores, intrinsics, ...).
> We've already made good progress on that and expect to publish first
> results soon.
>
> BR
> Christoph
>
> >
> >
> > On Wed, Nov 8, 2023 at 9:13 PM <chenyixuan@iscas.ac.cn> wrote:
> > >
> > > From: XYenChi <oriachiuan@gmail.com>
> > >
> > > This patch is for support xtheadv.
> > >
> > > gcc/ChangeLog:
> > >
> > > 2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>
> > >
> > >         * common/config/riscv/riscv-common.cc: Add xthead minimal
> support.
> > >
> > > gcc/config/ChangeLog:
> > >
> > > 2023-11-08  Chen Yixuan  <chenyixuan@iscas.an.cn>
> > >
> > >         * riscv/riscv.opt: Add xthead minimal support.
> > > ---
> > >  gcc/common/config/riscv/riscv-common.cc | 2 ++
> > >  gcc/config/riscv/riscv.opt              | 2 ++
> > >  2 files changed, 4 insertions(+)
> > >
> > > diff --git a/gcc/common/config/riscv/riscv-common.cc
> b/gcc/common/config/riscv/riscv-common.cc
> > > index 526dbb7603b..d5ea0ee9b70 100644
> > > --- a/gcc/common/config/riscv/riscv-common.cc
> > > +++ b/gcc/common/config/riscv/riscv-common.cc
> > > @@ -325,6 +325,7 @@ static const struct riscv_ext_version
> riscv_ext_version_table[] =
> > >    {"xtheadmemidx", ISA_SPEC_CLASS_NONE, 1, 0},
> > >    {"xtheadmempair", ISA_SPEC_CLASS_NONE, 1, 0},
> > >    {"xtheadsync", ISA_SPEC_CLASS_NONE, 1, 0},
> > > +  {"xtheadv",    ISA_SPEC_CLASS_NONE, 0, 7},
> > >
> > >    {"xventanacondops", ISA_SPEC_CLASS_NONE, 1, 0},
> > >
> > > @@ -1680,6 +1681,7 @@ static const riscv_ext_flag_table_t
> riscv_ext_flag_table[] =
> > >    {"xtheadmemidx",  &gcc_options::x_riscv_xthead_subext,
> MASK_XTHEADMEMIDX},
> > >    {"xtheadmempair", &gcc_options::x_riscv_xthead_subext,
> MASK_XTHEADMEMPAIR},
> > >    {"xtheadsync",    &gcc_options::x_riscv_xthead_subext,
> MASK_XTHEADSYNC},
> > > +  {"xtheadv",       &gcc_options::x_riscv_xthead_subext,
> MASK_XTHEADV},
> > >
> > >    {"xventanacondops", &gcc_options::x_riscv_xventana_subext,
> MASK_XVENTANACONDOPS},
> > >
> > > diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
> > > index 70d78151cee..2bbdf680fa2 100644
> > > --- a/gcc/config/riscv/riscv.opt
> > > +++ b/gcc/config/riscv/riscv.opt
> > > @@ -438,6 +438,8 @@ Mask(XTHEADMEMPAIR) Var(riscv_xthead_subext)
> > >
> > >  Mask(XTHEADSYNC)    Var(riscv_xthead_subext)
> > >
> > > +Mask(XTHEADV)       Var(riscv_xthead_subext)
> > > +
> > >  TargetVariable
> > >  int riscv_xventana_subext
> > >
> > > --
> > > 2.42.0
> > >
>

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

* Re: [PATCH] minimal support for xtheadv
  2023-11-09  8:38     ` Yixuan Chen
@ 2023-11-09 16:04       ` Jeff Law
  2023-11-09 16:22         ` Kito Cheng
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Law @ 2023-11-09 16:04 UTC (permalink / raw)
  To: Yixuan Chen, Christoph Müllner
  Cc: Kito Cheng, chenyixuan, gcc-patches, shiyulong, shihua, jiawei,
	Jojo R, Philipp Tomsich, Cooper Qu



On 11/9/23 01:38, Yixuan Chen wrote:
> Hi Kito and Christoph,
> 
> XYenChi (oriachiaun@gmail.com <mailto:oriachiaun@gmail.com>) is my 
> e-mail address too. I didn't notice the git email config have changed, 
> very sorry about that.
> 
> We want to support other operate system project from our team, so port 
> the XTheadV. If T-Head and VRULL have made great progress, it's pleasure 
> to follow your work. By the way, I have sent the opcode patch to 
> binutils, if you have any concern, please check the patch: 
> https://sourceware.org/pipermail/binutils/2023-November/130431.html 
> <https://sourceware.org/pipermail/binutils/2023-November/130431.html>
> 
> If our team could provide any help, please let us know.
Given we see multiple organizations with an interest in this work, but 
that the bulk of the work can't be integrated in the short term, y'all 
might consider a shared development branch for coordination.

That gives the two organizations a place to coordinate their work while 
things like the ISA spec and such get solidified.  Presumably the goal 
for the main body of work is not gcc-14, but gcc-15.

I don't want to dictate how coordination happens.  Ultimately it's 
something the relevant developers can decide.

jeff

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

* Re: [PATCH] minimal support for xtheadv
  2023-11-09 16:04       ` Jeff Law
@ 2023-11-09 16:22         ` Kito Cheng
  0 siblings, 0 replies; 6+ messages in thread
From: Kito Cheng @ 2023-11-09 16:22 UTC (permalink / raw)
  To: Jeff Law
  Cc: Yixuan Chen, Christoph Müllner, chenyixuan, gcc-patches,
	shiyulong, shihua, jiawei, Jojo R, Philipp Tomsich, Cooper Qu

Give a few more thought behind my first LGTM:

I am OK *IF* binutils bits accepted since it's just kind of bypassing
the -march to bintuils to enable those instructions for assembly code.
However the situation seems is little more complicated than my expect
at beginning...:P

Anyway, I still think it's fine to accept that to me *IF* bintuils
part has landed, but only limited to -march support, no further things
for GCC 14 like intrinsic and auto vectorizer stuff for t-head vector
(or vector 0.7).

On Fri, Nov 10, 2023 at 12:05 AM Jeff Law <jeffreyalaw@gmail.com> wrote:
>
>
>
> On 11/9/23 01:38, Yixuan Chen wrote:
> > Hi Kito and Christoph,
> >
> > XYenChi (oriachiaun@gmail.com <mailto:oriachiaun@gmail.com>) is my
> > e-mail address too. I didn't notice the git email config have changed,
> > very sorry about that.
> >
> > We want to support other operate system project from our team, so port
> > the XTheadV. If T-Head and VRULL have made great progress, it's pleasure
> > to follow your work. By the way, I have sent the opcode patch to
> > binutils, if you have any concern, please check the patch:
> > https://sourceware.org/pipermail/binutils/2023-November/130431.html
> > <https://sourceware.org/pipermail/binutils/2023-November/130431.html>
> >
> > If our team could provide any help, please let us know.
> Given we see multiple organizations with an interest in this work, but
> that the bulk of the work can't be integrated in the short term, y'all
> might consider a shared development branch for coordination.
>
> That gives the two organizations a place to coordinate their work while
> things like the ISA spec and such get solidified.  Presumably the goal
> for the main body of work is not gcc-14, but gcc-15.
>
> I don't want to dictate how coordination happens.  Ultimately it's
> something the relevant developers can decide.
>
> jeff

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

end of thread, other threads:[~2023-11-09 16:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-08 13:12 [PATCH] minimal support for xtheadv chenyixuan
2023-11-09  7:39 ` Kito Cheng
2023-11-09  8:05   ` Christoph Müllner
2023-11-09  8:38     ` Yixuan Chen
2023-11-09 16:04       ` Jeff Law
2023-11-09 16:22         ` Kito Cheng

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).