On Mon, Dec 13, 2021 at 10:48 AM Bill Schmidt <wschm...@linux.ibm.com> wrote: > > Hi! > > PR103624 observes that we get segfaults for the 64-bit darn builtins when > compiled > on a 32-bit architecture. The old built-in infrastructure requires > TARGET_64BIT, and > this was missed in the new support. Moving these two builtins from the > [power9] > stanza to the [power9-64] stanza solves the problem. > > Tested the fix on a powerpc-e300c3-linux-gnu cross. Bootstrapped and tested > on > powerpc64le-linux-gnu with no regressions. Is this okay for trunk?
Okay. Thanks, David > > Thanks! > Bill > > > 2021-12-13 Bill Schmidt <wschm...@linux.ibm.com> > > gcc/ > PR target/103624 > * config/rs6000/rs6000-builtin-new.def (__builtin_darn): Move to > [power9-64] stanza. > (__builtin_darn_raw): Likewise. > --- > gcc/config/rs6000/rs6000-builtin-new.def | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/gcc/config/rs6000/rs6000-builtin-new.def > b/gcc/config/rs6000/rs6000-builtin-new.def > index 30556e5c7f2..2becd96a36c 100644 > --- a/gcc/config/rs6000/rs6000-builtin-new.def > +++ b/gcc/config/rs6000/rs6000-builtin-new.def > @@ -2799,15 +2799,9 @@ > > ; Miscellaneous P9 functions > [power9] > - signed long long __builtin_darn (); > - DARN darn {} > - > signed int __builtin_darn_32 (); > DARN_32 darn_32 {} > > - signed long long __builtin_darn_raw (); > - DARN_RAW darn_raw {} > - > const signed int __builtin_dtstsfi_eq_dd (const int<6>, _Decimal64); > TSTSFI_EQ_DD dfptstsfi_eq_dd {} > > @@ -2840,6 +2834,12 @@ > void __builtin_altivec_stxvl (vsc, void *, long); > STXVL stxvl {} > > + signed long long __builtin_darn (); > + DARN darn {} > + > + signed long long __builtin_darn_raw (); > + DARN_RAW darn_raw {} > + > const signed int __builtin_scalar_byte_in_set (signed int, signed long > long); > CMPEQB cmpeqb {} > > -- > 2.27.0 > >