- Feb 14, 2013
-
-
Kay Tiong Khoo authored
-feature flag, instructions definitions, test cases llvm-svn: 175196
-
Nadav Rotem authored
llvm-svn: 175189
-
Elena Demikhovsky authored
Added a test. llvm-svn: 175144
-
Rafael Espindola authored
llvm-svn: 175133
-
Rafael Espindola authored
llvm-svn: 175121
-
- Feb 13, 2013
-
-
Nick Lewycky authored
Fixes PR15250! llvm-svn: 175092
-
Chad Rosier authored
displacements. rdar://12974533 llvm-svn: 175083
-
Benjamin Kramer authored
This happens when there is both stack realignment and a dynamic alloca in the function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the base pointer and the next register spill will write into oblivion. Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas and freebsd a 4 byte stack alignment. llvm-svn: 175057
-
Elena Demikhovsky authored
Prevent insertion of "vzeroupper" before call that preserves YMM registers, since a caller uses preserved registers across the call. llvm-svn: 175043
-
Eric Christopher authored
assembly. llvm-svn: 175036
-
- Feb 12, 2013
-
-
Kay Tiong Khoo authored
Fixed decode of existing 3dNow prefetchw instruction Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs llvm-svn: 174920
-
- Feb 11, 2013
-
-
Kay Tiong Khoo authored
*added file for test cases for i386 intel syntax llvm-svn: 174900
-
- Feb 06, 2013
-
-
Eli Bendersky authored
account. Atoms use LEA for updating SP in prologs/epilogs, and the exact LEA opcode depends on the data model. Also reapplying the test case which was added and then reverted (because of Atom failures), this time specifying explicitly the CPU in addition to the triple. The test case now checks all variations (data mode, cpu Atom vs. Core). llvm-svn: 174542
-
- Feb 05, 2013
-
-
Eli Bendersky authored
pointer in function prologs/epilogs. The opcodes should depend on the data model (LP64 vs. ILP32) rather than the architecture bit-ness. llvm-svn: 174446
-
Jakob Stoklund Olesen authored
llvm-svn: 174402
-
Eli Bendersky authored
llvm-svn: 174390
-
- Feb 04, 2013
-
-
Benjamin Kramer authored
Fixes PR15141. llvm-svn: 174327
-
Benjamin Kramer authored
llvm-svn: 174326
-
Evgeniy Stepanov authored
This change lets us bootstrap LLVM/Clang under ASan and MSan. It contains fixes for 2 issues: - X86JIT reads return address from stack, which MSan does not know is initialized. - bugpoint tests run binaries with RLIMIT_AS. This does not work with certain Sanitizers. We are no longer including config.h in Compiler.h with this change. llvm-svn: 174306
-
- Feb 01, 2013
-
-
David Sehr authored
1) allows the use of RIP-relative addressing in 32-bit LEA instructions under x86-64 (ILP32 and LP64) 2) separates the size of address registers in 64-bit LEA instructions from control by ILP32/LP64. llvm-svn: 174208
-
- Jan 31, 2013
-
-
Chad Rosier authored
Each target implementation was needlessly recomputing the index. Part of rdar://13076458 llvm-svn: 174083
-
Eric Christopher authored
llvm-svn: 174009
-
Eric Christopher authored
register for inline asm. This conforms to how gcc allows for effective casting of inputs into gprs (fprs is already handled). llvm-svn: 174008
-
- Jan 30, 2013
-
-
Evan Cheng authored
llvm-svn: 173987
-
- Jan 29, 2013
-
-
Evan Cheng authored
llvm-svn: 173812
-
Hans Wennborg authored
llvm-svn: 173798
-
Craig Topper authored
llvm-svn: 173777
-
Evan Cheng authored
conditions are met: 1. They share the same operand and are in the same BB. 2. Both outputs are used. 3. The target has a native instruction that maps to ISD::FSINCOS node or the target provides a sincos library call. Implemented the generic optimization in sdisel and enabled it for Mac OSX. Also added an additional optimization for x86_64 Mac OSX by using an alternative entry point __sincos_stret which returns the two results in xmm0 / xmm1. rdar://13087969 PR13204 llvm-svn: 173755
-
- Jan 28, 2013
-
-
Craig Topper authored
llvm-svn: 173674
-
Craig Topper authored
Add missing break in 256-bit palignr comment printing. No test case yet because the comment itself is still wrong. llvm-svn: 173669
-
Craig Topper authored
llvm-svn: 173667
-
- Jan 26, 2013
-
-
Benjamin Kramer authored
llvm-svn: 173572
-
Benjamin Kramer authored
This catches many cases where we can emit a more efficient shuffle for a specific mask or when the mask contains undefs. Once the splat is lowered to unpacks we can't do that anymore. There is a possibility of moving the promotion after pshufb matching, but I'm not sure if pshufb with a mask loaded from memory is faster than 3 shuffles, so I avoided that for now. llvm-svn: 173569
-
- Jan 25, 2013
-
-
Eli Bendersky authored
(defined by the x32 ABI) mode, in which case its pointers are 32-bits in size. This knowledge is also added to X86RegisterInfo that now returns the appropriate registers in getPointerRegClass. There are many outcomes to this change. In order to keep the patches separate and manageable, we start by focusing on some simple testable cases. The patch adds a test with passing a pointer to a function - focusing on the difference between the two data models for x86-64. Another test is added for handling of 'sret' arguments (and functionality is added in X86ISelLowering to make it work). A note on naming: the "x32 ABI" document refers to the AMD64 architecture (in LLVM it's distinguished by being is64Bits() in the x86 subtarget) with two variations: the LP64 (default) data model, and the ILP32 data model. This patch adds predicates to the subtarget which are consistent with this naming scheme. llvm-svn: 173503
-
Renato Golin authored
llvm-svn: 173382
-
- Jan 22, 2013
-
-
Michael Liao authored
- Add list of physical registers clobbered in pseudo atomic insts Physical registers are clobbered when pseudo atomic instructions are expanded. Add them in clobber list to prevent DAG scheduler to mis-schedule them after these insns are declared side-effect free. - Add test case from Michael Kuperstein <michael.m.kuperstein@intel.com> llvm-svn: 173200
-
Benjamin Kramer authored
X86: Make sure we account for the FMA4 register immediate value, otherwise rip-rel relocations will be off by one byte. PR15040. llvm-svn: 173176
-
Eli Bendersky authored
Add the x32 environment kind to the triple, and separate the concept of pointer size and callee save stack slot size, since they're not equal on x32. llvm-svn: 173175
-
Tim Northover authored
Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate. llvm-svn: 173138
-
- Jan 21, 2013
-
-
Craig Topper authored
llvm-svn: 173010
-