From 3fc144c9304d3e0204e0b92c46f56926df8c48b9 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 23 Jun 2019 19:17:50 +0000 Subject: [PATCH] [X86] Fix isel pattern that was looking for a bitcasted load. Remove what appears to be a copy/paste mistake. DAG combine should ensure bitcasts of loads don't exist. Also remove 3 patterns that are identical to the block above them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364158 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrAVX512.td | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 48da35f11a2..e1516dd745c 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -9797,19 +9797,7 @@ defm : AVX512_pmovx_patterns<"VPMOVZX", zext, zext_invec>; let Predicates = [HasAVX512, NoBWI] in { def: Pat<(v16i8 (trunc (v16i16 VR256X:$src))), (VPMOVDBZrr (v16i32 (VPMOVZXWDZrr VR256X:$src)))>; -def: Pat<(v16i8 (trunc (bc_v16i16 (loadv4i64 addr:$src)))), - (VPMOVDBZrr (v16i32 (VPMOVZXWDZrm addr:$src)))>; -def: Pat<(store (v16i8 (trunc (v16i16 VR256X:$src))), addr:$dst), - (VPMOVDBZmr addr:$dst, (v16i32 (VPMOVZXWDZrr VR256X:$src)))>; -} - -// Without BWI we can't do a trunc from v16i16 to v16i8. DAG combine can merge -// ext+trunc aggresively making it impossible to legalize the DAG to this -// pattern directly. -let Predicates = [HasAVX512, NoBWI] in { -def: Pat<(v16i8 (trunc (v16i16 VR256X:$src))), - (VPMOVDBZrr (v16i32 (VPMOVZXWDZrr VR256X:$src)))>; -def: Pat<(v16i8 (trunc (bc_v16i16 (loadv4i64 addr:$src)))), +def: Pat<(v16i8 (trunc (loadv16i16 addr:$src))), (VPMOVDBZrr (v16i32 (VPMOVZXWDZrm addr:$src)))>; def: Pat<(store (v16i8 (trunc (v16i16 VR256X:$src))), addr:$dst), (VPMOVDBZmr addr:$dst, (v16i32 (VPMOVZXWDZrr VR256X:$src)))>; -- 2.40.0