[PATCH] D58053: [X86][AVX] EltsFromConsecutiveLoads - Add BROADCAST lowering support

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 11 07:29:38 PST 2019


RKSimon created this revision.
RKSimon added reviewers: craig.topper, spatel, niravd.
Herald added a project: LLVM.

This patch adds scalar/subvector BROADCAST handling to EltsFromConsecutiveLoads.

It mainly shows codegen changes to 32-bit code which failed to handle i64 loads, although 64-bit code is also using this new path to more efficiently combine to a broadcast load.

@craig.topper I was trying to see whether I could get AVX512 i64 broadcast folds to work for 32-bit targets but didn't have much success - any ideas? I guess i686 is not that high priority....


Repository:
  rL LLVM

https://reviews.llvm.org/D58053

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/avx-vbroadcast.ll
  test/CodeGen/X86/avx2-vbroadcast.ll
  test/CodeGen/X86/avx512-intrinsics-upgrade.ll
  test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
  test/CodeGen/X86/avx512ifma-intrinsics-upgrade.ll
  test/CodeGen/X86/avx512ifma-intrinsics.ll
  test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
  test/CodeGen/X86/i64-mem-copy.ll
  test/CodeGen/X86/insertelement-shuffle.ll
  test/CodeGen/X86/vector-shuffle-combining-xop.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58053.186259.patch
Type: text/x-patch
Size: 36444 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190211/f2852892/attachment.bin>


More information about the llvm-commits mailing list