Go to file
Fangrui Song d906e731ec ComputeLineNumbers: delete SSE2 vectorization
Summary:
SSE2 vectorization was added in 2012, but it is 2018 now and I can't
observe any performance boost (testing clang -E [all Sema/* CodeGen/* with proper -I options]) with the existing _mm_movemask_epi8+countTrailingZeros or the following SSE4.2 (compiling with -msse4.2):

  __m128i C = _mm_setr_epi8('\r','\n',0,0,0,0,0,0,0,0,0,0,0,0,0,0);
  _mm_cmpestri(C, 2, Chunk, 16, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_POSITIVE_POLARITY | _SIDD_LEAST_SIGNIFICANT)

Delete the vectorization to simplify the code.

Also simplify the code a bit and don't check the line ending sequence \n\r

Reviewers: bkramer, #clang

Reviewed By: bkramer

Subscribers: cfe-commits

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

llvm-svn: 348777
2018-12-10 18:10:35 +00:00
clang ComputeLineNumbers: delete SSE2 vectorization 2018-12-10 18:10:35 +00:00
clang-tools-extra [Documentation] Alphabetical order in new checks list. 2018-12-08 00:07:34 +00:00
compiler-rt [Sanitizer] expand sysctl/getmntinfo/nl_langinfo to Darwin 2018-12-10 16:29:30 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc travis: Add cmake build 2018-11-27 16:07:21 +00:00
libcxx Update a couple of vector<bool> tests that were testing libc++-specific bahavior. Thanks to Andrey Maksimov for the catch. 2018-12-07 22:16:26 +00:00
libcxxabi [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
libunwind [CMake] Passthrough CFLAGS when checking the compiler-rt path 2018-11-14 00:09:26 +00:00
lld [LLD][ELF] - Support discarding the .dynamic section. 2018-12-10 09:24:49 +00:00
lldb Do not use PATH_MAX with SmallString 2018-12-10 17:23:28 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [x86] fix formatting; NFC 2018-12-10 17:23:44 +00:00
openmp [OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form. 2018-12-10 16:50:36 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [CMake] Fix generation of exported targets in build directory 2018-11-06 15:18:17 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

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.