diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-11 19:22:13 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-11 19:22:13 +0000 |
| commit | d09cc9c62c61c38e0793f4b56389453bb7a82d51 (patch) | |
| tree | bc219d317ac0562e1c5da8c4d2fd251214c5355c /llvm/lib/BinaryFormat | |
| parent | 55ed3dc67671a3ba36bada09aee57e1bb181e5a1 (diff) | |
| download | bcm5719-llvm-d09cc9c62c61c38e0793f4b56389453bb7a82d51.tar.gz bcm5719-llvm-d09cc9c62c61c38e0793f4b56389453bb7a82d51.zip | |
[X86][MMX] Support MMX build vectors to avoid SSE usage (PR29222)
64-bit MMX vector generation usually ends up lowering into SSE instructions before being spilled/reloaded as a MMX type.
This patch creates a MMX vector from MMX source values, taking the lowest element from each source and constructing broadcasts/build_vectors with direct calls to the MMX PUNPCKL/PSHUFW intrinsics.
We're missing a few consecutive load combines that could be handled in a future patch if that would be useful - my main interest here is just avoiding a lot of the MMX/SSE crossover.
Differential Revision: https://reviews.llvm.org/D43618
llvm-svn: 327247
Diffstat (limited to 'llvm/lib/BinaryFormat')
0 files changed, 0 insertions, 0 deletions

