[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
Thu Nov 17 08:46:27 PST 2016
aymanmus created this revision.
aymanmus added reviewers: igorb, delena, zvi.
aymanmus added a subscriber: llvm-commits.
Check if a build_vector node includes a repeated constant pattern and replace it with a broadcast of that pattern.
For example:
"build_vector <0, 1, 2, 3, 0, 1, 2, 3>" would be replaced by "broadcast <0, 1, 2, 3>"
This would decrease the code size and the size of chunks loaded from constant pool (less cache line splits and forwarding problems).
https://reviews.llvm.org/D26802
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avg.ll
test/CodeGen/X86/avx-logic.ll
test/CodeGen/X86/avx-vperm2x128.ll
test/CodeGen/X86/avx2-conversions.ll
test/CodeGen/X86/avx2-nontemporal.ll
test/CodeGen/X86/avx512-arith.ll
test/CodeGen/X86/avx512-ext.ll
test/CodeGen/X86/avx512-gather-scatter-intrin.ll
test/CodeGen/X86/avx512-mask-op.ll
test/CodeGen/X86/avx512bw-intrinsics.ll
test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
test/CodeGen/X86/clear_upper_vector_element_bits.ll
test/CodeGen/X86/combine-sdiv.ll
test/CodeGen/X86/combine-srem.ll
test/CodeGen/X86/promote-vec3.ll
test/CodeGen/X86/vec_fp_to_int.ll
test/CodeGen/X86/vec_shift6.ll
test/CodeGen/X86/vector-blend.ll
test/CodeGen/X86/vector-rotate-256.ll
test/CodeGen/X86/vector-shift-ashr-256.ll
test/CodeGen/X86/vector-shift-ashr-512.ll
test/CodeGen/X86/vector-shift-lshr-256.ll
test/CodeGen/X86/vector-shift-lshr-512.ll
test/CodeGen/X86/vector-shift-shl-256.ll
test/CodeGen/X86/vector-shift-shl-512.ll
test/CodeGen/X86/vector-shuffle-128-v16.ll
test/CodeGen/X86/vector-shuffle-256-v32.ll
test/CodeGen/X86/vector-shuffle-combining-avx2.ll
test/CodeGen/X86/vector-zext.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26802.78369.patch
Type: text/x-patch
Size: 111542 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161117/07f9d1bc/attachment-0001.bin>
More information about the llvm-commits
mailing list