[PATCH, rs6000] Eliminate TARGET_CTZ,TARGET_FCTIDZ,FCTIWUZ defines
will schmidt
will_schmidt@vnet.ibm.com
Tue Sep 20 22:01:53 GMT 2022
On Tue, 2022-09-20 at 16:14 -0500, Segher Boessenkool wrote:
> Hi!
>
> On Mon, Sep 19, 2022 at 06:19:15PM -0500, will schmidt wrote:
> > This is the first of a batch of changes that eliminate a number
> > of define TARGET_foo entries we have collected over time.
>
> Good good :-)
>
> > TARGET_CTZ is defined as TARGET_MODULO, and has a low number
> > of uses. References to TARGET_CTZ should be safe to replace
> > with TARGET_MODULO throughout.
>
> No, please don't. This has nothing to with "modulo". If you want to
> say this is just whether we have ISA 3.0 or p9, make a new target
> macro
> for *that* and use that everywhere.
>
> This is a general issue, that will make the code much more sane if
> you
> can fix it!
>
> > TARGET_FCTIDZ is entirely unused, and safe to remove.
>
> Please make separate patches for separate issues. This makes it much
> easier to review, and MUCH easier for all other ways we need to
> handle
> it (backports, reverts, everything else). With Git it is *easier* to
> keep separate patches separate than it is to lump it all
> together. So,
> the trick is to keep things in separate commits during development
> already (and you will find more benefits doing that, too!)
Yup, I actually developed these three (plus a bunch more) separately,
but combined the first three for posting. I'll split them back out
and repost after a bit.
>
> TARGET_FCTIDZ was never used, it always used TARGET_FCFID directly.
>
> The original PEM mistakenly said this insn is "64-bit only". This
> was
> fixed in ISA 2.01 .
>
> > TARGET_FCTIWUZ has a low number of uses, and can be directly
> > replaced with TARGET_POPCNTD.
>
> It is a p7 (ISA 2.06) insn. Please make a TARGET_P7 or such?
Yes. I do have a change later in the (unposted) series to replace
POPCNTD with POWER7, at a glance thats #17 down the line. In review I
agree with your comment that the in-between changes aren't the best
choices. I'll see about skipping the in-between values and going
straight for POPCNTD->POWER7.
I am looking at the TARGET_POWER10 notation as the target style, versus
TARGET_P7, but I can go that direction if we think that would be
preferred. Maybe it is since this is a retro-fix versus new. :-)
>
> In the current situation target macros like TARGET_POPCNTD are abused
> to
> mean either "can we use the popcntd insn", or to mean "can we use
> insn
> new on p7". Or sometimes something in between, or something in this
> general neighbourhood. It is never clear which is meant, which makes
> it
> very hard to untangle this. But thanks for trying! :-)
>
> (Don't let me dicsourage you btw, most is pretty straightforward).
Absolutely.. I do have this mostly covered locally, I just need to
refine a few parts. :-)
>
>
> > * config/rs6000/rs6000.h (TARGET_CTZ): Replace with
> > TARGET_MODULO.
>
> Changelogs are indented with tabs, and this fits on one line.
>
> So, please make TARGET_P7 and such, and OPTION_MASKs for those in
> rs6000-cpus.def?
willdo,
thanks
-Will
>
>
> Segher
More information about the Gcc-patches
mailing list