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}

181

Remove sumop.

183

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

189

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

194

Remove mop

195

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

958

HasStdExtZvlsseg is enough.

978

Remove SUMOPUnitStride.

1016

Remove MOPSTIndexedOrder.

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

+experimental-zvlsseg is enough.

14

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.