AVX-512: Changed lowering of BITCAST between i1 vectors and i8/i16/i32 integer values
authorElena Demikhovsky <elena.demikhovsky@intel.com>
Sun, 7 Aug 2016 13:05:58 +0000 (13:05 +0000)
committerElena Demikhovsky <elena.demikhovsky@intel.com>
Sun, 7 Aug 2016 13:05:58 +0000 (13:05 +0000)
commitdca03bebd359fada534caeb3717b7f71f65dcd36
treeda358b8b28ab1b4039c5e0a379337945a576efe2
parent69f2299efc5249affe4aaad0a50ba022298db73d
AVX-512: Changed lowering of BITCAST between i1 vectors and i8/i16/i32 integer values

Optimized lowering of BITCAST node. The BITCAST node can be replaced with COPY_TO_REG instead of KMOV.
It allows to suppress two opposite BITCAST operations and avoid redundant "movs".

Differential Revision: https://reviews.llvm.org/D23247

llvm-svn: 277958
19 files changed:
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
llvm/test/CodeGen/X86/avx512-ext.ll
llvm/test/CodeGen/X86/avx512-insert-extract.ll
llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512-intrinsics.ll
llvm/test/CodeGen/X86/avx512-mask-op.ll
llvm/test/CodeGen/X86/avx512-select.ll
llvm/test/CodeGen/X86/avx512-vec-cmp.ll
llvm/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512bwvl-intrinsics.ll
llvm/test/CodeGen/X86/avx512dq-intrinsics.ll
llvm/test/CodeGen/X86/avx512dq-mask-op.ll
llvm/test/CodeGen/X86/avx512dqvl-intrinsics.ll
llvm/test/CodeGen/X86/avx512vbmi-intrinsics.ll
llvm/test/CodeGen/X86/avx512vbmivl-intrinsics.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
llvm/test/CodeGen/X86/vector-shuffle-v1.ll