To constant fold bitwise logic ops where we've legalized constant build vectors to a different type (e.g. v2i64 -> v4i32), this patch adds a basic ability to peek through the bitcasts and perform the constant fold on the inner operands.
@dmgreen I'm not sure what is the best fix for the MVE predicate v2i64 regressions - its expanded the bitselect patten and constant folded the 'andnot(x,c)' to 'and(x,~c)' - this was already bad codegen, I think ideally this should be narrowed to a v4i32 equivalent, but I'm not sure how best to address this - hints welcome :)
One of the yak shaving fixes for D113192....
Can we have cases where only one of operands is a bitcast / both are bitcasts but only one should be peeked?