[InstCombine] try to reduce shuffle with bitcasted operand
shuf (bitcast X), undef, Mask --> bitcast X'
The 'inverse shuffles' test (shuf_bitcast_operand) is a pattern
in the motivating examples from PR35454:
https://bugs.llvm.org/show_bug.cgi?id=35454
(see also D76727)
We can deal with this class of patterns in generic instcombine
because we are not creating any new shuffles, just a bitcast.
Alive2 proof:
http://volta.cs.utah.edu:8080/z/mwDUZf
Differential Revision: https://reviews.llvm.org/D76844