[x86] Add initial basic support for forming blends of v16i8 vectors.
authorChandler Carruth <chandlerc@gmail.com>
Mon, 16 Feb 2015 10:58:23 +0000 (10:58 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 16 Feb 2015 10:58:23 +0000 (10:58 +0000)
commitc802085b3a13f29fe77f5982b99e28e4b43b91e3
treef39207545c11275bb7661afde1af9495e9f35be6
parente8b558c336dc56121ec80e83725f046c2c6f4ff5
[x86] Add initial basic support for forming blends of v16i8 vectors.

This blend instruction is ... really lame. The register usage is insane.
As a consequence this is probably only *barely* better than 2 pshufbs
followed by a por, and that mostly because it only has to read from
a single memory location.

However, this doesn't fix as much as I kind of expected, so more to go.
Pretty sure that the ordering and delegation of v16i8 is just really,
really bad.

llvm-svn: 229373
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll