[PATCH] D80223: [x86] favor vector constant load to avoid GPR to XMM transfer, part 1.5

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 19 10:55:42 PDT 2020


spatel created this revision.
spatel added reviewers: RKSimon, craig.topper.
Herald added subscribers: hiraditya, mcrosier.
Herald added a project: LLVM.
spatel added a child revision: D80131: [x86] favor vector constant load to avoid GPR to XMM transfer, part 2.

This is the alternate solution discussed in D80131 <https://reviews.llvm.org/D80131>. We load a scalar constant with implicit zero-ing using VZEXT_LOAD instead of a full vector constant.
Either way seems to be an improvement over materializing in GPR and transferring inter-register to XMM.
I'll rebase that patch to be an top of this, so we can see the incremental test diffs and decide which, if any, is better.


https://reviews.llvm.org/D80223

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/avx-load-store.ll
  llvm/test/CodeGen/X86/avx2-arith.ll
  llvm/test/CodeGen/X86/combine-udiv.ll
  llvm/test/CodeGen/X86/fcmp-constant.ll
  llvm/test/CodeGen/X86/insert-into-constant-vector.ll
  llvm/test/CodeGen/X86/sad.ll
  llvm/test/CodeGen/X86/shuffle-combine-crash-3.ll
  llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
  llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
  llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
  llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
  llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
  llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
  llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
  llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
  llvm/test/CodeGen/X86/vector-shuffle-v1.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80223.264957.patch
Type: text/x-patch
Size: 24565 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200519/f8936c04/attachment-0001.bin>


More information about the llvm-commits mailing list