On Tue, Nov 16, 2021 at 12:56:52PM -0600, Bill Schmidt wrote: > Hi! I previously posted [1] to correct some problems with the new builtins > support targeting 32-bit code gen. Based on the discussion, I've made some > adjustments and would like to submit this for consideration. > > We eventually agreed that the strange behavior for -m32 -mpowerpc64 for > certain > HTM builtins should be removed. All of the registers TEXASR, TEXASRU, TFHAR, > and TFIAR are now accessed using the unsigned long data type in all > configurations.
> gcc/ > * config/rs6000/rs6000-builtin-new.def (CMPB): Flag as no32bit. > (BPERMD): Flag as 32bit (needing special handling for 32-bit). > (UNPACK_TD): Return unsigned long long instead of unsigned long. > (GET_TEXASR): Return unsigned long instead of unsigned long long. > (GET_TEXASRU): Likewise. > (GET_TFHAR): Likewise. > (GET_TFIAR): Likewise. > (SET_TEXASR): Pass unsigned long instead of unsigned long long. > (SET_TEXASRU): Likewise. > (SET_TFHAR): Likewise. > (SET_TFIAR): Likewise. > (TABORTDC): Likewise. > (TABORTDCI): Likewise. > * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Fix error > handling for no32bit. Add 32bit handling for RS6000_BIF_BPERMD. > > gcc/testsuite/ > * gcc.target/powerpc/cmpb-3.c: Adjust error message. Okay for trunk. Thanks! Could you put some short blurb about the changed prototype of the HTM reg builtins in the release notes please? Thanks x2 :-) Segher