Page MenuHomePhabricator

[RISCV] Rename pcnt->cpop to match 0.93 bitmanip spec.
ClosedPublic

Authored by craig.topper on Jan 12 2021, 5:19 PM.

Details

Summary

This is the first of probably multiple patches to bring our 0.92
implementation up to 0.93.

Should we hold them all and commit them together while also
changing the command line parsing in the frontend to only
accept 0.93?

Diff Detail

Event Timeline

craig.topper created this revision.Jan 12 2021, 5:19 PM
craig.topper requested review of this revision.Jan 12 2021, 5:19 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2021, 5:19 PM
Herald added a subscriber: MaskRay. · View Herald Transcript
craig.topper retitled this revision from [RISCV] Renamce pcnt->cpop to match 0.93 bitmanip spec. to [RISCV] Rename pcnt->cpop to match 0.93 bitmanip spec..Jan 12 2021, 6:43 PM
kito-cheng added a comment.EditedJan 12 2021, 7:05 PM

RVB 0.93 is an awkward version to me, there is mnemonic conflict which is not resolved during release process since it's kind of too rush, the conflict one is bext in zbe and zbs...

However it's also a milestone for B-ext, since this version claim zba, zbb and zbc is frozen, maybe those 3 sub-ext. could be removed from the umbrella of -menable-experimental-extension ?

@asb What do you think about this?

RVB 0.93 is an awkward version to me, there is mnemonic conflict which is not resolved during release process since it's kind of too rush, the conflict one is bext in zbe and zbs...

However it's also a milestone for B-ext, since this version claim zba, zbb and zbc is frozen, maybe those 3 sub-ext. could be removed from the umbrella of -menable-experimental-extension ?

@asb What do you think about this?

I think it only makes sense to mark it as not experimental when the sub extensions get marked as frozen in the main isa spec document.

As far as this change is concerned, it looks good to me, but I think this should only land when all parts are 0.93 compatible. Given we support this extension via clang and require 0.92 to be set, I'm reluctant to have the compiler in a half-0.92/half-0.93 state, especially so close to LLVM 12 branching.

khchen added a subscriber: khchen.Jan 13 2021, 7:57 AM
asb added a comment.Jan 14 2021, 5:25 AM

RVB 0.93 is an awkward version to me, there is mnemonic conflict which is not resolved during release process since it's kind of too rush, the conflict one is bext in zbe and zbs...

However it's also a milestone for B-ext, since this version claim zba, zbb and zbc is frozen, maybe those 3 sub-ext. could be removed from the umbrella of -menable-experimental-extension ?

@asb What do you think about this?

In terms of handling the 0.92=>0.93 switchover I think it would be better to land 0.93 in one go if feasible (whether that's a single patch or a single series of patches that are committed all together). Given we're behind an experimental feature flag anyway we have more flexibility than we would otherwise, but being in some in-between state won't be useful for many people.

For Zba/Zbb/Zbc, the language is "the extensions are expected to be unchanged in the official version." which is somewhat weaker than those sub-extensions being frozen, especially given it still needs to go through ratification. It feels early to me to remove the experimental feature flag unless there's some stronger statement elsewhere about these specs not changing in future.

lenary resigned from this revision.Jan 14 2021, 9:24 AM
frasercrmck accepted this revision.Jan 15 2021, 7:16 AM

LGTM from a change point of view. I can't really add to the discussion about how/when to switch from 0.92 to 0.93 so I'm not saying "merge right away" :)

This revision is now accepted and ready to land.Jan 15 2021, 7:16 AM
asb accepted this revision.Jan 21 2021, 7:07 AM

Straight forward change, LGTM. It seems there's nothing contentious in the patchset, so I'd expect the series can land basically all at once, to minimise the time we support a weird 0.92/0.93 hybrid.