This is an archive of the discontinued LLVM Phabricator instance.

[IR][DAG][RISCV] Allow scalable vector ISD::STRICT_FP_EXTEND and RISC-V supports for vector ISD::STRICT_FP_EXTEND.
ClosedPublic

Authored by fakepaper56 on Mar 7 2023, 10:54 PM.

Details

Summary

The patch mainly does two things. The first is allowing scalable vector
ISD::STRICT_FP_EXTEND. The second is making RISC-V customized lower
strict_fpextend to riscv_strict_fpextend_vl, the strict version of
riscv_fpextend_vl.

Diff Detail

Event Timeline

fakepaper56 created this revision.Mar 7 2023, 10:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 7 2023, 10:54 PM
fakepaper56 requested review of this revision.Mar 7 2023, 10:54 PM
craig.topper added inline comments.Mar 7 2023, 11:03 PM
llvm/lib/Target/RISCV/RISCVISelLowering.h
252

There's a special place in the enum for STRICT opcodes. Look for STRICT_FCVT_WU_RV64.

llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
1852–1855

Can we use any_riscv_fpextend_vl?

Use any_riscv_fpextend_vl to replace riscv_fpextend_vl and riscv_strict_fpextend_vl.

fakepaper56 marked an inline comment as done.Mar 7 2023, 11:32 PM
craig.topper requested changes to this revision.Mar 8 2023, 9:12 AM
craig.topper added inline comments.
llvm/lib/Target/RISCV/RISCVISelLowering.h
252

This was not addressed.

This revision now requires changes to proceed.Mar 8 2023, 9:12 AM

More STRICT_FP_EXTEND_VL after STRICT_FCVT_W_RV64.

fakepaper56 marked 2 inline comments as done.Mar 8 2023, 4:57 PM
This revision is now accepted and ready to land.Mar 8 2023, 11:41 PM
This revision was landed with ongoing or failed builds.Mar 9 2023, 1:38 AM
This revision was automatically updated to reflect the committed changes.