[PATCH] D55898: [x86] add movddup specialization for build vector lowering (PR37502)
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 19 12:51:08 PST 2018
spatel created this revision.
spatel added reviewers: craig.topper, andreadb, RKSimon.
Herald added a subscriber: mcrosier.
This is admittedly a narrow fix for the problem:
https://bugs.llvm.org/show_bug.cgi?id=37502
...but as the XOP restriction shows, it's a maze to get this right. In the motivating example, note that we have movddup before SSE4.1 and again with AVX2. That's because insertps isn't available pre-SSE41 and vbroadcast is (more generally) available with AVX2 (and the splat is reduced to movddup somehow).
https://reviews.llvm.org/D55898
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avx-intrinsics-fast-isel.ll
test/CodeGen/X86/avx-vbroadcast.ll
test/CodeGen/X86/build-vector-128.ll
test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55898.178945.patch
Type: text/x-patch
Size: 10453 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181219/bda6dcba/attachment.bin>
More information about the llvm-commits
mailing list