[PATCH] D23673: [X86][SSE] Add support for 32-bit element vectors to X86ISD::VZEXT_LOAD

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 18 09:10:54 PDT 2016


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

Consecutive load matching (EltsFromConsecutiveLoads) currently uses VZEXT_LOAD (load scalar into lowest element and zero uppers) for vXi64 / vXf64 vectors only.

For vXi32 / vXf32 vectors it instead creates a scalar load, SCALAR_TO_VECTOR and finally VZEXT_MOVL (zero upper vector elements), relying on tablegen patterns to match this into an equivalent of VZEXT_LOAD. 

This patch adds the VZEXT_LOAD patterns for vXi32 / vXf32 vectors directly and updates EltsFromConsecutiveLoads to use this.

This has proven necessary to allow us to easily make VZEXT_MOVL a full member of the target shuffle set - without this change the call to combineShuffle (which is the main caller of EltsFromConsecutiveLoads) tended to recursively recreate VZEXT_MOVL nodes......

Repository:
  rL LLVM

https://reviews.llvm.org/D23673

Files:
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86InstrAVX512.td
  lib/Target/X86/X86InstrSSE.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23673.68551.patch
Type: text/x-patch
Size: 8301 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160818/29811980/attachment.bin>


More information about the llvm-commits mailing list