The existing cost model for fixed-order recurrences models the phi as an extract shuffle of a v1 vector. The shuffle produced should be a splice, taking two vectors are extracting a subset of the lanes. On certain architectures the existing cost model can drastically under-estimate the correct cost for the shuffle, so this changes it to a SK_Splice, and passes a correct Mask through to the getShuffleCost call.
I believe this might be the first use of a SK_Splice shuffle cost model outside of scalable vectors, and some targets may require additions to the cost-model to correctly account for them.
https://godbolt.org/z/r8j69Kz9z
It would probably be good to have the same test for X86 and AArch64 at least. THere's seems no cost-model test for recurrences on X86 at all, and on AArch64 we only have first-order recurrences.