Define vadc/vmadc/vsbc/vmsbc intrinsics and lower to V instructions.
We work with @rogfer01 from BSC to come out this patch.
Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Hsiangkai Wang <kai.wang@sifive.com>
Paths
| Differential D93175
[RISCV] Define vadc/vmadc/vsbc/vmsbc intrinsics. ClosedPublic Authored by HsiangKai on Dec 12 2020, 11:32 PM.
Details Summary Define vadc/vmadc/vsbc/vmsbc intrinsics and lower to V instructions. We work with @rogfer01 from BSC to come out this patch. Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Diff Detail
Event TimelineHerald added subscribers: NickHung, apazos, sameer.abuasal and 23 others. · View Herald TranscriptDec 12 2020, 11:32 PM HsiangKai added a parent revision: D93108: [RISCV] Define vwadd/vwaddu/vwsub/vwsubu intrinsics..Dec 14 2020, 7:44 AM
Comment Actions Do we need to use a NoV0 register class for the output on the vadc/vsbc instructions that have a carry in? from the spec "For vadc and vsbc, an illegal instruction exception is raised if the destination vector register is v0." I think we might also need earlyclobber on vmadc/vmsbc?
This revision is now accepted and ready to land.Dec 15 2020, 11:16 AM This revision was landed with ongoing or failed builds.Dec 15 2020, 2:32 PM Closed by commit rG19db6a652b88: [RISCV] Define vadc/vmadc/vsbc/vmsbc intrinsics. (authored by HsiangKai). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 311829 llvm/include/llvm/IR/IntrinsicsRISCV.td
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
llvm/test/CodeGen/RISCV/rvv/vadc-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vadc-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vmadc-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vmadc-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vmadc.carry.in-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vmadc.carry.in-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vmsbc-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vmsbc-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vmsbc.borrow.in-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vmsbc.borrow.in-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vsbc-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vsbc-rv64.ll
|