Depends on D5753
I'm afraid I don't think this patch on the right track. The problem isn't related to which element is extracted, it's that we don't optimize the code after expanding expandExtractElementF64() for both elements. With this patch it will be possible for pre-RA scheduling to cause invalid code by reordering the ExtractElementF64 nodes.
One fairly simple solution I can think of is using DAGCombine to merge both ExtractElementF64's into a single node, then expanding that node such that it only spills once.