[PATCH] D85069: [RISCV] add the MC layer support of riscv vector Zvamo extension
Hsiangkai Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 9 23:07:15 PDT 2020
HsiangKai added a comment.
In D85069#2204470 <https://reviews.llvm.org/D85069#2204470>, @StephenFan wrote:
> In D85069#2201754 <https://reviews.llvm.org/D85069#2201754>, @HsiangKai wrote:
>
>> I confused the relationship of sub-extensions before. Sorry for that.
>> There are some discussions[0] about the relationship between vector sub-extensions. It seems that
>>
>> V-extension implies Zvamo + Zvlsseg
>>
>> Zvqmac, Zvamo and Zvlsseg are stand alone sub extensions. That is, Zvamo does not imply V extension.
>>
>> Zvqmac has no implied extensions.
>> Zvamo implies A-extension.
>> Zvlsseg has no implied extensions.
>>
>> Do you agree with that?
>>
>> [0] https://github.com/riscv/riscv-v-spec/issues/546
>
> So, let me summarize:
> Zvlsseg has no implied extensions
> Zvqmac has no implied extensions
> Zvamo required A extension ? If so, is it suitable that use -mattr=+a, +experimental-zvamo to enable the zvamo extension?
Currently, FeatureStdExtV is the base V instructions. So, I will suggest the following relationships
Zvamo -> V (Does Zvamo -> A? I create an issue about it. https://github.com/riscv/riscv-v-spec/issues/555)
Zvqmac -> V
Zvlsseg -> V
The implementation looks like
def FeatureExtZvamo
: SubtargetFeature<"experimental-zvamo", "HasStdExtZvamo", "true",
"'Zvamo'(Vector AMO Operations)",
[FeatureStdExtV]>;
def FeatureExtZvqmac
: SubtargetFeature<"experimental-zvqmac", "HasStdExtZvqmac", "true",
"'Zvqmac' (Vector Quad-Widening Integer Multiply-Add Instructions)",
[FeatureStdExtV]>;
def FeatureStdExtZvlsseg
: SubtargetFeature<"experimental-zvlsseg", "HasStdExtZvlsseg", "true",
"'Zvlsseg' (Vector segment load/store instructions)”,
[FeatureStdExtV]>;
In the future, “current V” may be changed to Zvbase in the specification. And “new V” will imply Zvbase + Zvamo + Zvlsseg. As described in https://github.com/riscv/riscv-v-spec/issues/547#issuecomment-670667964.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85069/new/
https://reviews.llvm.org/D85069
More information about the llvm-commits
mailing list