llvm-project/llvm
Craig Topper 30b627e5c9 [X86] Custom type legalize v2i8/v2i16/v2i32 mul to use to pmuludq.
v2i8/v2i16/v2i32 are promoted to v2i64. pmuludq takes a v2i64 input and produces a v2i64 output. Since we don't about the upper bits of the type legalized multiply we can use the pmuludq to produce the multiply result for the bits we do care about.

llvm-svn: 346115
2018-11-05 05:02:12 +00:00
..
benchmarks
bindings [TI removal] Remove TerminatorInst references from bindings. 2018-10-18 07:40:03 +00:00
cmake Enable -Wimplicit-fallthrough for clang as well as GCC 2018-11-01 20:31:44 +00:00
docs [NFC] Remove some extra characters from docs/LangRef.rst 2018-11-02 15:51:43 +00:00
examples [BuildingAJIT] Update the Ch1 KaleidoscopeJIT class to expose errors to clients. 2018-10-18 00:51:38 +00:00
include [SelectionDAG] Remove special methods for creating *_EXTEND_VECTOR_INREG nodes. Move asserts into getNode. 2018-11-04 02:10:18 +00:00
lib [X86] Custom type legalize v2i8/v2i16/v2i32 mul to use to pmuludq. 2018-11-05 05:02:12 +00:00
projects
resources
runtimes
test [X86] Custom type legalize v2i8/v2i16/v2i32 mul to use to pmuludq. 2018-11-05 05:02:12 +00:00
tools [AArch64] [Windows] Misc fixes for llvm-readobj -unwind. 2018-11-02 19:59:08 +00:00
unittests [ValueTracking] determine sign of 0.0 from select when matching min/max FP 2018-11-04 14:28:48 +00:00
utils Refactor the lit configuration files 2018-11-02 17:49:01 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore [git/svn] Ignore Visual Studio's CMakeSettings.json. 2018-10-29 14:51:02 +00:00
CMakeLists.txt [CMake] Fix a missing LLVM_ENABLE_IDE from r344555 2018-10-15 22:36:59 +00:00
CODE_OWNERS.TXT
CREDITS.TXT [NFC] Add periods to CREDITS.txt (testing git-llvm) 2018-10-26 06:57:02 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt Test commit. 2018-09-22 01:01:03 +00:00
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.