- Dec 26, 2012
-
-
Craig Topper authored
Mark all the _REV instructions as not having side effects. They aren't really emitted by the backend, but it reduces the number of instructions in the output files with unmodelled side effects to make auditing easier. llvm-svn: 171118
-
Craig Topper authored
Remove a special conditional setting of neverHasSideEffects if the instruction didn't have a pattern. This was leftover from when tablegen used to complain if things were already inferred from patterns. llvm-svn: 171117
-
Nadav Rotem authored
LoopVectorizer: Optimize the vectorization of consecutive memory access when the iteration step is -1 llvm-svn: 171114
-
Evgeniy Stepanov authored
Origin alignment is as high as the alignment of the corresponding application location, but never less than 4. llvm-svn: 171110
-
Evgeniy Stepanov authored
llvm-svn: 171109
-
Craig Topper authored
llvm-svn: 171103
-
Craig Topper authored
llvm-svn: 171102
-
Craig Topper authored
llvm-svn: 171097
-
Craig Topper authored
llvm-svn: 171096
-
Craig Topper authored
llvm-svn: 171095
-
Craig Topper authored
llvm-svn: 171093
-
Craig Topper authored
Use an additional multiclass to merge the 128/256-bit SSE/AVX instruction definitions for a bunch of SSE2 integer arithmetic instructions. llvm-svn: 171092
-
Nadav Rotem authored
llvm-svn: 171091
-
Craig Topper authored
Use an additional multiclass to merge the 128/256-bit SSE/AVX instruction definitions for PAND/POR/PXOR/PANDN llvm-svn: 171087
-
Craig Topper authored
llvm-svn: 171086
-
Craig Topper authored
llvm-svn: 171085
-
Craig Topper authored
llvm-svn: 171082
-
Craig Topper authored
Remove alignment from folding table for VMOVUPD as an unaligned instruction it shouldn't require alignment... llvm-svn: 171081
-
Craig Topper authored
Remove alignment requirements from (V)EXTRACTPS. This instruction does 32-bit stores which aren't required to be aligned on SSE or AVX. llvm-svn: 171080
-
Hal Finkel authored
For the time being this includes only some dummy test cases. Once the generic implementation of the intrinsics cost function does something other than assuming scalarization in all cases, or some target specializes the interface, some real test cases can be added. Also, for consistency, I changed the type of IID from unsigned to Intrinsic::ID in a few other places. llvm-svn: 171079
-
Craig Topper authored
Remove alignment requirement from VCVTSS2SD in folding tables. Reverting r171049. This instruction doesn't require alignment. llvm-svn: 171078
-
Hal Finkel authored
llvm-svn: 171076
-
- Dec 25, 2012
-
-
Hal Finkel authored
llvm-svn: 171075
-
Hal Finkel authored
Use of store or load with the atomic specifier on 64-bit types would cause instruction-selection failures. As with the 32-bit case, these can use the default expansion in terms of cmp-and-swap. llvm-svn: 171072
-
Evgeniy Stepanov authored
VectorType::getInteger() can not be used with them, because pointer size depends on the target. llvm-svn: 171070
-
Evgeniy Stepanov authored
llvm-svn: 171069
-
Benjamin Kramer authored
llvm-svn: 171064
-
Benjamin Kramer authored
pcmpeqd, pshufd, pshufd, pand is cheaper than unpack + cmpq, sbbq, cmpq, sbbq + pack. Small speedup on loop-vectorized viterbi (-march=core2). llvm-svn: 171063
-
Alexey Samsonov authored
llvm-svn: 171061
-
Alexey Samsonov authored
llvm-svn: 171060
-
Nick Lewycky authored
llvm-svn: 171051
-
Nadav Rotem authored
llvm-svn: 171049
-
Bob Wilson authored
These are now generally used for all diagnostics from the backend, not just for inline assembly, so this drops the "InlineAsm" from the names. No functional change. (I've left aliases for the old names but only for long enough to let me switch over clang to use the new ones.) llvm-svn: 171047
-
- Dec 24, 2012
-
-
Nick Lewycky authored
llvm-svn: 171044
-
Benjamin Kramer authored
This affords us to use std::string's allocation routines and use the destructor for the memory management. Switching to that also means that we can use operator==(const std::string&, const char *) to perform the string comparison rather than resorting to libc functionality (i.e. strcmp). Patch by Saleem Abdulrasool! Differential Revision: http://llvm-reviews.chandlerc.com/D230 llvm-svn: 171042
-
rdar://problem/12867368Bob Wilson authored
When the backend is used from clang, it should produce proper diagnostics instead of just printing messages to errs(). Other clients may also want to register their own error handlers with the LLVMContext, and the same handler should work for warnings in the same way as the existing emitError methods. llvm-svn: 171041
-
Nadav Rotem authored
support for the insert-subvector and extract-subvector kinds. llvm-svn: 171027
-
Elena Demikhovsky authored
llvm-svn: 171026
-
Elena Demikhovsky authored
Removed "static" from "__jit_debug_descriptor" because "static" adds C++ mangling prefix to this symbol. llvm-svn: 171025
-
Nadav Rotem authored
Some x86 instructions can load/store one of the operands to memory. On SSE, this memory needs to be aligned. When these instructions are encoded in VEX (on AVX) there is no such requirement. This changes the folding tables and removes the alignment restrictions from VEX-encoded instructions. llvm-svn: 171024
-