Hi Dominc, > -----Original Message----- > From: Dominic P <[email protected]> > Sent: 05 October 2026 22:20 > To: Tamar Christina <[email protected]> > Cc: [email protected]; Richard Biener <[email protected]>; Richard > Sandiford <[email protected]>; Robin Dapp > <[email protected]> > Subject: Re: [PATCH v2 1/2] vect: Account for peeling by masking in strided > gather offsets > > Thanks Tamar. I may have misunderstood, but when I tried the change it > did not seem to exclude the unmasked targets: at this point > LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P still has its initial value (true), > so the condition also holds for x86-64 with -mavx2 and for aarch64 with > +nosve (I checked in the debugger with peeling for alignment 3 and 7). >
Hmm, yes unfortunately this looks to be called from vect_slp_analyze_operations before we call vect_determine_partial_vectors_and_peeling and once set it's not re-evaluated. > Would a check of whether the target supports masked gather/scatter (or > partial vectors) for this vector mode be what you had in mind, or is there > a better way to tell this early? Happy to go with whatever you prefer. > That probably won't work well, as gs_info->ifn isn't set in all cases. I think we just have to be conservatively correct, so drop the LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P and use the original patch, But add a comment saying that we can't determine the exact peeling method or whether masks are required yet and so are being conservative. Thanks, Tamar > Dominic
