This is an archive of the discontinued LLVM Phabricator instance.

[VP][RISCV] Add vp.copysign and RISC-V support.
ClosedPublic

Authored by fakepaper56 on Sep 29 2022, 8:02 PM.

Diff Detail

Event Timeline

fakepaper56 created this revision.Sep 29 2022, 8:02 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 29 2022, 8:02 PM
fakepaper56 requested review of this revision.Sep 29 2022, 8:02 PM
fakepaper56 added a comment.EditedSep 29 2022, 8:09 PM

ISD::FCOPYSIGN could have different types of magnitude operand and sign operand. Should ISD::VP_FOPYSIGN have same property? My implements does not loose the constraint like other vp intrinsics.

ISD::FCOPYSIGN could have different types of magnitude operand and sign operand. Should ISD::VP_FOPYSIGN have same property? My implements does not loose the constraint like other vp intrinsics.

I don't think we should support differing types for ISD::VP_COPYSIGN. It was disabled for vector ISD::FCOPYSIGN in February 2021 D96037 Though it look likes a command line flag was added to DAGCombiner.cpp in August 2022 to allow it to be re-enabled. Using that flag would very likely cause isel failures on RISC-V.

This revision is now accepted and ready to land.Sep 30 2022, 9:43 AM
This revision was automatically updated to reflect the committed changes.