[PATCH] D21354: Remove redundant direct moves when extracting integers and converting to FP
Nemanja Ivanovic via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 14 14:55:04 PDT 2016
nemanjai created this revision.
nemanjai added reviewers: amehsan, hfinkel, kbarton, wschmidt, seurer, cycheng, tjablin.
nemanjai added a subscriber: llvm-commits.
nemanjai set the repository for this revision to rL LLVM.
Since we implemented extraction of integer vector elements using direct moves and we use direct moves for int to fp conversions, we end up with strange code when doing both operations. Namely, extracting an element and then converting that to fp results in a direct move out of a VSR followed immediately by a direct move back to a VSRL. This patch just eliminates both of those direct moves.
Power9 instructions won't help this situation so we would still have this issue with Power9 if we don't fix it with a patch like this.
A similar situation exists for extracting/converting integers of other widths, but the fix is non-trivial and it is not clear that there are alternatives that are much better. This can be addressed in the future.
This patch fixes PR 28117.
Repository:
rL LLVM
http://reviews.llvm.org/D21354
Files:
lib/Target/PowerPC/PPCInstrVSX.td
test/CodeGen/PowerPC/remove-redundant-moves.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21354.60762.patch
Type: text/x-patch
Size: 6381 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160614/0c291c9a/attachment.bin>
More information about the llvm-commits
mailing list