Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | In Thumb2, direct branches can be encoded as either a "short" conditional ↵ | Owen Anderson | 2010-12-13 | 1 | -1/+1 | |
| | | | | | | | | | | branch with a null predicate, or as a "long" direct branch. While the mnemonics are the same, they encode the branch offset differently, and the Darwin assembler appears to prefer the "long" form for direct branches. Thus, in the name of bitwise equivalence, provide encoding and fixup support for it. llvm-svn: 121710 | |||||
* | Fix Thumb2 encodings of STREX and LDREX. | Owen Anderson | 2010-12-10 | 1 | -0/+12 | |
| | | | | llvm-svn: 121579 | |||||
* | Correct encoding of rotation immediate for Thumb2 instructions. rdar://8755999 | Jim Grosbach | 2010-12-10 | 1 | -4/+5 | |
| | | | | llvm-svn: 121525 | |||||
* | More trivial cleanup. No need to define the EncoderMethod property type. Can | Jim Grosbach | 2010-12-10 | 1 | -5/+5 | |
| | | | | | | just assign to it. llvm-svn: 121523 | |||||
* | Fix encoding of the immediate operands on post-indexed LDR and friends. | Owen Anderson | 2010-12-09 | 1 | -39/+26 | |
| | | | | llvm-svn: 121354 | |||||
* | The add/sub SP instructions are really pseudos. The assembler should ignore | Jim Grosbach | 2010-12-09 | 1 | -0/+2 | |
| | | | | | | them. llvm-svn: 121345 | |||||
* | Fix Thumb2 BCC encoding and fixups. | Owen Anderson | 2010-12-09 | 1 | -7/+10 | |
| | | | | llvm-svn: 121329 | |||||
* | Clean up the add/sub w/ SP source reg instructions in Thumb2 a bit. Add a FIXME | Jim Grosbach | 2010-12-08 | 1 | -11/+13 | |
| | | | | | | for more thorough cleanup. llvm-svn: 121315 | |||||
* | Fix T2TwoRegImm and use it for t2ADDrSPi12 and friends. | Jim Grosbach | 2010-12-08 | 1 | -19/+9 | |
| | | | | llvm-svn: 121314 | |||||
* | T2TwoRegImm isn't right for t2SUBrSPi12. Use T2I instead. | Jim Grosbach | 2010-12-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 121311 | |||||
* | Add operand encoding for Thumb2 subw SP + imm. rdar://8745434 | Jim Grosbach | 2010-12-08 | 1 | -3/+7 | |
| | | | | llvm-svn: 121310 | |||||
* | Add operand encoding for Thumb2 addw Rn + imm. rdar://8745434 | Jim Grosbach | 2010-12-08 | 1 | -5/+12 | |
| | | | | llvm-svn: 121309 | |||||
* | Add operand encoding for Thumb2 addw SP + imm. rdar://8745434 | Jim Grosbach | 2010-12-08 | 1 | -4/+8 | |
| | | | | llvm-svn: 121305 | |||||
* | Parameterize opcode encoding bits for Thumb2 extended precision integer | Jim Grosbach | 2010-12-08 | 1 | -37/+19 | |
| | | | | | | multiply instructions. llvm-svn: 121301 | |||||
* | Fix operand encoding for Thumb2 extended precision multiplies. rdar://8745555 | Jim Grosbach | 2010-12-08 | 1 | -10/+24 | |
| | | | | llvm-svn: 121297 | |||||
* | Simplify T2 operand assignment notation a bit. No need to specify a bit range | Jim Grosbach | 2010-12-08 | 1 | -70/+70 | |
| | | | | | | for the source field when it's the whole thing that's being referenced. llvm-svn: 121291 | |||||
* | Fix Thumb2 encoding of the S bit. | Owen Anderson | 2010-12-07 | 1 | -23/+1 | |
| | | | | llvm-svn: 121182 | |||||
* | Refactor the ARM CMPz* patterns to just use the normal CMP instructions when | Jim Grosbach | 2010-12-07 | 1 | -3/+7 | |
| | | | | | | | possible. They were duplicates for everything exception the source pattern before. llvm-svn: 121179 | |||||
* | Second attempt at converting Thumb2's LDRpci, including updating the ↵ | Owen Anderson | 2010-12-07 | 1 | -18/+2 | |
| | | | | | | gazillion places that need to know about it. llvm-svn: 121082 | |||||
* | Revert r121021, which broke the buildbots. | Owen Anderson | 2010-12-06 | 1 | -2/+18 | |
| | | | | llvm-svn: 121026 | |||||
* | Improve handling of Thumb2 PC-relative loads by converting LDRpci (and ↵ | Owen Anderson | 2010-12-06 | 1 | -18/+2 | |
| | | | | | | friends) to Pseudos. llvm-svn: 121021 | |||||
* | Trailing whitespace. | Jim Grosbach | 2010-12-02 | 1 | -32/+32 | |
| | | | | llvm-svn: 120748 | |||||
* | Add correct encodings for STRD and LDRD, including fixup support. ↵ | Owen Anderson | 2010-12-01 | 1 | -21/+15 | |
| | | | | | | Additionally, update these to unified syntax. llvm-svn: 120589 | |||||
* | Simplify the encoding of reg+/-imm12 values that allow PC-relative encoding. ↵ | Owen Anderson | 2010-11-30 | 1 | -33/+12 | |
| | | | | | | | | | This allows the Thumb2 encoding to share code with the ARM encoding, which gets use fixup support for free. It also allows us to fold away at least one codegen-only pattern. llvm-svn: 120481 | |||||
* | Provide Thumb2 encodings for a few miscellaneous instructions. | Owen Anderson | 2010-11-30 | 1 | -8/+22 | |
| | | | | llvm-svn: 120455 | |||||
* | Add encoding support for Thumb2 PLD and PLI instructions. | Owen Anderson | 2010-11-30 | 1 | -1/+23 | |
| | | | | llvm-svn: 120449 | |||||
* | Provide encodings for a few more load/store variants. | Owen Anderson | 2010-11-30 | 1 | -4/+16 | |
| | | | | llvm-svn: 120439 | |||||
* | Correct Thumb2 encodings for a much wider range of loads and stores. | Owen Anderson | 2010-11-30 | 1 | -46/+61 | |
| | | | | llvm-svn: 120364 | |||||
* | Provide Thumb2 encodings for basic loads and stores. | Owen Anderson | 2010-11-29 | 1 | -21/+75 | |
| | | | | llvm-svn: 120340 | |||||
* | Mark Darwin call instructions as using "r7" to prevent the frame-register | Evan Cheng | 2010-11-29 | 1 | -1/+1 | |
| | | | | | | | assignment instructions from being moved below / above calls. rdar://8690640 llvm-svn: 120339 | |||||
* | Nuke dead isCodeGenOnly annotation and extraneous comment. | Jim Grosbach | 2010-11-29 | 1 | -3/+2 | |
| | | | | llvm-svn: 120338 | |||||
* | tidy up. | Jim Grosbach | 2010-11-29 | 1 | -2/+1 | |
| | | | | llvm-svn: 120335 | |||||
* | Pseudo-ize Thumb2 jump tables with explicit MC lowering to the raw | Jim Grosbach | 2010-11-29 | 1 | -52/+28 | |
| | | | | | | instructions. This simplifies instruction printing and disassembly. llvm-svn: 120333 | |||||
* | Rename t2 TBB and TBH instructions to reference that they encode the jump table | Jim Grosbach | 2010-11-29 | 1 | -2/+2 | |
| | | | | | | data. Next up, pseudo-izing them. llvm-svn: 120320 | |||||
* | Improving the factoring of several instruction encodings. | Owen Anderson | 2010-11-29 | 1 | -89/+51 | |
| | | | | llvm-svn: 120317 | |||||
* | Thumb2 encodings for MSR and MRS. | Owen Anderson | 2010-11-29 | 1 | -10/+24 | |
| | | | | llvm-svn: 120309 | |||||
* | Thumb2 encodings for system instructions. | Owen Anderson | 2010-11-29 | 1 | -8/+50 | |
| | | | | llvm-svn: 120307 | |||||
* | Thumb2 encodings for branches and IT blocks. | Owen Anderson | 2010-11-29 | 1 | -0/+15 | |
| | | | | llvm-svn: 120306 | |||||
* | Remove trailing whitespace. | Jim Grosbach | 2010-11-19 | 1 | -62/+62 | |
| | | | | llvm-svn: 119806 | |||||
* | Fix decoding ambiguities of stdrex and ldrex. | Owen Anderson | 2010-11-19 | 1 | -4/+0 | |
| | | | | llvm-svn: 119801 | |||||
* | Fix an obvious oversight. | Evan Cheng | 2010-11-19 | 1 | -2/+2 | |
| | | | | llvm-svn: 119792 | |||||
* | Provide Thumb2 encodings for strex and ldrex. | Owen Anderson | 2010-11-19 | 1 | -20/+42 | |
| | | | | llvm-svn: 119768 | |||||
* | Fix encodings for pkhbt, and fix some tests where I accidentally tested ARM ↵ | Owen Anderson | 2010-11-18 | 1 | -6/+6 | |
| | | | | | | mode instead of Thumb2. llvm-svn: 119755 | |||||
* | Provide Thumb2 encodings for mov's that come from MOVCC SDNodes. | Owen Anderson | 2010-11-18 | 1 | -12/+13 | |
| | | | | llvm-svn: 119744 | |||||
* | More Thumb2 encodings. | Owen Anderson | 2010-11-18 | 1 | -29/+40 | |
| | | | | llvm-svn: 119737 | |||||
* | Fill out the set of Thumb2 multiplication operator encodings. | Owen Anderson | 2010-11-18 | 1 | -129/+155 | |
| | | | | llvm-svn: 119733 | |||||
* | ARM PseudoInst instructions don't need or use an assembler string. Get rid of | Jim Grosbach | 2010-11-18 | 1 | -3/+3 | |
| | | | | | | the operand to the pattern. llvm-svn: 119607 | |||||
* | Try again at providing Thumb2 encodings for basic multiplication operators. | Owen Anderson | 2010-11-18 | 1 | -26/+43 | |
| | | | | llvm-svn: 119601 | |||||
* | Revert r119593 while I figure out my testing disagrees with the buildbot. | Owen Anderson | 2010-11-18 | 1 | -43/+26 | |
| | | | | llvm-svn: 119597 | |||||
* | Provide correct Thumb2 encodings for basic multiplication operators. | Owen Anderson | 2010-11-18 | 1 | -26/+43 | |
| | | | | llvm-svn: 119593 |