Patch to remove extra bitcasts from shuffles, this is often a legacy of XformToShuffleWithZero being used to combine bitmaskings (of float vectors bitcast to integer vectors) into shuffles:
bitcast(shuffle(bitcast(s0),bitcast(s1))) -> shuffle(s0,s1)
Differential D9097
[DAGCombiner] Remove extra bitcasts surrounding vector shuffles Authored by RKSimon on Apr 19 2015, 7:37 AM.
Details Patch to remove extra bitcasts from shuffles, this is often a legacy of XformToShuffleWithZero being used to combine bitmaskings (of float vectors bitcast to integer vectors) into shuffles: bitcast(shuffle(bitcast(s0),bitcast(s1))) -> shuffle(s0,s1)
Diff Detail
Event TimelineComment Actions Hi Simon, This looks mostly good, just one question. Thanks,
Comment Actions Thanks Quentin, I've added an extra test for peeking through the bitcasted masked constant vectors. The UNDEF implementation was never getting hit so I dropped that for simplicity (visitVECTOR_SHUFFLE has support for cases where the second operand is UNDEF already). | ||||||