- Jan 11, 2011
-
-
Daniel Dunbar authored
carry setting flag from the mnemonic. Note that this currently involves me disabling a number of working cases in arm_instructions.s, this is a hopefully short term evil which will be rapidly fixed (and greatly surpassed), assuming my current approach flies. llvm-svn: 123238
-
- Jan 10, 2011
-
-
Daniel Dunbar authored
llvm-svn: 123189
-
Daniel Dunbar authored
llvm-svn: 123175
-
Daniel Dunbar authored
llvm-svn: 123169
-
- Dec 14, 2010
-
-
Bill Wendling authored
instruction based on the t_addrmode_s# mode and what it returned. There is some obvious badness to this. In particular, it's hard to do MC-encoding when the instruction may change out from underneath you after the t_addrmode_s# variable is finally resolved. The solution is to revert a long-ago change that merged the reg/reg and reg/imm versions. There is the addition of several new addressing modes. They no longer have extraneous operands associated with them. I.e., if it's reg/reg we don't have to have a dummy zero immediate tacked on to the SDNode. There are some obvious cleanups here, which will happen shortly. llvm-svn: 121747
-
- Dec 10, 2010
-
-
Kevin Enderby authored
llvm-svn: 121450
-
- Dec 09, 2010
-
-
Kevin Enderby authored
the condition codes. Where the ones that do have an 's' suffix and the ones that don't don't have the suffix. The trick is if MatchInstructionImpl() fails we try again after adding a CCOut operand with the correct value and removing the 's' if present. Four simple test cases added for now, lots more to come. llvm-svn: 121401
-
- Dec 07, 2010
-
-
Benjamin Kramer authored
llvm-svn: 121142
-
- Dec 06, 2010
-
-
Jim Grosbach authored
the instruction is predicated, reg0 otherwise. llvm-svn: 121020
-
Jim Grosbach authored
not an immediate. It stores either ARM::CPSR or reg0. llvm-svn: 121018
-
- Nov 30, 2010
-
-
Bill Wendling authored
t_addrmode_s4, but with a different scaling factor. * Encode the Thumb1 load and store instructions. This involved a bit of refactoring (hi, Chris! :-). Some of the patterns became dead afterwards and were removed. llvm-svn: 120482
-
Bill Wendling authored
certainly be made more generic. But it does allow us to parse something like: ldr r3, [r2, r4] correctly in Thumb mode. llvm-svn: 120408
-
Jim Grosbach authored
llvm-svn: 120350
-
Jim Grosbach authored
llvm-svn: 120344
-
- Nov 21, 2010
-
-
Bill Wendling authored
the code to not add a "condition code" if it's trap. llvm-svn: 119937
-
- Nov 19, 2010
-
-
Bill Wendling authored
llvm-svn: 119769
-
Bill Wendling authored
llvm-svn: 119761
-
- Nov 18, 2010
-
-
Bill Wendling authored
should delete what when the object gets copied around. It's also making valgrind upset. llvm-svn: 119747
-
- Nov 17, 2010
-
-
Bill Wendling authored
instructions have to distinguish between lists of single- and double-precision registers in order for the ASM matcher to do a proper job. In all other respects, a list of single- or double-precision registers are the same as a list of GPR registers. llvm-svn: 119460
-
- Nov 10, 2010
-
-
Bill Wendling authored
llvm-svn: 118662
-
Matt Beaumont-Gay authored
llvm-svn: 118656
-
Bill Wendling authored
llvm-svn: 118653
-
Bill Wendling authored
llvm-svn: 118648
-
- Nov 09, 2010
-
-
Bill Wendling authored
llvm-svn: 118644
-
Bill Wendling authored
* LDM, et al, uses a bit mask to indicate the register list. * VLDM, et al, uses a base register plus number. The LDM instructions may be non-contiguous, but the VLDM ones must be contiguous. Those are semantic checks that should be done later in the compiler. Also postpone the creation of the bit mask until it's needed. llvm-svn: 118640
-
Bill Wendling authored
number of registers in the list. llvm-svn: 118456
-
- Nov 08, 2010
-
-
Bill Wendling authored
llvm-svn: 118389
-
- Nov 07, 2010
-
-
Bill Wendling authored
llvm-svn: 118375
-
- Nov 06, 2010
-
-
Bill Wendling authored
the registers, because the register numbers may be much greater than the number of bits available in the machine's register. I extracted the register list verification code out of the actual parsing of the registers. This made checking for errors much easier. It also limits the number of warnings that would be emitted for cascading infractions. llvm-svn: 118363
-
Bill Wendling authored
to satisfy the ClassifyOperand method of the Asm matcher without having to add a RegList type to every back-end. llvm-svn: 118360
-
Bill Wendling authored
- Make ARMOperand a class so that some things are internal to the class. - Reformatting. llvm-svn: 118357
-
Bill Wendling authored
(surprise!) a list of registers. Register lists are consecutive, so we only need to record the start register plus the number of registers. llvm-svn: 118351
-
Bill Wendling authored
llvm-svn: 118341
-
Bill Wendling authored
llvm-svn: 118340
-
Bill Wendling authored
llvm-svn: 118339
-
Bill Wendling authored
while the latter doesn't. llvm-svn: 118338
-
- Nov 05, 2010
-
-
Jim Grosbach authored
llvm-svn: 118310
-
Jim Grosbach authored
llvm-svn: 118307
-
Jim Grosbach authored
llvm-svn: 118304
-
- Nov 03, 2010
-
-
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
-