[PATCH] D26802: [X86][AVX512] Detect repeated constant patterns in BUILD_VECTOR suitable for broadcasting.

Ayman Musa via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 21 07:23:10 PST 2016


aymanmus updated this revision to Diff 78718.
aymanmus added a comment.

Adding "hasOneUse()" as an additional condition to NOT applying the replacement, to avoid register pressure.

A follow up to this work may be considered:

- Mark broadcast instruction as "isReMaterializable" to reduce spills and fills

I ran internal benchmarks and got a nice performance gain (geomean 0.2%-1.5% with tests improving up to 2.5%).


https://reviews.llvm.org/D26802

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/avg.ll
  test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
  test/CodeGen/X86/vec_shift6.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26802.78718.patch
Type: text/x-patch
Size: 45118 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161121/016d2678/attachment.bin>


More information about the llvm-commits mailing list