llvm.org GIT mirror llvm / 190d0a5
Reapply last harmless part of r112934, the pattern fragment to match X86Unpcklpd git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113009 91177308-0d34-0410-b5e6-96231b3b80d8 Bruno Cardoso Lopes 10 years ago
1 changed file(s) with 7 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
58185818 def : Pat<(v2f64 (X86Movlhpd VR128:$src1,
58195819 (scalar_to_vector (loadf64 addr:$src2)))),
58205820 (MOVHPDrm VR128:$src1, addr:$src2)>;
5821 // FIXME: Instead of X86Unpcklpd, there should be a X86Movlhpd here, the problem
5822 // is during lowering, where it's not possible to recognize the load fold cause
5823 // it has two uses through a bitcast. One use disappears at isel time and the
5824 // fold opportunity reappears.
5825 def : Pat<(v2f64 (X86Unpcklpd VR128:$src1,
5826 (scalar_to_vector (loadf64 addr:$src2)))),
5827 (MOVHPDrm VR128:$src1, addr:$src2)>;
58215828
58225829 // Shuffle with MOVSS
58235830 def : Pat<(v4f32 (X86Movss VR128:$src1, (scalar_to_vector FR32:$src2))),