]> granicus.if.org Git - clang/commit
[X86] Lowering integer truncation intrinsics to native IR
authorMikhail Dvoretckii <mikhail.dvoretckii@intel.com>
Tue, 10 Jul 2018 08:22:44 +0000 (08:22 +0000)
committerMikhail Dvoretckii <mikhail.dvoretckii@intel.com>
Tue, 10 Jul 2018 08:22:44 +0000 (08:22 +0000)
commitb4d2cac846d91bba7f952a0ce7651425fb56d585
tree6d93930c25e982f773813ed48f7791b801ab82c3
parent5734eced0745f4cf3d04c6b07d5d048d8a785537
[X86] Lowering integer truncation intrinsics to native IR

This patch lowers the _mm[256|512]_cvtepi{64|32|16}_epi{32|16|8} intrinsics to
native IR in cases where the result's length is less than 128 bits.

The resulting IR for 256-bit inputs is folded into VPMOV instructions, while for
128-bit inputs the vpshufb (or, in the 64-to-32-bit case, vinsertps)
instructions are generated instead

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@336643 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/avx512vlbwintrin.h
lib/Headers/avx512vlintrin.h
test/CodeGen/avx512vl-builtins.c
test/CodeGen/avx512vlbw-builtins.c