[PATCH] D113661: [X86][FP16] Avoid to generate VZEXT_MOVL with i16
LuoYuanke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 11 04:53:00 PST 2021
LuoYuanke added a comment.
Should we support VZEXT_MOVL for i16 with VMOVSHZrr just like what we support VZEXT_MOVL for i32?
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index 8aee96e1c504..4dca5490b26f 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -4659,6 +4659,8 @@ let Predicates = [HasAVX512] in {
let Predicates = [HasFP16] in {
def : Pat<(v8f16 (X86vzmovl (v8f16 VR128X:$src))),
(VMOVSHZrr (v8f16 (AVX512_128_SET0)), VR128X:$src)>;
+ def : Pat<(v8i16 (X86vzmovl (v8i16 VR128X:$src))),
+ (VMOVSHZrr (v8i16 (AVX512_128_SET0)), VR128X:$src)>;
// FIXME we need better canonicalization in dag combine
def : Pat<(v16f16 (X86vzmovl (v16f16 VR256X:$src))),
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113661/new/
https://reviews.llvm.org/D113661
More information about the llvm-commits
mailing list