This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] add the assemble and disassemble support of Zvlsseg instructions
ClosedPublic

Authored by StephenFan on Jul 23 2020, 7:59 AM.

Details

Summary

This implements the assemble and disassemble support of RISCV Vector extension Zvlsseg instructions, base on the 0.9 spec version.

Diff Detail

Event Timeline

StephenFan created this revision.Jul 23 2020, 7:59 AM
khchen added a subscriber: khchen.Aug 3 2020, 2:30 AM

D80802 is landed. Please rebase on master.

Please merge D83775 and this revision into one revision.

StephenFan updated this revision to Diff 282915.Aug 4 2020, 7:19 AM

D80802 is landed. Please rebase on master.

Please merge D83775 and this revision into one revision.

I have rebased to the latest master branch

HsiangKai added inline comments.Aug 12 2020, 4:13 PM
llvm/lib/Target/RISCV/RISCV.td
152
def FeatureStdExtZvlsseg
    : SubtargetFeature<"experimental-zvlsseg", "HasStdExtZvlsseg", "true",
                       "'Zvlsseg' (Vector segment load/store instructions)",
                       [FeatureStdExtV]>;
llvm/lib/Target/RISCV/RISCVInstrInfoV.td
131

RVInstVLU<nf, width.Value{3}, MOPLDUnitStride, lumop, width.Value{2-0}

137

RVInstVLS<nf, width.Value{3}, MOPLDStrided, width.Value{2-0}

145

RVInstVLX<nf, width.Value{3}, MOPLDIndexed, width.Value{2-0}

180

Remove sumop.

182

RVInstVSU<nf, width.Value{3}, MOPSTUnitStride, SUMOPUnitStride, width.Value{2-0},

188

RVInstVSS<nf, width.Value{3}, MOPSTStrided, width.Value{2-0}, (outs),

193

Remove mop

194

RVInstVSX<nf, width.Value{3}, MOPSTIndexedOrder, width.Value{2-0}, (outs),

956

HasStdExtZvlsseg is enough.

976

Remove SUMOPUnitStride.

1014

Remove MOPSTIndexedOrder.

llvm/test/MC/RISCV/rvv/zvlsseg.s
2

+experimental-zvlsseg is enough.

15

CHECK-ERROR: instruction requires the following: 'Zvlsseg' (Vector segment load/store instructions)

Remove sumop, Remove MOPSTIndexedOrder. zvlsseg -> FeatureStdExtV

StephenFan marked 6 inline comments as done.
This revision is now accepted and ready to land.Aug 17 2020, 7:53 PM
This revision was landed with ongoing or failed builds.Aug 19 2020, 1:26 AM
This revision was automatically updated to reflect the committed changes.
StephenFan marked an inline comment as done.