These operations don't exist natively, so just let the target-independent code expand to plain shifts.
The generated sequences could probably be optimized a bit more, but they seem good enough for now.
Paths
| Differential D101574
[AArch64] Fix lowering for fshl/fshr with SVE types. ClosedPublic Authored by efriedma on Apr 29 2021, 2:43 PM.
Details Summary These operations don't exist natively, so just let the target-independent code expand to plain shifts. The generated sequences could probably be optimized a bit more, but they seem good enough for now.
Diff Detail
Event TimelineHerald added subscribers: hiraditya, kristof.beyls, tschuett. · View Herald TranscriptApr 29 2021, 2:43 PM Comment Actions The patch looks good to me. I just wondered if it was worth having at least one test using an illegal type, i.e. <vscale x 8 x i32> or something like that? Comment Actions I'm not against adding the extra tests, which could also include the legal i8, i16 & i32 vector types, but for my money there's little new code here so I'm happy to assume the common expand/legalisation code is already well tested. This revision is now accepted and ready to land.Apr 30 2021, 3:24 AM This revision was landed with ongoing or failed builds.Apr 30 2021, 10:51 AM Closed by commit rG6e6ae6c727b7: [AArch64] Fix lowering for fshl/fshr with SVE types. (authored by efriedma). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 341979 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
|