Force insert zero-idiom and break false dependency of dest register for several instr...
authorgpei-dev <gen.pei@intel.com>
Tue, 19 Apr 2022 05:44:04 +0000 (13:44 +0800)
committergpei-dev <gen.pei@intel.com>
Thu, 21 Apr 2022 08:47:13 +0000 (16:47 +0800)
commit3e6b904f0a5075a3f33683ce38b5a4fd18280e5e
tree14ccbb8fb15613b894997d38565ba24ea3fdd651
parent15fc293b11181177c9410e8715c2186bbe1390ed
Force insert zero-idiom and break false dependency of dest register for several instructions.

The related instructions are:

VPERMD/Q/PS/PD
VRANGEPD/PS/SD/SS
VGETMANTSS/SD/SH
VGETMANDPS/PD - mem version only
VPMULLQ
VFMULCSH/PH
VFCMULCSH/PH

Differential Revision: https://reviews.llvm.org/D116072
llvm/lib/Target/X86/X86.td
llvm/lib/Target/X86/X86InstrInfo.cpp
llvm/lib/Target/X86/X86TargetTransformInfo.h
llvm/test/CodeGen/X86/getmant-false-deps.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/mulc-false-deps.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/perm.avx2-false-deps.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/perm.avx512-false-deps.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/pmullq-false-deps.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/range-false-deps.ll [new file with mode: 0644]