Although this solves the test case in PR26015:
https://llvm.org/bugs/show_bug.cgi?id=26015
...I suspect this is not the best solution. I think we want to insert the new shuffle just ahead of the earliest ExtractElementInst that we're replacing, but I don't know how that should be implemented. Is there a way to compare/record the position of each extract that we encounter in the loop?