On Thu, Oct 08, 2026 at 10:46:50AM +0530, jeevitha wrote: > > > On 06/10/26 3:39 pm, jeevitha wrote: > > Hi All, > > > > The following patch has been bootstrapped and regtested on > > powerpc64le-linux and powerpc64-linux. > > > > The vcond_mask_<mode><mode> expander used the VEC_I mode iterator, > > while the vec_cmp<mode><mode> and vec_cmpu<mode><mode> expanders > > already used VEC_IC, which includes V1TI for Power10. As a result, > > vcond_mask_v1tiv1ti was not generated for V1TI. > > > > Without vcond_mask_v1tiv1ti, expand_vec_cond_expr_p returns false > > for V1TI and veclower2 scalarises the VEC_COND_EXPR for vector > > __int128 comparisons through GPRs, losing the xxlnor instructions > > expected by fold-vec-cmp-int128.c and pr103316.c. > > > > Fix this by changing the iterator for vcond_mask_<mode><mode> from > > VEC_I to VEC_IC. > > > > 2026-10-06 Jeevitha Palanisamy <[email protected]> > > > > gcc/ > > PR target/125060 > > * config/rs6000/vector.md (vcond_mask_<mode><mode>): Change the > > mode iterator from VEC_I to VEC_IC to support V1TI. > > > > diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md > > index 22eee2f81f0..7a44a8a7e55 100644 > > --- a/gcc/config/rs6000/vector.md > > +++ b/gcc/config/rs6000/vector.md > > @@ -336,10 +336,10 @@ > > > > ;; Same mode for condition true/false values and predicate operand. > > (define_expand "vcond_mask_<mode><mode>" > > - [(match_operand:VEC_I 0 "vint_operand") > > - (match_operand:VEC_I 1 "vint_operand") > > - (match_operand:VEC_I 2 "vint_operand") > > - (match_operand:VEC_I 3 "vint_operand")] > > + [(match_operand:VEC_IC 0 "vint_operand") > > + (match_operand:VEC_IC 1 "vint_operand") > > + (match_operand:VEC_IC 2 "vint_operand") > > + (match_operand:VEC_IC 3 "vint_operand")] > > "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)" > > { > > emit_insn (gen_vector_select_<mode> (operands[0], operands[2], > > operands[1], > > This patch has been committed to trunk. The issue is present in GCC 15 and > GCC 16. Can I backport it to the GCC 16 and GCC 15 branches as well?
This is fine for the backports. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: [email protected]
