From ba330b6646245b84aaf322c7c085cd5cd07033ad Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 15 Jan 2017 05:21:29 +0000 Subject: [PATCH] [X86] Remove untested MOVDDUP patterns. These all involve bitcasts around the memory operands. This isn't something we normally do for isel patterns. I suspect DAG combine should convert the load type making this unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292050 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrSSE.td | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index e301d0ab7ac..6f3623e088b 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -5108,16 +5108,6 @@ let Predicates = [HasAVX, NoVLX] in { (VMOVDDUPYrr VR256:$src)>; } -let Predicates = [HasAVX] in { - def : Pat<(X86Movddup (bc_v2f64 (loadv4f32 addr:$src))), - (VMOVDDUPrm addr:$src)>, Requires<[HasAVX]>; - def : Pat<(X86Movddup (bc_v2f64 (loadv2i64 addr:$src))), - (VMOVDDUPrm addr:$src)>, Requires<[HasAVX]>; - def : Pat<(X86Movddup (bc_v2f64 - (v2i64 (scalar_to_vector (loadi64 addr:$src))))), - (VMOVDDUPrm addr:$src)>, Requires<[HasAVX]>; -} - let Predicates = [HasAVX, NoVLX] in def : Pat<(v2f64 (X86VBroadcast (loadf64 addr:$src))), (VMOVDDUPrm addr:$src)>; @@ -5128,13 +5118,6 @@ def : Pat<(v2i64 (X86VBroadcast (loadi64 addr:$src))), let Predicates = [UseSSE3] in { def : Pat<(X86Movddup (memopv2f64 addr:$src)), (MOVDDUPrm addr:$src)>; - def : Pat<(X86Movddup (bc_v2f64 (memopv4f32 addr:$src))), - (MOVDDUPrm addr:$src)>; - def : Pat<(X86Movddup (bc_v2f64 (memopv2i64 addr:$src))), - (MOVDDUPrm addr:$src)>; - def : Pat<(X86Movddup (bc_v2f64 - (v2i64 (scalar_to_vector (loadi64 addr:$src))))), - (MOVDDUPrm addr:$src)>; } //===---------------------------------------------------------------------===// -- 2.40.0