Go to file
Craig Topper 784f1bbf5e [X86] Remove SRAs from v16i8 multiply lowering on sse2 targets
Previously we unpacked the even bytes of each input into the high byte of 16-bit elements then did an v8i16 arithmetic shift right by 8 bits to fill the upper bits of each word with sign bits. Then we did the v8i16 multiply and then masked to zero the upper 8-bits of each result. The similar was done for all the odd bytes. The results are then packed together with packuswb

Since we are masking each multiply result element to 8-bits, and those 8-bits are determined only by the lower 8-bits of each of the inputs, we don't need to fill the upper bits with sign bits. So we can just unpack into the low byte of each element and treat the upper bits as garbage. This is what gcc also does.

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

llvm-svn: 327093
2018-03-09 01:22:31 +00:00
clang [DOXYGEN] Fix doxygen and content issues in mmintrin.h 2018-03-09 00:38:51 +00:00
clang-tools-extra [clangd] Early return for #include goto definition. 2018-03-08 16:28:12 +00:00
compiler-rt Mark the -overlap tests are "UNSUPPORTED: android". Android test harness doesn't know how to handle suppression files. 2018-03-09 00:41:29 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc amdgcn/fmax: fcanonicalize operands 2018-03-08 23:01:01 +00:00
libcxx Low-hanging fruit optimization in string::__move_assign(). 2018-03-08 21:15:26 +00:00
libcxxabi [demangler] Fix a mistake in r326797. 2018-03-07 04:29:33 +00:00
libunwind [libunwind][MIPS]: Add support for unwinding in N32 processes. 2018-02-27 21:24:02 +00:00
lld Resubmit "Write a hash of the executable into the PE timestamp fields." 2018-03-08 19:33:47 +00:00
lldb [test] Skip a test which sporadically fails in its dsym variant 2018-03-09 00:34:43 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86] Remove SRAs from v16i8 multiply lowering on sse2 targets 2018-03-09 01:22:31 +00:00
openmp [OpenMP][libomptarget] Fix union. 2018-03-08 18:44:02 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [Polly][CMake] Fix lit setup for building the in the mono repo 2018-03-05 14:43:04 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

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.