OSDN Git Service

Lowering x86 adds/addus/subs/subus intrinsics (llvm part)
authorAlexander Ivchenko <alexander.ivchenko@intel.com>
Thu, 19 Apr 2018 12:13:30 +0000 (12:13 +0000)
committerAlexander Ivchenko <alexander.ivchenko@intel.com>
Thu, 19 Apr 2018 12:13:30 +0000 (12:13 +0000)
commitb6965c7c4fe111f6da9fff94cb8180d1772e9d71
tree18d94636b6dfe520ab9608ca5a16ddeafef29fa7
parent37562feb1c3c02fe99188f99220bfeba9c8d1b44
Lowering x86 adds/addus/subs/subus intrinsics (llvm part)

This is the patch that lowers x86 intrinsics to native IR
in order to enable optimizations. The patch also includes folding
of previously missing saturation patterns so that IR emits the same
machine instructions as the intrinsics.

Patch by tkrupa

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330322 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/IR/IntrinsicsX86.td
lib/IR/AutoUpgrade.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86IntrinsicsInfo.h
test/CodeGen/X86/avx2-intrinsics-fast-isel.ll
test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
test/CodeGen/X86/avx2-intrinsics-x86.ll
test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
test/CodeGen/X86/avx512bw-intrinsics.ll
test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512bwvl-intrinsics.ll
test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
test/CodeGen/X86/sse2-intrinsics-x86.ll
test/CodeGen/X86/sse2-schedule.ll
test/CodeGen/X86/vector-arith-sat.ll [new file with mode: 0644]
test/Instrumentation/MemorySanitizer/msan_x86intrinsics.ll