[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