Convert SHUFPD with the same register for both sources to PSHUFD if it would prevent...
[oota-llvm.git] / lib / Target / X86 / X86InstrSSE.td
index 27f51282a6effe16b2897c4ea9c8d97605a60d1d..c9ecfee828b428fc6dd0ef522aa7c5f619942c40 100644 (file)
@@ -2330,7 +2330,8 @@ let Constraints = "$src1 = $dst" in {
                     TB;
   defm SHUFPD : sse12_shuffle<VR128, f128mem, v2f64,
                     "shufpd\t{$src3, $src2, $dst|$dst, $src2, $src3}",
-                    memopv2f64, SSEPackedDouble>, TB, OpSize;
+                    memopv2f64, SSEPackedDouble, 1 /* cvt to pshufd */>,
+                    TB, OpSize;
 }
 
 let Predicates = [HasAVX] in {