This patch makes these operations legal, and add necessary codegen patterns.
There's still some issue similar to D77033 for conversion from/to v1i128, but normal type tests synced from X86/SystemZ's vector-constrained-fp-intrinsics.ll are all okay.
Paths
| Differential D83654
[PowerPC] Support constrained vector fp/int conversion ClosedPublic Authored by qiucf on Jul 12 2020, 9:56 PM.
Details
Summary This patch makes these operations legal, and add necessary codegen patterns. There's still some issue similar to D77033 for conversion from/to v1i128, but normal type tests synced from X86/SystemZ's vector-constrained-fp-intrinsics.ll are all okay.
Diff Detail
Event Timelineqiucf added a parent revision: D81669: [PowerPC] Support constrained fp operation for scalar sitofp/uitofp.Jul 12 2020, 9:56 PM
qiucf added inline comments.
qiucf marked 3 inline comments as done. Comment ActionsAdd handling for v4i16 and tests
This revision is now accepted and ready to land.Jul 21 2020, 12:46 AM This revision was landed with ongoing or failed builds.Aug 23 2020, 7:19 PM Closed by commit rG41ba9d77231e: [PowerPC] Support constrained vector fp/int conversion (authored by qiucf). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 287282 llvm/lib/Target/PowerPC/PPCISelLowering.h
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCInstrVSX.td
llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
|
It would seem that this doesn't create a correct node when called with a STRICT version of Opc -- for one, in this case it will need to handle chains correctly (in and out).
It is strange that this was not detected by any tests -- is the coverage good enough?
The rest of the algorithm seems OK for the strict case, since it only introduces integer operations.