This implements the assemble and disassemble support of RISCV Vector extension Zvlsseg instructions, base on the 0.9 spec version.
Details
Diff Detail
Event Timeline
| 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) | |
def FeatureStdExtZvlsseg : SubtargetFeature<"experimental-zvlsseg", "HasStdExtZvlsseg", "true", "'Zvlsseg' (Vector segment load/store instructions)", [FeatureStdExtV]>;