On Mon, 2 Dec 2024 at 10:45, 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).
>
Indeed, but I wasn't expecting regressions within the series, also
fixed within the series (I thought the policy was to avoid such
things, and that each patch is expected not to introduce regressions,
precisely because it's annoying during bisects).
As you have probably noticed the CI has sent other notifications with
your follow-up patches, finding a few more regressions and indeed lots
of improvements.  I'll have a quick check and probably close them as
these results look to be expected from your side.

Regarding the 22 regressions you mention above, I've noticed that
Andrew Pinksi has fixed some (all?) of them already (in case you
haven't noticed his patches).

Thanks,

Christophe


> 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