- Jul 26, 2013
-
-
Craig Topper authored
llvm-svn: 187182
-
- Jul 24, 2013
-
-
Elena Demikhovsky authored
I'm starting to commit KNL backend. I'll push patches one-by-one. This patch includes support for the extended register set XMM16-31, YMM16-31, ZMM0-31. The full ISA you can see here: http://software.intel.com/en-us/intel-isa-extensions llvm-svn: 187030
-
Craig Topper authored
This removes the need to store the asm variant in each row of the single table that existed before. Shaves ~16K off the size of X86AsmParser.o. llvm-svn: 187026
-
Craig Topper authored
Fix aliases for shrd/shld to handle Intel syntax properly. Also suppress them from being used by the asm printer. llvm-svn: 187020
-
- Jul 23, 2013
-
-
Craig Topper authored
llvm-svn: 186932
-
Craig Topper authored
llvm-svn: 186924
-
Craig Topper authored
llvm-svn: 186910
-
Craig Topper authored
llvm-svn: 186907
-
Craig Topper authored
This makes them consistent with 'bt' which already had this handling. gas has the same behavior. There have been discussions on the mailing list about determining size based on the immediate, but my goal here was just to remove the inconsistency. llvm-svn: 186904
-
Craig Topper authored
It only didn't use it before because it seems InstAlias handling in the asm printer fails to count tied operands so it tried to find an xor with 2 operands instead of the 3 it wfails to count tied. llvm-svn: 186900
-
Craig Topper authored
Suppress argumentless aliases for some x86 FP operations from being used by the asm writer. Prefer to use the explicit %st(1) form. llvm-svn: 186897
-
- Jul 22, 2013
-
-
Kevin Enderby authored
absolute address encoded in the instruction. rdar://8612627 and rdar://14299221 llvm-svn: 186878
-
Craig Topper authored
Recommit r186813: More Intel syntax alias fixes. With the addition of suppressing some of the aliases from being emitted by the asm printer. llvm-svn: 186869
-
Tim Northover authored
This reverts commit r186813, which broke the bots. llvm-svn: 186818
-
Craig Topper authored
llvm-svn: 186815
-
Craig Topper authored
llvm-svn: 186814
-
Craig Topper authored
llvm-svn: 186813
-
Craig Topper authored
llvm-svn: 186812
-
Craig Topper authored
llvm-svn: 186811
-
Craig Topper authored
llvm-svn: 186809
-
- Jul 21, 2013
-
-
Craig Topper authored
llvm-svn: 186787
-
- Jul 18, 2013
-
-
Craig Topper authored
llvm-svn: 186566
-
- Jul 17, 2013
-
-
Craig Topper authored
llvm-svn: 186496
-
Craig Topper authored
Make x86 fast-isel correctly choose between aligned and unaligned operations for vector stores. Fixes PR16640. llvm-svn: 186491
-
- Jul 16, 2013
-
-
Juergen Ributzka authored
Use PMIN/PMAX for UGE/ULE vector comparions to reduce the number of required instructions. This trick also works for UGT/ULT, but there is no advantage in doing so. It wouldn't reduce the number of instructions and it would actually reduce performance. Reviewer: Ben radar:5972691 llvm-svn: 186432
-
- Jul 15, 2013
-
-
Craig Topper authored
llvm-svn: 186308
-
- Jul 14, 2013
-
-
Craig Topper authored
llvm-svn: 186274
-
- Jul 12, 2013
-
-
Arnold Schwaighofer authored
radar://14351991 llvm-svn: 186189
-
Benjamin Kramer authored
In particular: movsbw %al, %ax --> cbtw movswl %ax, %eax --> cwtl movslq %eax, %rax --> cltq According to Intel's manual those have the same performance characteristics but come with a smaller encoding. llvm-svn: 186174
-
Stephen Lin authored
Patch by Andrea Di Biagio llvm-svn: 186165
-
Charles Davis authored
Summary: This patch adds explicit calling convention types for the Win64 and System V/x86-64 ABIs. This allows code to override the default, and use the Win64 convention on a target that wants to use SysV (and vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU attributes. Reviewers: CC: llvm-svn: 186144
-
- Jul 09, 2013
-
-
Stephen Lin authored
in-tree implementations of TargetLoweringBase::isFMAFasterThanMulAndAdd in order to resolve the following issues with fmuladd (i.e. optional FMA) intrinsics: 1. On X86(-64) targets, ISD::FMA nodes are formed when lowering fmuladd intrinsics even if the subtarget does not support FMA instructions, leading to laughably bad code generation in some situations. 2. On AArch64 targets, ISD::FMA nodes are formed for operations on fp128, resulting in a call to a software fp128 FMA implementation. 3. On PowerPC targets, FMAs are not generated from fmuladd intrinsics on types like v2f32, v8f32, v4f64, etc., even though they promote, split, scalarize, etc. to types that support hardware FMAs. The function has also been slightly renamed for consistency and to force a merge/build conflict for any out-of-tree target implementing it. To resolve, see comments and fixed in-tree examples. llvm-svn: 185956
-
Jim Grosbach authored
llvm-svn: 185900
-
Jim Grosbach authored
Explicit references to %AH for an i8 remainder instruction can lead to references to %AH in a REX prefixed instruction, which causes things to blow up. Do the same thing in FastISel as we do for DAG isel and instead shift %AX right by 8 bits and then extract the 8-bit subreg from that result. rdar://14203849 http://llvm.org/bugs/show_bug.cgi?id=16105 llvm-svn: 185899
-
- Jul 08, 2013
-
-
Nico Rieck authored
Reapply this as I reverted the wrong commit. llvm-svn: 185807
-
Nico Rieck authored
This reverts commit 2b52880592a525cfe04d8f9008a35da8c2ea94c3. Needs review. llvm-svn: 185806
-
Nico Rieck authored
This reverts commit 01f8d579f7672872324208ac5bc4ac311e81b22e. llvm-svn: 185781
-
- Jul 07, 2013
-
-
Nico Rieck authored
llvm-svn: 185778
-
- Jul 06, 2013
-
-
Nico Rieck authored
llvm-svn: 185763
-
- Jul 04, 2013
-
-
Jakob Stoklund Olesen authored
These exception-related opcodes are not used any longer. llvm-svn: 185625
-