| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Add 'implicit EFLAGS' to patterns for popcnt and lzcnt | Craig Topper | 2011-10-13 | 2 | -12/+23 | |
| | | | | | llvm-svn: 141853 | |||||
| * | ARM addrmode5 represents the 'U' bit of the encoding backwards. | Jim Grosbach | 2011-10-12 | 1 | -14/+17 | |
| | | | | | | | | The disassembler needs to use the AM5 factory methods instead of just building up the immediate directly. llvm-svn: 141819 | |||||
| * | Thumb2 assembly parsing and encoding for LDC/STC. | Jim Grosbach | 2011-10-12 | 3 | -99/+116 | |
| | | | | | llvm-svn: 141811 | |||||
| * | addrmode2 is gone from these, so no need for the reg0 operand. | Jim Grosbach | 2011-10-12 | 1 | -24/+0 | |
| | | | | | llvm-svn: 141794 | |||||
| * | ARM parsing and encoding for the <option> form of LDC/STC instructions. | Jim Grosbach | 2011-10-12 | 4 | -9/+84 | |
| | | | | | llvm-svn: 141786 | |||||
| * | 80 columns. | Jim Grosbach | 2011-10-12 | 1 | -2/+1 | |
| | | | | | llvm-svn: 141781 | |||||
| * | Tidy up. Formatting. | Jim Grosbach | 2011-10-12 | 1 | -2/+2 | |
| | | | | | llvm-svn: 141780 | |||||
| * | Define base class LogicNOR and make 32-bit and 64-bit NOR derive from it. | Akira Hatanaka | 2011-10-12 | 2 | -13/+5 | |
| | | | | | llvm-svn: 141761 | |||||
| * | Fix encoding of 32-bit integer instructions. Change names of operands and nodes. | Akira Hatanaka | 2011-10-12 | 1 | -87/+108 | |
| | | | | | | | Remove unused classes. llvm-svn: 141757 | |||||
| * | Fix indent in comment. | Nick Lewycky | 2011-10-12 | 1 | -1/+1 | |
| | | | | | llvm-svn: 141749 | |||||
| * | Fix -widen-vmovs liveness issues. | Jakob Stoklund Olesen | 2011-10-12 | 1 | -3/+29 | |
| | | | | | | | | | | | | | | | | | | | | | | | When widening a copy, we are reading a larger register that may not be live. Use an <undef> flag to tell the register scavenger and machine code verifier that we know the value isn't defined. We now widen: %S6<def> = COPY %S4<kill>, %D3<imp-def> into: %D3<def> = VMOVD %D2<undef>, pred:14, pred:%noreg, %S4<imp-use,kill> This also keeps the <kill> flag on %S4 so we don't inadvertently kill a live value in %S5. Finally, ensure that ARMBaseInstrInfo::setExecutionDomain() preserves the <undef> flag when converting VMOVD to VORR. llvm-svn: 141746 | |||||
| * | Change name of class to ArithOverflowR. | Akira Hatanaka | 2011-10-11 | 1 | -3/+3 | |
| | | | | | llvm-svn: 141743 | |||||
| * | Define class ArithLogicI. Make 32-bit and 64-bit arithmetic and logical | Akira Hatanaka | 2011-10-11 | 2 | -35/+19 | |
| | | | | | | | instructions with two register operands derive from it. llvm-svn: 141742 | |||||
| * | Fix comment. | Akira Hatanaka | 2011-10-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 141737 | |||||
| * | Define classes ArithLogicR and ArithLogicOfR and make 32-bit and 64-bit | Akira Hatanaka | 2011-10-11 | 2 | -43/+25 | |
| | | | | | | | | arithmetic and logical instructions with three register operands derive from them. Fix instruction encoding too. llvm-svn: 141736 | |||||
| * | Fix function isUnalignedLoadStore. | Akira Hatanaka | 2011-10-11 | 1 | -2/+4 | |
| | | | | | llvm-svn: 141722 | |||||
| * | ARM assembly parsing and encoding for LDC{2}{L}/STC{2}{L} instructions. | Jim Grosbach | 2011-10-11 | 2 | -64/+139 | |
| | | | | | | | | | Fill out the rest of the encoding information, update to properly mark the LDC/STC instructions as predicable while the LDC2/STC2 instructions are not, and adjust the parser accordingly. llvm-svn: 141721 | |||||
| * | Remove unused PatLeaf. | Akira Hatanaka | 2011-10-11 | 1 | -4/+0 | |
| | | | | | llvm-svn: 141720 | |||||
| * | Change the names of 64-bit logical instructions so that they match the names of | Akira Hatanaka | 2011-10-11 | 1 | -8/+8 | |
| | | | | | | | the real instructions. llvm-svn: 141718 | |||||
| * | Revert r141529. This is causing failures in the test-suite, like bigstack ↵ | Bill Wendling | 2011-10-11 | 1 | -11/+2 | |
| | | | | | | | and ReedSolomon. Boo... llvm-svn: 141716 | |||||
| * | Remove redundancy in setcc patterns using multiclass. | Akira Hatanaka | 2011-10-11 | 2 | -48/+47 | |
| | | | | | llvm-svn: 141715 | |||||
| * | Use sltiu instead of sltu when a register operand and immediate are compared. | Akira Hatanaka | 2011-10-11 | 2 | -2/+2 | |
| | | | | | llvm-svn: 141708 | |||||
| * | ARM addressing mode cleanup for LDC/STC. | Jim Grosbach | 2011-10-11 | 1 | -16/+20 | |
| | | | | | | | | We parse at least some forms of the instructions now. Encoding is pretty screwed up, still, though. llvm-svn: 141704 | |||||
| * | Add patterns for conditional branches with 64-bit register operands. | Akira Hatanaka | 2011-10-11 | 2 | -21/+30 | |
| | | | | | llvm-svn: 141696 | |||||
| * | Add support for 64-bit set-on-less-than instructions. | Akira Hatanaka | 2011-10-11 | 2 | -14/+44 | |
| | | | | | llvm-svn: 141695 | |||||
| * | Add support for conditional branch instructions with 64-bit register operands. | Akira Hatanaka | 2011-10-11 | 4 | -34/+67 | |
| | | | | | llvm-svn: 141694 | |||||
| * | ARM parse alignment specifier for NEON load/store instructions. | Jim Grosbach | 2011-10-11 | 2 | -29/+93 | |
| | | | | | llvm-svn: 141682 | |||||
| * | ARM Rename operand sub-structure 'Mem' to 'Memory' for a bit more clarity. | Jim Grosbach | 2011-10-11 | 1 | -113/+113 | |
| | | | | | llvm-svn: 141671 | |||||
| * | Implement the emitFrameIndexDebugValue and getDebugValueLocation hooks. | Richard Osborne | 2011-10-11 | 3 | -6/+64 | |
| | | | | | | | | This fixes an assert due to the operands of the DBG_VALUE instruction not being as expected (PR11105). llvm-svn: 141666 | |||||
| * | Fix a iterator out of bounds error, that triggers rarely. | Kalle Raiskila | 2011-10-11 | 1 | -0/+2 | |
| | | | | | llvm-svn: 141665 | |||||
| * | Add HasPOPCNT predicate to the POPCNT instructions. Also mark POPCNT as ↵ | Craig Topper | 2011-10-11 | 2 | -20/+23 | |
| | | | | | | | modifying EFLAGS. llvm-svn: 141656 | |||||
| * | Make Ivy Bridge 16-bit floating point conversion instructions require AVX. | Craig Topper | 2011-10-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 141654 | |||||
| * | Add X86 LZCNT instruction. Including instruction selection support. | Craig Topper | 2011-10-11 | 5 | -7/+50 | |
| | | | | | llvm-svn: 141651 | |||||
| * | Fix disassembling of popcntw. Also remove some code that says it accounts ↵ | Craig Topper | 2011-10-11 | 2 | -68/+3 | |
| | | | | | | | for 64BIT_REXW_XD not existing, but it does exist. llvm-svn: 141642 | |||||
| * | Make changes necessary for supporting floating point load and store instructions | Akira Hatanaka | 2011-10-11 | 4 | -23/+50 | |
| | | | | | | | | that have 64-bit pointers or access the 32 x 64-bit floating pointer register file. Update functions in MipsInstrInfo.cpp too. llvm-svn: 141623 | |||||
| * | Move -widen-vmovs to ARMBaseInstrInfo::expandPostRAPseudo(). | Jakob Stoklund Olesen | 2011-10-11 | 2 | -30/+44 | |
| | | | | | | | | | | | | The VMOVS widening needs to look at the implicit COPY operands. Trying to dig out the COPY instruction from an iterator in copyPhysReg() is the wrong approach. The expandPostRAPseudo() hook gets to look at COPY instructions before they are converted to copyPhysReg() calls. llvm-svn: 141619 | |||||
| * | Modify lowering of GlobalAddress so that correct code is emitted when target is | Akira Hatanaka | 2011-10-11 | 3 | -14/+23 | |
| | | | | | | | Mips64. llvm-svn: 141618 | |||||
| * | Fixed natural stack alignment for Linux x86-32. Thanks Eli. | Lang Hames | 2011-10-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 141616 | |||||
| * | Modify MipsDAGToDAGISel::SelectAddr so that it can handle 64-bit pointers too. | Akira Hatanaka | 2011-10-11 | 1 | -7/+10 | |
| | | | | | llvm-svn: 141615 | |||||
| * | Simplify and update functions storeRegToStackSlot and loadRegFromStackSlot. | Akira Hatanaka | 2011-10-11 | 2 | -17/+24 | |
| | | | | | llvm-svn: 141613 | |||||
| * | Add definitions of 64-bit loads and stores. Add a patterns for unaligned | Akira Hatanaka | 2011-10-11 | 3 | -1/+38 | |
| | | | | | | | zextloadi32 for which there is no corresponding pseudo or real instruction. llvm-svn: 141608 | |||||
| * | Change definitions of classes LoadM and StoreM in preparation for adding support | Akira Hatanaka | 2011-10-11 | 2 | -20/+65 | |
| | | | | | | | | for 64-bit load and store instructions. Add definitions of 64-bit memory operand and 16-bit immediate operand. llvm-svn: 141603 | |||||
| * | Simplify check that optional def is there and is CPSR. | Bill Wendling | 2011-10-11 | 1 | -5/+4 | |
| | | | | | llvm-svn: 141602 | |||||
| * | Add a natural stack alignment field to TargetData, and prevent InstCombine from | Lang Hames | 2011-10-10 | 5 | -12/+27 | |
| | | | | | | | | | | | | | | | promoting allocas to preferred alignments that exceed the natural alignment. This avoids some potentially expensive dynamic stack realignments. The natural stack alignment is set in target data strings via the "S<size>" option. Size is in bits and must be a multiple of 8. The natural stack alignment defaults to "unspecified" (represented by a zero value), and the "unspecified" value does not prevent any alignment promotions. Target maintainers that care about avoiding promotions should explicitly add the "S<size>" option to their target data strings. llvm-svn: 141599 | |||||
| * | Simplify operand Kind checks a bit. | Jim Grosbach | 2011-10-10 | 1 | -20/+20 | |
| | | | | | llvm-svn: 141592 | |||||
| * | Reapply r141365 now that PR11107 is fixed. | Bill Wendling | 2011-10-10 | 4 | -0/+165 | |
| | | | | | llvm-svn: 141591 | |||||
| * | Add a name to sub-operand for clarity. | Jim Grosbach | 2011-10-10 | 1 | -1/+1 | |
| | | | | | llvm-svn: 141590 | |||||
| * | If the CPSR is defined by a copy, then we don't want to merge it into an IT | Bill Wendling | 2011-10-10 | 1 | -0/+22 | |
| | | | | | | | | | | | | | | | | | | | | | | block. E.g., if we have: movs r1, r1 rsb r1, 0 movs r2, r2 rsb r2, 0 we don't want this to be converted to: movs r1, r1 movs r2, r2 itt mi rsb r1, 0 rsb r2, 0 PR11107 & <rdar://problem/10259534> llvm-svn: 141589 | |||||
| * | Make sure the X86 backend doesn't explode on 128-bit shuffles in AVX mode. ↵ | Eli Friedman | 2011-10-10 | 1 | -12/+4 | |
| | | | | | | | Fixes PR11102. llvm-svn: 141585 | |||||
| * | X86: Add a subtarget definition for core-avx-i, which is GCC's name for ivy ↵ | Benjamin Kramer | 2011-10-10 | 1 | -0/+5 | |
| | | | | | | | bridge. llvm-svn: 141571 | |||||

