* [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp @ 2023-07-07 7:51 Christophe Lyon 2023-07-07 7:51 ` [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets Christophe Lyon 2023-07-10 13:47 ` [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Kyrylo Tkachov 0 siblings, 2 replies; 7+ messages in thread From: Christophe Lyon @ 2023-07-07 7:51 UTC (permalink / raw) To: gcc-patches, Kyrylo.Tkachov, richard.earnshaw; +Cc: Christophe Lyon The arm_v8_1m_main_cde_mve_fp family of effective targets was not documented when it was introduced. 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Document. --- gcc/doc/sourcebuild.texi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 526020c7511..03fb2394705 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2190,6 +2190,12 @@ ARM target supports options to generate instructions from ARMv8.1-M with the Custom Datapath Extension (CDE) and M-Profile Vector Extension (MVE). Some multilibs may be incompatible with these options. +@item arm_v8_1m_main_cde_mve_fp +ARM target supports options to generate instructions from ARMv8.1-M +with the Custom Datapath Extension (CDE) and M-Profile Vector +Extension (MVE) with floating-point support. Some multilibs may be +incompatible with these options. + @item arm_pacbti_hw Test system supports executing Pointer Authentication and Branch Target Identification instructions. -- 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets 2023-07-07 7:51 [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Christophe Lyon @ 2023-07-07 7:51 ` Christophe Lyon 2023-07-10 13:45 ` Kyrylo Tkachov 2023-07-10 13:47 ` [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Kyrylo Tkachov 1 sibling, 1 reply; 7+ messages in thread From: Christophe Lyon @ 2023-07-07 7:51 UTC (permalink / raw) To: gcc-patches, Kyrylo.Tkachov, richard.earnshaw; +Cc: Christophe Lyon For arm targets, we generate many effective-targets with check_effective_target_FUNC_multilib and check_effective_target_arm_arch_FUNC_multilib which check if we can link and execute a simple program with a given set of flags/multilibs. In some cases however, it's possible to link but not to execute a program, so this patch adds similar _link effective-targets which only check if link succeeds. The patch does not uupdate the documentation as it already lacks the numerous existing related effective-targets. 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org> gcc/testsuite/ * lib/target-supports.exp (arm_*FUNC_link): New effective-targets. --- gcc/testsuite/lib/target-supports.exp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index c04db2be7f9..d33bc077418 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5129,6 +5129,14 @@ foreach { armfunc armflag armdefs } { return "$flags FLAG" } + proc check_effective_target_arm_arch_FUNC_link { } { + return [check_no_compiler_messages arm_arch_FUNC_link executable { + #include <stdint.h> + int dummy; + int main (void) { return 0; } + } [add_options_for_arm_arch_FUNC ""]] + } + proc check_effective_target_arm_arch_FUNC_multilib { } { return [check_runtime arm_arch_FUNC_multilib { int @@ -5906,6 +5914,7 @@ proc add_options_for_arm_v8_2a_bf16_neon { flags } { # arm_v8m_main_cde: Armv8-m CDE (Custom Datapath Extension). # arm_v8m_main_cde_fp: Armv8-m CDE with FP registers. # arm_v8_1m_main_cde_mve: Armv8.1-m CDE with MVE. +# arm_v8_1m_main_cde_mve_fp: Armv8.1-m CDE with MVE with FP support. # Usage: # /* { dg-require-effective-target arm_v8m_main_cde_ok } */ # /* { dg-add-options arm_v8m_main_cde } */ @@ -5965,6 +5974,24 @@ foreach { armfunc armflag armdef arminc } { return "$flags $et_FUNC_flags" } + proc check_effective_target_FUNC_link { } { + if { ! [check_effective_target_FUNC_ok] } { + return 0; + } + return [check_no_compiler_messages FUNC_link executable { + #if !(DEF) + #error "DEF failed" + #endif + #include <arm_cde.h> + INC + int + main (void) + { + return 0; + } + } [add_options_for_FUNC ""]] + } + proc check_effective_target_FUNC_multilib { } { if { ! [check_effective_target_FUNC_ok] } { return 0; -- 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets 2023-07-07 7:51 ` [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets Christophe Lyon @ 2023-07-10 13:45 ` Kyrylo Tkachov 2023-07-10 13:58 ` Christophe Lyon 0 siblings, 1 reply; 7+ messages in thread From: Kyrylo Tkachov @ 2023-07-10 13:45 UTC (permalink / raw) To: Christophe Lyon, gcc-patches, Richard Earnshaw > -----Original Message----- > From: Christophe Lyon <christophe.lyon@linaro.org> > Sent: Friday, July 7, 2023 8:52 AM > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; > Richard Earnshaw <Richard.Earnshaw@arm.com> > Cc: Christophe Lyon <christophe.lyon@linaro.org> > Subject: [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* > effective-targets > > For arm targets, we generate many effective-targets with > check_effective_target_FUNC_multilib and > check_effective_target_arm_arch_FUNC_multilib which check if we can > link and execute a simple program with a given set of flags/multilibs. > > In some cases however, it's possible to link but not to execute a > program, so this patch adds similar _link effective-targets which only > check if link succeeds. > > The patch does not uupdate the documentation as it already lacks the > numerous existing related effective-targets. I think this looks ok but... > > 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org> > > gcc/testsuite/ > * lib/target-supports.exp (arm_*FUNC_link): New effective-targets. > --- > gcc/testsuite/lib/target-supports.exp | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target- > supports.exp > index c04db2be7f9..d33bc077418 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -5129,6 +5129,14 @@ foreach { armfunc armflag armdefs } { > return "$flags FLAG" > } > > + proc check_effective_target_arm_arch_FUNC_link { } { > + return [check_no_compiler_messages arm_arch_FUNC_link > executable { > + #include <stdint.h> > + int dummy; > + int main (void) { return 0; } > + } [add_options_for_arm_arch_FUNC ""]] > + } > + > proc check_effective_target_arm_arch_FUNC_multilib { } { > return [check_runtime arm_arch_FUNC_multilib { > int > @@ -5906,6 +5914,7 @@ proc add_options_for_arm_v8_2a_bf16_neon { > flags } { > # arm_v8m_main_cde: Armv8-m CDE (Custom Datapath Extension). > # arm_v8m_main_cde_fp: Armv8-m CDE with FP registers. > # arm_v8_1m_main_cde_mve: Armv8.1-m CDE with MVE. > +# arm_v8_1m_main_cde_mve_fp: Armv8.1-m CDE with MVE with FP > support. > # Usage: > # /* { dg-require-effective-target arm_v8m_main_cde_ok } */ > # /* { dg-add-options arm_v8m_main_cde } */ > @@ -5965,6 +5974,24 @@ foreach { armfunc armflag armdef arminc } { > return "$flags $et_FUNC_flags" > } > > + proc check_effective_target_FUNC_link { } { > + if { ! [check_effective_target_FUNC_ok] } { > + return 0; > + } > + return [check_no_compiler_messages FUNC_link executable { > + #if !(DEF) > + #error "DEF failed" > + #endif > + #include <arm_cde.h> ... why is arm_cde.h included here? > + INC > + int > + main (void) > + { > + return 0; > + } > + } [add_options_for_FUNC ""]] > + } > + > proc check_effective_target_FUNC_multilib { } { > if { ! [check_effective_target_FUNC_ok] } { > return 0; > -- > 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets 2023-07-10 13:45 ` Kyrylo Tkachov @ 2023-07-10 13:58 ` Christophe Lyon 2023-07-10 14:02 ` Kyrylo Tkachov 0 siblings, 1 reply; 7+ messages in thread From: Christophe Lyon @ 2023-07-10 13:58 UTC (permalink / raw) To: Kyrylo Tkachov; +Cc: gcc-patches, Richard Earnshaw [-- Attachment #1: Type: text/plain, Size: 4003 bytes --] On Mon, 10 Jul 2023 at 15:46, Kyrylo Tkachov <Kyrylo.Tkachov@arm.com> wrote: > > > > -----Original Message----- > > From: Christophe Lyon <christophe.lyon@linaro.org> > > Sent: Friday, July 7, 2023 8:52 AM > > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; > > Richard Earnshaw <Richard.Earnshaw@arm.com> > > Cc: Christophe Lyon <christophe.lyon@linaro.org> > > Subject: [PATCH] testsuite: Add _link flavor for several arm_arch* and > arm* > > effective-targets > > > > For arm targets, we generate many effective-targets with > > check_effective_target_FUNC_multilib and > > check_effective_target_arm_arch_FUNC_multilib which check if we can > > link and execute a simple program with a given set of flags/multilibs. > > > > In some cases however, it's possible to link but not to execute a > > program, so this patch adds similar _link effective-targets which only > > check if link succeeds. > > > > The patch does not uupdate the documentation as it already lacks the > > numerous existing related effective-targets. > > I think this looks ok but... > > > > > 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org> > > > > gcc/testsuite/ > > * lib/target-supports.exp (arm_*FUNC_link): New effective-targets. > > --- > > gcc/testsuite/lib/target-supports.exp | 27 +++++++++++++++++++++++++++ > > 1 file changed, 27 insertions(+) > > > > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target- > > supports.exp > > index c04db2be7f9..d33bc077418 100644 > > --- a/gcc/testsuite/lib/target-supports.exp > > +++ b/gcc/testsuite/lib/target-supports.exp > > @@ -5129,6 +5129,14 @@ foreach { armfunc armflag armdefs } { > > return "$flags FLAG" > > } > > > > + proc check_effective_target_arm_arch_FUNC_link { } { > > + return [check_no_compiler_messages arm_arch_FUNC_link > > executable { > > + #include <stdint.h> > > + int dummy; > > + int main (void) { return 0; } > > + } [add_options_for_arm_arch_FUNC ""]] > > + } > > + > > proc check_effective_target_arm_arch_FUNC_multilib { } { > > return [check_runtime arm_arch_FUNC_multilib { > > int > > @@ -5906,6 +5914,7 @@ proc add_options_for_arm_v8_2a_bf16_neon { > > flags } { > > # arm_v8m_main_cde: Armv8-m CDE (Custom Datapath Extension). > > # arm_v8m_main_cde_fp: Armv8-m CDE with FP registers. > > # arm_v8_1m_main_cde_mve: Armv8.1-m CDE with MVE. > > +# arm_v8_1m_main_cde_mve_fp: Armv8.1-m CDE with MVE with FP > > support. > > # Usage: > > # /* { dg-require-effective-target arm_v8m_main_cde_ok } */ > > # /* { dg-add-options arm_v8m_main_cde } */ > > @@ -5965,6 +5974,24 @@ foreach { armfunc armflag armdef arminc } { > > return "$flags $et_FUNC_flags" > > } > > > > + proc check_effective_target_FUNC_link { } { > > + if { ! [check_effective_target_FUNC_ok] } { > > + return 0; > > + } > > + return [check_no_compiler_messages FUNC_link executable { > > + #if !(DEF) > > + #error "DEF failed" > > + #endif > > + #include <arm_cde.h> > > ... why is arm_cde.h included here? > > It's the very same code as check_effective_target_FUNC_multilib below. I think it's needed in case the toolchain's default configuration is not able to support CDE. I believe these tests would fail if the toolchain defaults to -mfloat-abi=soft (the gnu/stubs-{soft|hard}.h "usual" error) I added this chunk for consistency with the other one, it's not needed at the moment. Christophe > + INC > > + int > > + main (void) > > + { > > + return 0; > > + } > > + } [add_options_for_FUNC ""]] > > + } > > + > > proc check_effective_target_FUNC_multilib { } { > > if { ! [check_effective_target_FUNC_ok] } { > > return 0; > > -- > > 2.34.1 > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets 2023-07-10 13:58 ` Christophe Lyon @ 2023-07-10 14:02 ` Kyrylo Tkachov 0 siblings, 0 replies; 7+ messages in thread From: Kyrylo Tkachov @ 2023-07-10 14:02 UTC (permalink / raw) To: Christophe Lyon; +Cc: gcc-patches, Richard Earnshaw > -----Original Message----- > From: Christophe Lyon <christophe.lyon@linaro.org> > Sent: Monday, July 10, 2023 2:59 PM > To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com> > Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw > <Richard.Earnshaw@arm.com> > Subject: Re: [PATCH] testsuite: Add _link flavor for several arm_arch* and > arm* effective-targets > > > > On Mon, 10 Jul 2023 at 15:46, Kyrylo Tkachov <Kyrylo.Tkachov@arm.com > <mailto:Kyrylo.Tkachov@arm.com> > wrote: > > > > > > -----Original Message----- > > From: Christophe Lyon <christophe.lyon@linaro.org > <mailto:christophe.lyon@linaro.org> > > > Sent: Friday, July 7, 2023 8:52 AM > > To: gcc-patches@gcc.gnu.org <mailto:gcc-patches@gcc.gnu.org> ; > Kyrylo Tkachov <Kyrylo.Tkachov@arm.com > <mailto:Kyrylo.Tkachov@arm.com> >; > > Richard Earnshaw <Richard.Earnshaw@arm.com > <mailto:Richard.Earnshaw@arm.com> > > > Cc: Christophe Lyon <christophe.lyon@linaro.org > <mailto:christophe.lyon@linaro.org> > > > Subject: [PATCH] testsuite: Add _link flavor for several arm_arch* > and arm* > > effective-targets > > > > For arm targets, we generate many effective-targets with > > check_effective_target_FUNC_multilib and > > check_effective_target_arm_arch_FUNC_multilib which check if we > can > > link and execute a simple program with a given set of > flags/multilibs. > > > > In some cases however, it's possible to link but not to execute a > > program, so this patch adds similar _link effective-targets which only > > check if link succeeds. > > > > The patch does not uupdate the documentation as it already lacks > the > > numerous existing related effective-targets. > > I think this looks ok but... > > > > > 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org > <mailto:christophe.lyon@linaro.org> > > > > > gcc/testsuite/ > > * lib/target-supports.exp (arm_*FUNC_link): New effective- > targets. > > --- > > gcc/testsuite/lib/target-supports.exp | 27 > +++++++++++++++++++++++++++ > > 1 file changed, 27 insertions(+) > > > > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target- > > supports.exp > > index c04db2be7f9..d33bc077418 100644 > > --- a/gcc/testsuite/lib/target-supports.exp > > +++ b/gcc/testsuite/lib/target-supports.exp > > @@ -5129,6 +5129,14 @@ foreach { armfunc armflag armdefs } { > > return "$flags FLAG" > > } > > > > + proc check_effective_target_arm_arch_FUNC_link { } { > > + return [check_no_compiler_messages arm_arch_FUNC_link > > executable { > > + #include <stdint.h> > > + int dummy; > > + int main (void) { return 0; } > > + } [add_options_for_arm_arch_FUNC ""]] > > + } > > + > > proc check_effective_target_arm_arch_FUNC_multilib { } { > > return [check_runtime arm_arch_FUNC_multilib { > > int > > @@ -5906,6 +5914,7 @@ proc > add_options_for_arm_v8_2a_bf16_neon { > > flags } { > > # arm_v8m_main_cde: Armv8-m CDE (Custom Datapath > Extension). > > # arm_v8m_main_cde_fp: Armv8-m CDE with FP registers. > > # arm_v8_1m_main_cde_mve: Armv8.1-m CDE with MVE. > > +# arm_v8_1m_main_cde_mve_fp: Armv8.1-m CDE with MVE with > FP > > support. > > # Usage: > > # /* { dg-require-effective-target arm_v8m_main_cde_ok } */ > > # /* { dg-add-options arm_v8m_main_cde } */ > > @@ -5965,6 +5974,24 @@ foreach { armfunc armflag armdef > arminc } { > > return "$flags $et_FUNC_flags" > > } > > > > + proc check_effective_target_FUNC_link { } { > > + if { ! [check_effective_target_FUNC_ok] } { > > + return 0; > > + } > > + return [check_no_compiler_messages FUNC_link executable { > > + #if !(DEF) > > + #error "DEF failed" > > + #endif > > + #include <arm_cde.h> > > ... why is arm_cde.h included here? > > > > It's the very same code as check_effective_target_FUNC_multilib below. > > I think it's needed in case the toolchain's default configuration is not > able to support CDE. I believe these tests would fail if the toolchain defaults > to -mfloat-abi=soft (the gnu/stubs-{soft|hard}.h "usual" error) > > I added this chunk for consistency with the other one, it's not needed at the > moment. Ah, this is a CDE-specific region. I couldn't tell from the default diff context, but having looked at the code around it, it makes sense. Ok. Thanks, Kyrill > > Christophe > > > > > > + INC > > + int > > + main (void) > > + { > > + return 0; > > + } > > + } [add_options_for_FUNC ""]] > > + } > > + > > proc check_effective_target_FUNC_multilib { } { > > if { ! [check_effective_target_FUNC_ok] } { > > return 0; > > -- > > 2.34.1 > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp 2023-07-07 7:51 [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Christophe Lyon 2023-07-07 7:51 ` [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets Christophe Lyon @ 2023-07-10 13:47 ` Kyrylo Tkachov 2024-05-28 9:31 ` Arm branding (was: [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp) Gerald Pfeifer 1 sibling, 1 reply; 7+ messages in thread From: Kyrylo Tkachov @ 2023-07-10 13:47 UTC (permalink / raw) To: Christophe Lyon, gcc-patches, Richard Earnshaw > -----Original Message----- > From: Christophe Lyon <christophe.lyon@linaro.org> > Sent: Friday, July 7, 2023 8:52 AM > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; > Richard Earnshaw <Richard.Earnshaw@arm.com> > Cc: Christophe Lyon <christophe.lyon@linaro.org> > Subject: [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp > > The arm_v8_1m_main_cde_mve_fp family of effective targets was not > documented when it was introduced. > > 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org> > > gcc/ > * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Document. > --- > gcc/doc/sourcebuild.texi | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi > index 526020c7511..03fb2394705 100644 > --- a/gcc/doc/sourcebuild.texi > +++ b/gcc/doc/sourcebuild.texi > @@ -2190,6 +2190,12 @@ ARM target supports options to generate > instructions from ARMv8.1-M with > the Custom Datapath Extension (CDE) and M-Profile Vector Extension (MVE). > Some multilibs may be incompatible with these options. > > +@item arm_v8_1m_main_cde_mve_fp > +ARM target supports options to generate instructions from ARMv8.1-M > +with the Custom Datapath Extension (CDE) and M-Profile Vector > +Extension (MVE) with floating-point support. Some multilibs may be > +incompatible with these options. I know the GCC source is inconsistent on this but the proper branding these days is "ARM" -> "Arm" and "ARMv8.1-M" -> "Armv8.1-M". Ok with those changes. Thanks, Kyrill > + > @item arm_pacbti_hw > Test system supports executing Pointer Authentication and Branch Target > Identification instructions. > -- > 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Arm branding (was: [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp) 2023-07-10 13:47 ` [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Kyrylo Tkachov @ 2024-05-28 9:31 ` Gerald Pfeifer 0 siblings, 0 replies; 7+ messages in thread From: Gerald Pfeifer @ 2024-05-28 9:31 UTC (permalink / raw) To: Kyrylo Tkachov; +Cc: Christophe Lyon, gcc-patches, Richard Earnshaw On Mon, 10 Jul 2023, Kyrylo Tkachov via Gcc-patches wrote: > I know the GCC source is inconsistent on this but the proper branding > these days is "ARM" -> "Arm" and "ARMv8.1-M" -> "Armv8.1-M". Arm, Red Hat, and SUSE - those three are spelt incorrectly by third parties more often than not, it seems. :-( Is it always Arm now in every context and meaning (outside target triplets)? If so, I'll add a line to our table in codingconventions.html? If not, can you explain the specifics? Gerald ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-05-28 9:31 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-07-07 7:51 [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Christophe Lyon 2023-07-07 7:51 ` [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets Christophe Lyon 2023-07-10 13:45 ` Kyrylo Tkachov 2023-07-10 13:58 ` Christophe Lyon 2023-07-10 14:02 ` Kyrylo Tkachov 2023-07-10 13:47 ` [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp Kyrylo Tkachov 2024-05-28 9:31 ` Arm branding (was: [PATCH] doc: Document arm_v8_1m_main_cde_mve_fp) Gerald Pfeifer
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).