summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2015-04-27 22:23:17 +0000
committerSanjay Patel <spatel@rotateright.com>2015-04-27 22:23:17 +0000
commitca5ad5fb6dc7d39cddb687adde1f9bef20b63bd8 (patch)
tree68aabf69e1db48190576d6c9fe2f6c0219bb7a8e
parent98d79dace33789348d4a4c641c9338d39801ff20 (diff)
downloadbcm5719-llvm-ca5ad5fb6dc7d39cddb687adde1f9bef20b63bd8.tar.gz
bcm5719-llvm-ca5ad5fb6dc7d39cddb687adde1f9bef20b63bd8.zip
remove obsolete pattern matches for scalar SSE ops
The blendi pattern should always replace the insertps pattern after: http://reviews.llvm.org/rL232850 http://reviews.llvm.org/rL235124 llvm-svn: 235930
-rw-r--r--llvm/lib/Target/X86/X86InstrSSE.td16
1 files changed, 1 insertions, 15 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td
index dfaf9c27d1e..2b418aada85 100644
--- a/llvm/lib/Target/X86/X86InstrSSE.td
+++ b/llvm/lib/Target/X86/X86InstrSSE.td
@@ -3173,15 +3173,8 @@ multiclass scalar_math_f32_patterns<SDNode Op, string OpcPrefix> {
(!cast<I>(OpcPrefix#SSrr_Int) v4f32:$dst, v4f32:$src)>;
}
- // With SSE 4.1, insertps/blendi are preferred to movsd, so match those too.
+ // With SSE 4.1, blendi is preferred to movsd, so match that too.
let Predicates = [UseSSE41] in {
- // extracted scalar math op with insert via insertps
- def : Pat<(v4f32 (X86insertps (v4f32 VR128:$dst), (v4f32 (scalar_to_vector
- (Op (f32 (vector_extract (v4f32 VR128:$dst), (iPTR 0))),
- FR32:$src))), (iPTR 0))),
- (!cast<I>(OpcPrefix#SSrr_Int) v4f32:$dst,
- (COPY_TO_REGCLASS FR32:$src, VR128))>;
-
// extracted scalar math op with insert via blend
def : Pat<(v4f32 (X86Blendi (v4f32 VR128:$dst), (v4f32 (scalar_to_vector
(Op (f32 (vector_extract (v4f32 VR128:$dst), (iPTR 0))),
@@ -3199,13 +3192,6 @@ multiclass scalar_math_f32_patterns<SDNode Op, string OpcPrefix> {
// Repeat everything for AVX, except for the movss + scalar combo...
// because that one shouldn't occur with AVX codegen?
let Predicates = [HasAVX] in {
- // extracted scalar math op with insert via insertps
- def : Pat<(v4f32 (X86insertps (v4f32 VR128:$dst), (v4f32 (scalar_to_vector
- (Op (f32 (vector_extract (v4f32 VR128:$dst), (iPTR 0))),
- FR32:$src))), (iPTR 0))),
- (!cast<I>("V"#OpcPrefix#SSrr_Int) v4f32:$dst,
- (COPY_TO_REGCLASS FR32:$src, VR128))>;
-
// extracted scalar math op with insert via blend
def : Pat<(v4f32 (X86Blendi (v4f32 VR128:$dst), (v4f32 (scalar_to_vector
(Op (f32 (vector_extract (v4f32 VR128:$dst), (iPTR 0))),
OpenPOWER on IntegriCloud