Skip to content
  • Chandler Carruth's avatar
    [x86] Add handling for splat-like widenings of v16i8 shuffles. · 887c2c34
    Chandler Carruth authored
    These show up really frequently, not the least with actual splats. =] We
    lowered these quite badly before. The new code path tries to widen i8
    shuffles to i16 shuffles in a splat-like way. There are still some
    inefficiencies in our i16 splat logic though, so we aren't really done
    here.
    
    Also, for certain patterns (bit of a gather-and-splat) we still
    generate pretty silly code, and I've left a fixme for addressing it.
    However, I'm not actually worried about this code pattern as much. The
    old shuffle lowering generates a 29 instruction monstrosity for it that
    should execute much more slowly.
    
    llvm-svn: 211974
    887c2c34
Loading