On Mon, Dec 2, 2024 at 1:47 AM Tejas Belagod <tejas.bela...@arm.com> wrote:
>
> On 11/30/24 3:30 AM, Christophe Lyon wrote:
> > Hi!
> >
> > On Fri, 29 Nov 2024 at 05:00, Tejas Belagod <tejas.bela...@arm.com> wrote:
> >>
> >> This patch changes the TYPE_INDIVISBLE flag to 0 to enable SVE ACLE types 
> >> to be
> >> treated as GNU vectors and have the same semantics with operations that are
> >> defined on GNU vectors.
> >>
> >> gcc/ChangeLog:
> >>
> >>          * config/aarch64/aarch64-sve-builtins.cc 
> >> (register_builtin_types): Flip
> >>          TYPE_INDIVISBLE flag for SVE ACLE vector types.
> >
> > Sorry I haven't closely followed the discussions around this patch
> > series, but the Linaro postcommit CI reports
> > 1036 regressions after patch 2/8, is that expected?
> > Given that precommit CI detected "only" 22 regressions with all 8
> > patches, I suppose most of the 1036 are fixed later in the series?
>
> Thanks for raising this.
>
> Patch 2/8 enables SVE vectors to behave like GNU vectors (C/C++ operator
> semantics start applying to SVE vectors) which has a lot of fallout in
> FE/ME/BE that the patches 3-8 fix (mostly related to handling VLA vectors).
>
> I'm currently testing a patch to fix the remaining 22 regressions - they
> are mostly testisms for which I wanted to make sure I was doing the
> right thing (which I have indicated in my cover letter).

I think I fixed all of the testcases over the weekend.

https://gcc.gnu.org/pipermail/gcc-patches/2024-December/670492.html
https://gcc.gnu.org/pipermail/gcc-patches/2024-December/670493.html
https://gcc.gnu.org/pipermail/gcc-patches/2024-December/670494.html
https://gcc.gnu.org/pipermail/gcc-patches/2024-December/670495.html
https://gcc.gnu.org/pipermail/gcc-patches/2024-December/670496.html
https://gcc.gnu.org/pipermail/gcc-patches/2024-December/670497.html

Thanks,
Andrew

>
> Thanks,
> Tejas.
>
> >
> > Thanks,
> >
> > Christophe
> >
> >> ---
> >>   gcc/config/aarch64/aarch64-sve-builtins.cc | 5 ++++-
> >>   1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc 
> >> b/gcc/config/aarch64/aarch64-sve-builtins.cc
> >> index 0fec1cd439e..adbadd303d4 100644
> >> --- a/gcc/config/aarch64/aarch64-sve-builtins.cc
> >> +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
> >> @@ -4576,6 +4576,9 @@ register_builtin_types ()
> >>                vectype = build_truth_vector_type_for_mode 
> >> (BYTES_PER_SVE_VECTOR,
> >>                                                            VNx16BImode);
> >>                num_pr = 1;
> >> +             /* Leave svbool_t as indivisible for now.  We don't yet 
> >> support
> >> +                C/C++ operators on predicates.  */
> >> +             TYPE_INDIVISIBLE_P (vectype) = 1;
> >>              }
> >>            else
> >>              {
> >> @@ -4592,12 +4595,12 @@ register_builtin_types ()
> >>                            && TYPE_ALIGN (vectype) == 128
> >>                            && known_eq (size, BITS_PER_SVE_VECTOR));
> >>                num_zr = 1;
> >> +             TYPE_INDIVISIBLE_P (vectype) = 0;
> >>              }
> >>            vectype = build_distinct_type_copy (vectype);
> >>            gcc_assert (vectype == TYPE_MAIN_VARIANT (vectype));
> >>            SET_TYPE_STRUCTURAL_EQUALITY (vectype);
> >>            TYPE_ARTIFICIAL (vectype) = 1;
> >> -         TYPE_INDIVISIBLE_P (vectype) = 1;
> >>            make_type_sizeless (vectype);
> >>          }
> >>         if (num_pr)
> >> --
> >> 2.25.1
> >>
>

Reply via email to