In PPCMIPeephole, when we see two splat instructions, we can't simply do the following transformation:
B = Splat A C = Splat B
>
C = Splat A
because B may still be used between these two instructions. Instead, we should make the second Splat a PPC::COPY and let later passes decide whether to remove it or not:
B = Splat A C = Splat B
>
B = Splat A C = COPY B