This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX] insert_subvector(bitcast(v), bitcast(s), c1) -> bitcast(insert_subvector(v,s,c2))
ClosedPublic

Authored by RKSimon on Jan 31 2019, 7:48 AM.

Details

Summary

Similar to what we already do in DAGCombiner, but this version also handles bitcasts from types with different scalar sizes, which x86 is better at handling.

I've also included a concat(broadcast(x),broadcast(x)) -> broadcast(x) combine in the patch to demonstrate the main motivation - if accepted this will be committed separately.

Diff Detail

Repository
rL LLVM