- Nov 12, 2010
-
-
Jim Grosbach authored
llvm-svn: 118926
-
Jim Grosbach authored
to splitting the load/store pre/post indexed instructions into [r, r] and [r, imm] forms. llvm-svn: 118925
-
Jim Grosbach authored
llvm-svn: 118907
-
- Nov 11, 2010
-
-
Jim Grosbach authored
llvm-svn: 118829
-
Jim Grosbach authored
instructions. llvm-svn: 118801
-
Jim Grosbach authored
llvm-svn: 118794
-
Jim Grosbach authored
llvm-svn: 118767
-
Jim Grosbach authored
llvm-svn: 118761
-
Jim Grosbach authored
llvm-svn: 118757
-
Jim Grosbach authored
encoding bits. llvm-svn: 118738
-
Jim Grosbach authored
llvm-svn: 118736
-
Jim Grosbach authored
llvm-svn: 118732
-
Jim Grosbach authored
llvm-svn: 118730
-
- Nov 09, 2010
-
-
Jim Grosbach authored
llvm-svn: 118600
-
Jim Grosbach authored
llvm-svn: 118513
-
Bill Wendling authored
llvm-svn: 118462
-
Bill Wendling authored
llvm-svn: 118457
-
- Nov 08, 2010
-
-
Bill Wendling authored
an initial implementation and may change once reglists are fully fleshed out. llvm-svn: 118390
-
- Nov 04, 2010
-
-
Evan Cheng authored
Fix @llvm.prefetch isel. Selecting between pld / pldw using the first immediate rw. There is currently no intrinsic that matches to pli. llvm-svn: 118237
-
- Nov 03, 2010
-
-
Evan Cheng authored
Fix preload instruction isel. Only v7 supports pli, and only v7 with mp extension supports pldw. Add subtarget attribute to denote mp extension support and legalize illegal ones to nothing. llvm-svn: 118160
-
-
Bill Wendling authored
vldr.64 d1, [r0, #-32] The problem was with how the addressing mode 5 encodes the offsets. This change makes sure that the way offsets are handled in addressing mode 5 is consistent throughout the MC code. It involves re-refactoring the "getAddrModeImmOpValue" method into an "Imm12" and "addressing mode 5" version. But not to worry! The majority of the duplicated code has been unified. llvm-svn: 118144
-
Jim Grosbach authored
parts. Represent the operation mode as an optional operand instead. rdar://8614429 llvm-svn: 118137
-
Chris Lattner authored
ins/outs list that isn't specified by their asmstring. Previously the asmmatcher would just force a 0 register into it, which clearly isn't right. Mark a bunch of ARM instructions that use this as isCodeGenOnly. Some of them are clearly pseudo instructions (like t2TBB) others use a weird hasExtraSrcRegAllocReq thing that will either need to be removed or the asmmatcher will need to be taught about it (someday). llvm-svn: 118119
-
- Nov 02, 2010
-
-
Bill Wendling authored
with immediates up to 16-bits in size. The same logic is applied to other LDR encodings, e.g. VLDR, but which use a different immediate bit width (8-bits in VLDR's case). Removing the "12" allows it to be more generic. llvm-svn: 118094
-
Owen Anderson authored
llvm-svn: 118093
-
Jim Grosbach authored
llvm-svn: 118029
-
Owen Anderson authored
llvm-svn: 117997
-
Owen Anderson authored
llvm-svn: 117984
-
Bob Wilson authored
This is another part of the fix for Radar 8599955. llvm-svn: 117976
-
- Nov 01, 2010
-
-
Jim Grosbach authored
llvm-svn: 117929
-
- Oct 31, 2010
-
-
Chris Lattner authored
got a dulicated line). llvm-svn: 117860
-
Chris Lattner authored
llvm-svn: 117859
-
Chris Lattner authored
Instead of silently ignoring these instructions, emit a hard error and force the target author to either refactor the target or mark the instruction 'isCodeGenOnly'. Mark a few instructions in ARM and MBlaze as isCodeGenOnly the are doing this. llvm-svn: 117858
-
- Oct 30, 2010
-
-
Bob Wilson authored
There were a number of issues to fix up here: * The "device" argument of the llvm.memory.barrier intrinsic should be used to distinguish the "Full System" domain from the "Inner Shareable" domain. It has nothing to do with using DMB vs. DSB instructions. * The compiler should never need to emit DSB instructions. Remove the ARMISD::SYNCBARRIER node and also remove the instruction patterns for DSB. * Merge the separate DMB/DSB instructions for options only used for the disassembler with the default DMB/DSB instructions. Add the default "full system" option ARM_MB::SY to the ARM_MB::MemBOpt enum. * Add a separate ARMISD::MEMBARRIER_MCR node for subtargets that implement a data memory barrier using the MCR instruction. * Fix up encodings for these instructions (except MCR). I also updated the tests and added a few new ones to check for DMB options that were not currently being exercised. llvm-svn: 117756
-
Jim Grosbach authored
llvm-svn: 117753
-
Jim Grosbach authored
encoder functions. llvm-svn: 117738
-
- Oct 29, 2010
-
-
Jim Grosbach authored
the ARMExpandPseudos pass rather than during the asm lowering. llvm-svn: 117714
-
Jim Grosbach authored
llvm-svn: 117703
-
Jim Grosbach authored
llvm-svn: 117702
-