Go to file
Simon Pilgrim 5beaac433d [X86][SSE] Use ISD::MULHS for constant vXi16 ISD::SRA lowering (PR38151)
Similar to the existing ISD::SRL constant vector shifts from D49562, this patch adds ISD::SRA support with ISD::MULHS.

As we're dealing with signed values, we have to handle shift by zero and shift by one special cases, so XOP+AVX2/AVX512 splitting/extension is still a better solution - really we should still use ISD::MULHS if one of the special cases are used but for now I've just left a TODO and filtered by isKnownNeverZero.

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

llvm-svn: 343093
2018-09-26 10:57:05 +00:00
clang Removed extra semicolon to fix Wpedantic. (NFCI). 2018-09-26 09:12:55 +00:00
clang-tools-extra Removed extra semicolon to fix Wpedantic. (NFCI). 2018-09-26 09:02:45 +00:00
compiler-rt [CMake] [MinGW] Build address sanitizer for MinGW if building with clang 2018-09-26 06:53:01 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx [libc++] Remove Fuchsia-specific knowledge to pick the ABI version 2018-09-26 08:24:51 +00:00
libcxxabi Update docs to reference new libc++ mailing lists. 2018-09-22 19:52:12 +00:00
libunwind Reverting r342895 2018-09-24 16:36:33 +00:00
lld [ELF] - Do not fail on R_*_NONE relocations when parsing the debug info. 2018-09-26 08:11:34 +00:00
lldb [unittest] Fix NativeProcessProtocolTest.cpp (NFC) 2018-09-26 10:09:44 +00:00
llgo
llvm [X86][SSE] Use ISD::MULHS for constant vXi16 ISD::SRA lowering (PR38151) 2018-09-26 10:57:05 +00:00
openmp [OpenMP][libomptarget] Set the frame pointer then test empty slot condition 2018-09-25 18:48:14 +00:00
parallel-libs
polly fix the scan-build urls 2018-09-21 09:07:58 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.