[PATCH] D18944: [DAGCombiner] Fold xor/and/or (bitcast(A), bitcast(B)) -> bitcast(op (A, B)) anytime before LegalizeVectorOprs

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 11 04:24:54 PDT 2016


RKSimon updated this revision to Diff 53216.
RKSimon added a comment.

Thanks Elena,

I've split the AVX512 mask tests - the old tests now perform the operations on the scalar unit (as that was what the masks have been bitcasted from), but the new memory tests perform the operations on the mask unit.

I've also added a number of widening/legalization tests to demonstrate the effect of permitting the combine to work on pre-legalized types.


Repository:
  rL LLVM

http://reviews.llvm.org/D18944

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/X86/avx512-mask-op.ll
  test/CodeGen/X86/avx512-select.ll
  test/CodeGen/X86/avx512bw-mask-op.ll
  test/CodeGen/X86/avx512dq-mask-op.ll
  test/CodeGen/X86/vector-shuffle-128-v4.ll
  test/CodeGen/X86/vector-shuffle-128-v8.ll
  test/CodeGen/X86/widen_bitops-0.ll
  test/CodeGen/X86/widen_bitops-1.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18944.53216.patch
Type: text/x-patch
Size: 131330 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160411/fc01614b/attachment-0001.bin>


More information about the llvm-commits mailing list