- Feb 21, 2011
-
-
Chris Lattner authored
llvm-svn: 126103
-
Chris Lattner authored
llvm-svn: 126101
-
Cameron Zwarich authored
on Core 2 and Nehalem, so the code we generate is better than GCC's here. llvm-svn: 126100
-
Cameron Zwarich authored
of a constant had a minor typo introduced when copying it from the book, which caused it to favor negative approximations over positive approximations in many cases. Positive approximations require fewer operations beyond the multiplication. In the case of division by 3, we still generate code that is a single instruction larger than GCC's code. llvm-svn: 126097
-
- Feb 20, 2011
-
-
Eric Christopher authored
since one needs to be a register operand. Just use movss instead of forcing an operand into a register. Fixes PR9239 llvm-svn: 126072
-
Oscar Fuentes authored
of testing for its presence at cmake time. This way the build automatically regenerates the makefiles when a svn update brings in a new sublibrary. llvm-svn: 126068
-
- Feb 19, 2011
-
-
Eli Friedman authored
llvm-svn: 126054
-
Chris Lattner authored
This is reasonable to do since all bt-mem forms do the same thing. llvm-svn: 126047
-
Eric Christopher authored
llvm-svn: 126018
-
Joerg Sonnenberger authored
llvm-svn: 126004
-
- Feb 18, 2011
-
-
Chris Lattner authored
llvm-svn: 125978
-
Oscar Fuentes authored
llvm-svn: 125968
-
Chris Lattner authored
query about available library functions. For now this just has memset_pattern16, which exists on darwin, but it can be extended for a bunch of other things in the future. llvm-svn: 125965
-
Bruno Cardoso Lopes authored
llvm-svn: 125949
-
Bruno Cardoso Lopes authored
testcases for the disassembler to make sure it still works for "msr". llvm-svn: 125948
-
Chris Lattner authored
llvm-svn: 125832
-
Joerg Sonnenberger authored
llvm-svn: 125805
-
Joerg Sonnenberger authored
Validate encoding of leave in 64bit mode. llvm-svn: 125795
-
- Feb 17, 2011
-
-
David Greene authored
[AVX] Recorganize X86ShuffleDecode into its own library (LLVMX86Utils.a) to break cyclic library dependencies between LLVMX86CodeGen.a and LLVMX86AsmParser.a. Previously this code was in a header file and marked static but AVX requires some additional functionality here that won't be used by all clients. Since including unused static functions causes a gcc compiler warning, keeping it as a header would break builds that use -Werror. Putting this in its own library solves both problems at once. llvm-svn: 125765
-
Dan Gohman authored
these patterns. llvm-svn: 125759
-
NAKAMURA Takumi authored
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way. llvm-svn: 125747
-
NAKAMURA Takumi authored
llvm-svn: 125746
-
Duncan Sands authored
llvm-svn: 125738
-
Chris Lattner authored
llvm-svn: 125702
-
- Feb 16, 2011
-
-
Chris Lattner authored
llvm-svn: 125681
-
Stuart Hastings authored
other getNode() methods. Radar 9002173. llvm-svn: 125665
-
Eli Friedman authored
llvm-svn: 125660
-
Eli Friedman authored
llvm-svn: 125659
-
Eli Friedman authored
llvm-svn: 125658
-
Rafael Espindola authored
llvm-svn: 125629
-
Evan Cheng authored
Some single precision VFP instructions may be executed on NEON pipeline, but not double precision ones. llvm-svn: 125624
-
- Feb 15, 2011
-
-
Jakob Stoklund Olesen authored
This is necessary to avoid a crash in certain tangled situations where a kill flag is first correctly moved to a merged instruction, and then needs to be moved again: STR %R0, a... STR %R0<kill>, b... First becomes: STR %R0, b... STM a, %R0<kill>, ... and then: STM a, %R0, ... STM b, %R0<kill>, ... We can now remove the kill flag from the merged STM when needed. 8960050. llvm-svn: 125591
-
Duncan Sands authored
llvm-svn: 125563
-
Bob Wilson authored
llvm-svn: 125534
-
- Feb 14, 2011
-
-
Bruno Cardoso Lopes authored
llvm-svn: 125521
-
Bruno Cardoso Lopes authored
- Add custom operand matching for imod and iflags. - Rename SplitMnemonicAndCC to SplitMnemonic since it splits more than CC from mnemonic. - While adding ".w" as an operand, don't change "Head" to avoid passing the wrong mnemonic to ParseOperand. - Add asm parser tests. - Add disassembler tests just to make sure it can catch all cps versions. llvm-svn: 125489
-
- Feb 13, 2011
-
-
Chris Lattner authored
have their low bits set to zero. This allows us to optimize out explicit stack alignment code like in stack-align.ll:test4 when it is redundant. Doing this causes the code generator to start turning FI+cst into FI|cst all over the place, which is general goodness (that is the canonical form) except that various pieces of the code generator don't handle OR aggressively. Fix this by introducing a new SelectionDAG::isBaseWithConstantOffset predicate, and using it in places that are looking for ADD(X,CST). The ARM backend in particular was missing a lot of addressing mode folding opportunities around OR. llvm-svn: 125470
-
Reid Kleckner authored
These are just FXSAVE and FXRSTOR with REX.W prefixes. These versions use 64-bit pointer values instead of 32-bit pointer values in the memory map they dump and restore. llvm-svn: 125446
-
- Feb 12, 2011
-
-
Venkatraman Govindaraju authored
llvm-svn: 125444
-
Benjamin Kramer authored
llvm-svn: 125438
-