[PATCH] D16956: [X86][SSE1] Add MOVLHPS/MOVHLPS lowering and memory folding support

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 7 03:40:12 PST 2016


RKSimon created this revision.
RKSimon added reviewers: qcolombet, delena, andreadb, spatel.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

As discussed on PR26491, this patch adds support for lowering v4f32 shuffles to the MOVLHPS/MOVHLPS instructions. It also adds support for memory folding with their MOVLPS/MOVHPS load equivalents.

This first patch only really helps SSE1 targets as SSE2+ targets will widen the shuffle mask and use v2f64 equivalents (although they still combine to MOVLHPS/MOVHLPS for v2f64 splats). This will have to be addressed in a future patch, most likely when we add support for binary target shuffle combines.

Repository:
  rL LLVM

http://reviews.llvm.org/D16956

Files:
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86InstrInfo.cpp
  test/CodeGen/X86/vector-shuffle-sse1.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16956.47121.patch
Type: text/x-patch
Size: 5544 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160207/d99eedfc/attachment.bin>


More information about the llvm-commits mailing list