| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Refactor LEApcrelJT as a pseudo-instructionlowered to a cannonical ADR | Jim Grosbach | 2010-12-01 | 1 | -0/+2 | |
| | | | | | | | | instruction at MC lowering. Add binary encoding information for the ADR, including fixup data for the label operand. llvm-svn: 120594 | |||||
| * | Add correct encodings for STRD and LDRD, including fixup support. ↵ | Owen Anderson | 2010-12-01 | 1 | -0/+2 | |
| | | | | | | | Additionally, update these to unified syntax. llvm-svn: 120589 | |||||
| * | * Add support for encoding t_addrmode_s2 and t_addrmode_s1. They are the same as | Bill Wendling | 2010-11-30 | 1 | -0/+4 | |
| | | | | | | | | | | | 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 | |||||
| * | Add encoding support for Thumb2 PLD and PLI instructions. | Owen Anderson | 2010-11-30 | 1 | -0/+2 | |
| | | | | | llvm-svn: 120449 | |||||
| * | Add parsing for the Thumb t_addrmode_s4 addressing mode. This can almost | Bill Wendling | 2010-11-30 | 1 | -2/+4 | |
| | | | | | | | | | | | 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 | |||||
| * | Rename BX/BRIND/etc patterns to clarify which is actually the BX instruction | Jim Grosbach | 2010-11-30 | 1 | -4/+4 | |
| | | | | | | | and which are pseudos. llvm-svn: 120366 | |||||
| * | Correct Thumb2 encodings for a much wider range of loads and stores. | Owen Anderson | 2010-11-30 | 1 | -0/+2 | |
| | | | | | llvm-svn: 120364 | |||||
| * | Fix the encoding of VLD4-dup alignment. | Bob Wilson | 2010-11-30 | 1 | -0/+2 | |
| | | | | | | | | | The only reasonable way I could find to do this is to provide an alternate version of the addrmode6 operand with a different encoding function. Use it for all the VLD-dup instructions for the sake of consistency. llvm-svn: 120358 | |||||
| * | Provide Thumb2 encodings for basic loads and stores. | Owen Anderson | 2010-11-29 | 1 | -0/+6 | |
| | | | | | llvm-svn: 120340 | |||||
| * | Have the getAddrMode3OpValue() function in ARMCodeEmitter.cpp produce the same | Bill Wendling | 2010-11-20 | 1 | -9/+21 | |
| | | | | | | | value that the one in ARMMCCodeEmitter.cpp does. llvm-svn: 119878 | |||||
| * | Minor cleanups to a few llvm_unreachable() calls. | Jim Grosbach | 2010-11-19 | 1 | -6/+2 | |
| | | | | | llvm-svn: 119767 | |||||
| * | Fix .o emission of ARM movt/movw. MCSymbolRefExpr::VK_ARM_(HI||LO)16 for the ↵ | Jason W Kim | 2010-11-18 | 1 | -0/+5 | |
| | | | | | | | | | | .o path now works for ARM. Note: lo16AllZero remains in ARMInstrInfo.td - It can be factored out when Thumb movt is repaired. Existing tests cover this update. llvm-svn: 119760 | |||||
| * | Clean up LEApcrel instuction(s) a bit. It's not really a Pseudo, so don't mark | Jim Grosbach | 2010-11-17 | 1 | -0/+8 | |
| | | | | | | | it as such. Add some encoding information. llvm-svn: 119588 | |||||
| * | Fix comment typo. | Jim Grosbach | 2010-11-17 | 1 | -1/+1 | |
| | | | | | llvm-svn: 119573 | |||||
| * | The machine instruction no longer encodes the submode as a separate operand. We | Bill Wendling | 2010-11-17 | 1 | -4/+4 | |
| | | | | | | | should get the submode from the load/store multiple instruction's opcode. llvm-svn: 119461 | |||||
| * | ARM LDR_PRE/LDR_POST/STR_PRE/STR_POST (and the *B counterparts) binary encoding. | Jim Grosbach | 2010-11-15 | 1 | -0/+4 | |
| | | | | | llvm-svn: 119180 | |||||
| * | Eliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either ↵ | Evan Cheng | 2010-11-12 | 1 | -5/+5 | |
| | | | | | | | movi+orr or movw+movt depending on the subtarget. llvm-svn: 118938 | |||||
| * | First stab at providing correct Thumb2 encodings, start with adc. | Owen Anderson | 2010-11-12 | 1 | -0/+4 | |
| | | | | | llvm-svn: 118924 | |||||
| * | Fill out support for Thumb2 encodings of NEON instructions. | Owen Anderson | 2010-11-11 | 1 | -0/+2 | |
| | | | | | llvm-svn: 118854 | |||||
| * | Add correct Thumb2 encodings for NEON vst[1,2,3,4] and vld[1,2,3,4]. | Owen Anderson | 2010-11-11 | 1 | -0/+2 | |
| | | | | | llvm-svn: 118843 | |||||
| * | Add support for Thumb2 encodings of NEON data processing instructions, using ↵ | Owen Anderson | 2010-11-11 | 1 | -0/+2 | |
| | | | | | | | | | the new PostEncoderMethod infrastructure. More tests to come. llvm-svn: 118819 | |||||
| * | Encoding of destination fixup for ARM branch and conditional branch | Jim Grosbach | 2010-11-11 | 1 | -0/+2 | |
| | | | | | | | instructions. llvm-svn: 118801 | |||||
| * | Encoding for ARM LDRSH_POST. | Jim Grosbach | 2010-11-11 | 1 | -0/+2 | |
| | | | | | llvm-svn: 118794 | |||||
| * | ARM STRH encoding information. | Jim Grosbach | 2010-11-11 | 1 | -0/+2 | |
| | | | | | llvm-svn: 118757 | |||||
| * | ARM LDM encoding for the mode (ia, ib, da, db) operand. | Jim Grosbach | 2010-11-10 | 1 | -0/+2 | |
| | | | | | llvm-svn: 118736 | |||||
| * | Add encoder method for ARM load/store shifted register offset operands. | Jim Grosbach | 2010-11-09 | 1 | -0/+2 | |
| | | | | | llvm-svn: 118513 | |||||
| * | The MC code couldn't handle ARM LDR instructions with negative offsets: | Bill Wendling | 2010-11-03 | 1 | -11/+30 | |
| | | | | | | | | | | | | | 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 | |||||
| * | Rename getAddrModeImm12OpValue to getAddrModeImmOpValue and expand it to work | Bill Wendling | 2010-11-02 | 1 | -19/+20 | |
| | | | | | | | | | 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 | |||||
| * | Rename encoder methods to match naming convention. | Owen Anderson | 2010-11-02 | 1 | -5/+2 | |
| | | | | | llvm-svn: 118093 | |||||
| * | Add correct NEON encodings for vld2, vld3, and vld4 basic variants. | Owen Anderson | 2010-11-02 | 1 | -0/+3 | |
| | | | | | llvm-svn: 117997 | |||||
| * | Add correct NEON encodings for the "multiple single elements" form of vld. | Owen Anderson | 2010-11-02 | 1 | -1/+4 | |
| | | | | | llvm-svn: 117984 | |||||
| * | Encode the register list operands for ARM mode LDM/STM instructions. | Jim Grosbach | 2010-10-30 | 1 | -0/+3 | |
| | | | | | llvm-svn: 117753 | |||||
| * | 80 column fix. | Jim Grosbach | 2010-10-29 | 1 | -2/+2 | |
| | | | | | llvm-svn: 117741 | |||||
| * | s/getNEONVcvtImm32/getNEONVcvtImm32OpValue/ to be consistent with other operand | Jim Grosbach | 2010-10-29 | 1 | -1/+1 | |
| | | | | | | | encoder functions. llvm-svn: 117738 | |||||
| * | Refactor ARM STR/STRB instruction patterns into STR{B}i12 and STR{B}rs, like | Jim Grosbach | 2010-10-27 | 1 | -2/+3 | |
| | | | | | | | | | the LDR instructions have. This makes the literal/register forms of the instructions explicit and allows us to assign scheduling itineraries appropriately. rdar://8477752 llvm-svn: 117505 | |||||
| * | Provide correct encodings for NEON vcvt, which has its own special immediate ↵ | Owen Anderson | 2010-10-27 | 1 | -0/+2 | |
| | | | | | | | | | encoding for specifying fractional bits for fixed point conversions. llvm-svn: 117501 | |||||
| * | JIT imm12 encoding for constant pool entry references. | Jim Grosbach | 2010-10-27 | 1 | -0/+4 | |
| | | | | | llvm-svn: 117483 | |||||
| * | ARM JIT fix for LDRi12 and company. | Jim Grosbach | 2010-10-27 | 1 | -4/+17 | |
| | | | | | llvm-svn: 117478 | |||||
| * | The new LDR* instruction patterns should handle the necessary encoding of | Jim Grosbach | 2010-10-27 | 1 | -0/+7 | |
| | | | | | | | | operands in the TableGen'erated bits, so we don't need to do the additional magic explicitly. llvm-svn: 117461 | |||||
| * | First part of refactoring ARM addrmode2 (load/store) instructions to be more | Jim Grosbach | 2010-10-26 | 1 | -0/+2 | |
| | | | | | | | | | explicit about the operands. Split out the different variants into separate instructions. This gives us the ability to, among other things, assign different scheduling itineraries to the variants. rdar://8477752. llvm-svn: 117409 | |||||
| * | fix memory-layout assumption which only holds on little-endian systems | Gabor Greif | 2010-10-22 | 1 | -1/+1 | |
| | | | | | llvm-svn: 117176 | |||||
| * | ARM Binary encoding information for BFC/BFI instructions. | Jim Grosbach | 2010-10-21 | 1 | -0/+2 | |
| | | | | | llvm-svn: 117072 | |||||
| * | Add encodings for movement between ARM core registers and single-precision | Bill Wendling | 2010-10-20 | 1 | -1/+1 | |
| | | | | | | | registers. llvm-svn: 116961 | |||||
| * | ARMCodeEmitter::emitMiscInstruction is dead. Long live | Bill Wendling | 2010-10-15 | 1 | -45/+1 | |
| | | | | | | | ARMCodeEmitter::emitMiscInstruction! llvm-svn: 116644 | |||||
| * | ARM mode encoding information for UBFX and SBFX instructions. | Jim Grosbach | 2010-10-15 | 1 | -0/+2 | |
| | | | | | llvm-svn: 116588 | |||||
| * | Tweak the ARM backend to use the RRX mnemonic instead of the 'mov a, b, rrx' | Jim Grosbach | 2010-10-14 | 1 | -2/+2 | |
| | | | | | | | pseudonym. llvm-svn: 116512 | |||||
| * | Add encoding for 'fmstat'. | Bill Wendling | 2010-10-14 | 1 | -4/+0 | |
| | | | | | llvm-svn: 116466 | |||||
| * | - Add encodings for multiply add/subtract instructions in all their glory. | Bill Wendling | 2010-10-14 | 1 | -9/+1 | |
| | | | | | | | | - Add missing patterns for some multiply add/subtract instructions. - Add encodings for VMRS and VMSR. llvm-svn: 116464 | |||||
| * | Add ARM mode encoding for [SU]XT[BH] and [SU]XTA[BH] instructions. | Jim Grosbach | 2010-10-13 | 1 | -0/+2 | |
| | | | | | llvm-svn: 116421 | |||||
| * | Add the rest of the ARM so_reg encoding options (register shifted register) | Jim Grosbach | 2010-10-12 | 1 | -0/+2 | |
| | | | | | | | | and move to a custom operand encoder. Remove the last of the special handling stuff from ARMMCCodeEmitter::EncodeInstruction. llvm-svn: 116377 | |||||

