[PATCH] D38217: [AVX-512] Replace large number of explicit patterns that check for insert_subvector with zero after masked compares with fewer patterns with predicate

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 25 05:04:34 PDT 2017


craig.topper created this revision.

This replaces the large number of patterns that handle every possible case of zeroing after a masked compare with a few simpler patterns that use a predicate to check for a masked compare producer.

This is similar to what we do for detecting free GR32->GR64 zero extends and free xmm->ymm/zmm zero extends.

This shrinks the isel table from ~590k to ~531k. This is a roughly 10% reduction in size.


https://reviews.llvm.org/D38217

Files:
  lib/Target/X86/X86ISelDAGToDAG.cpp
  lib/Target/X86/X86InstrAVX512.td
  lib/Target/X86/X86InstrVecCompiler.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38217.116474.patch
Type: text/x-patch
Size: 45465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170925/2a74d079/attachment-0001.bin>


More information about the llvm-commits mailing list