[llvm] r336305 - [X86] Remove some isel patterns for X86ISD::SELECTS that specifically looked for the v1i1 mask to have come from a scalar_to_vector from GR8.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 4 20:01:29 PDT 2018
Author: ctopper
Date: Wed Jul 4 20:01:29 2018
New Revision: 336305
URL: http://llvm.org/viewvc/llvm-project?rev=336305&view=rev
Log:
[X86] Remove some isel patterns for X86ISD::SELECTS that specifically looked for the v1i1 mask to have come from a scalar_to_vector from GR8.
We have patterns for SELECTS that top at v1i1 and we have a pattern for (v1i1 (scalar_to_vector GR8)). The patterns being removed here do the same thing as the two other patterns combined so there is no need for them.
Modified:
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=336305&r1=336304&r2=336305&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Wed Jul 4 20:01:29 2018
@@ -4248,29 +4248,11 @@ defm : avx512_load_scalar_lowering_subre
(v8i1 (bitconvert (i8 (and GR8:$mask, (i8 1))))),
(iPTR 0))), GR8, sub_8bit>;
-def : Pat<(f32 (X86selects (scalar_to_vector GR8:$mask),
- (f32 FR32X:$src1), (f32 FR32X:$src2))),
- (COPY_TO_REGCLASS
- (VMOVSSZrrk (COPY_TO_REGCLASS FR32X:$src2, VR128X),
- (COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF),
- GR8:$mask, sub_8bit)), VK1WM),
- (v4f32 (IMPLICIT_DEF)), (COPY_TO_REGCLASS FR32X:$src1, VR128X)),
- FR32X)>;
-
def : Pat<(f32 (X86selects VK1WM:$mask, (f32 FR32X:$src1), (f32 FR32X:$src2))),
(COPY_TO_REGCLASS (VMOVSSZrrk (COPY_TO_REGCLASS FR32X:$src2, VR128X),
VK1WM:$mask, (v4f32 (IMPLICIT_DEF)),
(COPY_TO_REGCLASS FR32X:$src1, VR128X)), FR32X)>;
-def : Pat<(f64 (X86selects (scalar_to_vector GR8:$mask),
- (f64 FR64X:$src1), (f64 FR64X:$src2))),
- (COPY_TO_REGCLASS
- (VMOVSDZrrk (COPY_TO_REGCLASS FR64X:$src2, VR128X),
- (COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF),
- GR8:$mask, sub_8bit)), VK1WM),
- (v2f64 (IMPLICIT_DEF)), (COPY_TO_REGCLASS FR64X:$src1, VR128X)),
- FR64X)>;
-
def : Pat<(f64 (X86selects VK1WM:$mask, (f64 FR64X:$src1), (f64 FR64X:$src2))),
(COPY_TO_REGCLASS (VMOVSDZrrk (COPY_TO_REGCLASS FR64X:$src2, VR128X),
VK1WM:$mask, (v2f64 (IMPLICIT_DEF)),
More information about the llvm-commits
mailing list