From: Sanjay Patel Date: Mon, 27 Apr 2015 22:23:17 +0000 (+0000) Subject: remove obsolete pattern matches for scalar SSE ops X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fd55d49f65805f7162f52ffab032e7b59311bc8b;p=oota-llvm.git 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235930 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index dfaf9c27d1e..2b418aada85 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -3173,15 +3173,8 @@ multiclass scalar_math_f32_patterns { (!cast(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(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 { // 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("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))),