Go to file
Andrea Di Biagio cb33456122 [FastISel][x86] Teach how to select SSE2/AVX bitcasts between 128/256-bit vector types.
This patch teaches FastIsel the following two things:
1) On SSE2, no instructions are needed for bitcasts between 128-bit vector types;
2) On AVX, no instructions are needed for bitcasts between 256-bit vector types.

Example:

  %1 = bitcast <4 x i31> %V to <2 x i64>

Before (-fast-isel -fast-isel-abort=1):

  FastIsel miss: %1 = bitcast <4 x i31> %V to <2 x i64>

Now we don't fall back to SelectionDAG and we correctly fold that computation
propagating the register associated to %V.

Differential Revision: http://reviews.llvm.org/D13347

llvm-svn: 249121
2015-10-02 12:45:37 +00:00
clang Be slightly more permissive when checking for type-erased blocks. 2015-10-02 01:05:29 +00:00
clang-tools-extra Fix the *unchecked* commit. 2015-10-01 23:50:06 +00:00
compiler-rt [CMake] [builtins] [macho_embedded] Separate out the 64-bit thumb builtins so they don't get included on 'm' architectures. NFC. 2015-10-01 22:01:06 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Implement tanh builtin 2015-09-29 06:39:09 +00:00
libcxx Attempt to prevent flaky thread.mutex tests by once again increasing timing tolerances 2015-10-01 08:34:37 +00:00
libcxxabi Let cxa_demangle.cpp compile with gcc/libstdc++ 4.8 and clang-cl/MSVC2013's STL. 2015-09-20 18:10:46 +00:00
libunwind unwind: Allow the building of libunwind for MIPS. 2015-09-26 18:26:01 +00:00
lld ELF2: Merge duplicates using lambdas. NFC. 2015-10-02 01:33:31 +00:00
lldb Change expected stop reason in TestInferiorAssert for Android API <= 16 2015-10-02 12:00:04 +00:00
llgo [llgo] irgen: always use TargetMachine's data layout 2015-09-25 06:28:14 +00:00
llvm [FastISel][x86] Teach how to select SSE2/AVX bitcasts between 128/256-bit vector types. 2015-10-02 12:45:37 +00:00
openmp Fix memory corruption in Windows debug library 2015-09-25 17:23:17 +00:00
polly Make the SCoP generation resistent wrt. error blocks 2015-10-01 23:48:18 +00:00