aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZInstrInfo.td
Commit message (Collapse)AuthorAgeFilesLines
* Fix imm printing for logical instructions.Anton Korobeynikov2011-02-011-24/+24
| | | | | | Patch by Brian G. Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124679 91177308-0d34-0410-b5e6-96231b3b80d8
* Flag -> Glue, the ongoing sagaChris Lattner2010-12-231-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122513 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove isTwoAddress from SystemZ.Eric Christopher2010-06-211-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106467 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge the SystemZ subreg_even32 SubRegIndex into subreg_32bit. The SubRegIndicesJakob Stoklund Olesen2010-05-281-2/+2
| | | | | | | | | | were overspecified when inheriting sub-subregisters, for instance: R0Q:subreg_even32 = R0Q:subreg_32bit = R0Q:subreg_even:subreg_32bit. This meant that composeSubRegIndices(subreg_even, subreg_32bit) was ambiguous. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105063 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve systemz to model cmp and ucmp nodes as returningChris Lattner2010-03-281-37/+27
| | | | | | | their flags correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99738 91177308-0d34-0410-b5e6-96231b3b80d8
* set SDNPVariadic on nodes throughout the rest of the targets thatChris Lattner2010-03-191-1/+1
| | | | | | | need them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98937 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a type compatibility bug. imm is i32 in the input Chris Lattner2010-03-081-1/+2
| | | | | | | pattern, not i64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97956 91177308-0d34-0410-b5e6-96231b3b80d8
* The mayHaveSideEffects flag is no longer used.Dan Gohman2010-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97348 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-291-1/+1
| | | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85517 91177308-0d34-0410-b5e6-96231b3b80d8
* Update SystemZ to use PSW following the way x86 uses EFLAGS. BesidesDan Gohman2009-10-281-25/+25
| | | | | | | | | | | | eliminating a use of MVT::Flag, this is needed for an upcoming CodeGen change. This unfortunately requires SystemZ to switch to the list-burr scheduler, in order to handle the physreg defs properly, however that's what LLVM has available at this time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85357 91177308-0d34-0410-b5e6-96231b3b80d8
* Some dummy cost model for s390x:Anton Korobeynikov2009-08-221-0/+4
| | | | | | | | | - Prefer short-imm instructions over ext-imm, when possible - Prefer Z10 instructions over Z9, when possible This hopefully should fix some dejagnu test fails on solaris git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79741 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo :(Anton Korobeynikov2009-08-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79657 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct instruction names for subtract-with-borrowAnton Korobeynikov2009-08-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79656 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert bswap test to filecheck, add more test entries & convert stuff to ↵Anton Korobeynikov2009-08-051-1/+1
| | | | | | filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78212 91177308-0d34-0410-b5e6-96231b3b80d8
* Add memory versions of some instructions.Anton Korobeynikov2009-08-051-6/+83
| | | | | | Patch by Neale Ferguson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78203 91177308-0d34-0410-b5e6-96231b3b80d8
* Add carry producing / using versions of add / subAnton Korobeynikov2009-07-181-6/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76316 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide expansion for ct* intrinsicsAnton Korobeynikov2009-07-181-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76311 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporary disable 16 bit bswapAnton Korobeynikov2009-07-161-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76063 91177308-0d34-0410-b5e6-96231b3b80d8
* Add instruction formats and few opcodesAnton Korobeynikov2009-07-161-490/+619
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76062 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bswap patternsAnton Korobeynikov2009-07-161-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76061 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide crazy pseudos for regpairs spills / reloadsAnton Korobeynikov2009-07-161-1/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76060 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the commit, it just hides the real bugAnton Korobeynikov2009-07-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76045 91177308-0d34-0410-b5e6-96231b3b80d8
* Out GR128 regclass is not a 'real' i128 one.Anton Korobeynikov2009-07-161-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76044 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle bitconvertsAnton Korobeynikov2009-07-161-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76042 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower anyext to zext, 32-bit stuff does not have any implicit zero-extension ↵Anton Korobeynikov2009-07-161-2/+1
| | | | | | side effects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76035 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle FP callee-saved regsAnton Korobeynikov2009-07-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76029 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement all comparisonsAnton Korobeynikov2009-07-161-7/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76017 91177308-0d34-0410-b5e6-96231b3b80d8
* Add constpool lowering / printingAnton Korobeynikov2009-07-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76016 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix fallout from prev. patchAnton Korobeynikov2009-07-161-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76012 91177308-0d34-0410-b5e6-96231b3b80d8
* Use divide single for 32 bit signed dividesAnton Korobeynikov2009-07-161-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76010 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement 'large' PIC modelAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76006 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement shifts properly (hopefilly - finally!)Anton Korobeynikov2009-07-161-17/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76005 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove redundand register moveAnton Korobeynikov2009-07-161-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76004 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly handle divides. As a bonus - implement memory versions of them.Anton Korobeynikov2009-07-161-60/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76003 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix epic fail: full-width muls are not commutable. This unbreaks bunch of ↵Anton Korobeynikov2009-07-161-2/+1
| | | | | | stuff from SingleSource/Benchmarks/Stanford git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76002 91177308-0d34-0410-b5e6-96231b3b80d8
* 32 bit rotate is not twoaddr instructionAnton Korobeynikov2009-07-161-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76001 91177308-0d34-0410-b5e6-96231b3b80d8
* 32 bit shifts have only 12 bit displacementsAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76000 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak indirect branchesAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75997 91177308-0d34-0410-b5e6-96231b3b80d8
* All calls clobbers R14Anton Korobeynikov2009-07-161-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75994 91177308-0d34-0410-b5e6-96231b3b80d8
* Consolidate reg-imm / reg-reg-imm address mode selection logic in one place.Anton Korobeynikov2009-07-161-8/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75990 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for 12 bit displacementsAnton Korobeynikov2009-07-161-62/+101
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75988 91177308-0d34-0410-b5e6-96231b3b80d8
* Add jump tablesAnton Korobeynikov2009-07-161-11/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75984 91177308-0d34-0410-b5e6-96231b3b80d8
* Exapnd br_jt into indirect branch. Provide pattern for indirect branches.Anton Korobeynikov2009-07-161-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75983 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement 64 bit immediatesAnton Korobeynikov2009-07-161-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75982 91177308-0d34-0410-b5e6-96231b3b80d8
* Add rotatesAnton Korobeynikov2009-07-161-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75981 91177308-0d34-0410-b5e6-96231b3b80d8
* Add patterns for integer negateAnton Korobeynikov2009-07-161-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75980 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide proper patterns for and with imm instructions. Tune the tests ↵Anton Korobeynikov2009-07-161-241/+15
| | | | | | accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75979 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 32 bit and reg-imm and disable invalid patterns for nowAnton Korobeynikov2009-07-161-2/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75978 91177308-0d34-0410-b5e6-96231b3b80d8
* Add z9 and z10 target processors. Mark z10-only instructions as such.Anton Korobeynikov2009-07-161-9/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75977 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MUL64rm instruction asmprintingAnton Korobeynikov2009-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75976 91177308-0d34-0410-b5e6-96231b3b80d8