Skip to content
  • Dorit Nuzman's avatar
    [LV] Support vectorization of interleave-groups that require an epilog under · 34da6dd6
    Dorit Nuzman authored
    optsize using masked wide loads 
    
    Under Opt for Size, the vectorizer does not vectorize interleave-groups that
    have gaps at the end of the group (such as a loop that reads only the even
    elements: a[2*i]) because that implies that we'll require a scalar epilogue
    (which is not allowed under Opt for Size). This patch extends the support for
    masked-interleave-groups (introduced by D53011 for conditional accesses) to
    also cover the case of gaps in a group of loads; Targets that enable the
    masked-interleave-group feature don't have to invalidate interleave-groups of
    loads with gaps; they could now use masked wide-loads and shuffles (if that's
    what the cost model selects).
    
    Reviewers: Ayal, hsaito, dcaballe, fhahn
    
    Reviewed By: Ayal
    
    Differential Revision: https://reviews.llvm.org/D53668
    
    llvm-svn: 345705
    34da6dd6