Home | History | Annotate | Download | only in cris
      1 ; Check the push and pop builtin "macros".
      2  .text
      3  .syntax no_register_prefix
      4 start:
      5  push r1
      6  push r0
      7  push r4
      8  ; Check that there is no recognition of invalid offsets.
      9  move.b r5,[sp=sp-8]
     10  move.w r5,[sp=sp-8]
     11  move.d r5,[sp=sp-8]
     12 
     13  move.b r5,[sp=sp-5]
     14  move.w r5,[sp=sp-5]
     15  move.d r5,[sp=sp-5]
     16 
     17  move.w r5,[sp=sp-4]
     18  move.b r3,[sp=sp-4]
     19 
     20  move.d r5,[sp=sp-3]
     21  move.w r11,[sp=sp-3]
     22  move.b r5,[sp=sp-3]
     23 
     24  move.d r5,[sp=sp-2]
     25  move.b r5,[sp=sp-2]
     26 
     27  move.d r5,[sp=sp-1]
     28  move.w r5,[sp=sp-1]
     29 
     30  move.d r5,[sp=sp+0]
     31  move.b r5,[sp=sp+0]
     32  move.w r5,[sp=sp+0]
     33 
     34  move.d r5,[sp=sp+1]
     35  move.w r5,[sp=sp+1]
     36  move.b r5,[sp=sp+1]
     37 
     38  move.d r5,[sp=sp+2]
     39  move.w r5,[sp=sp+2]
     40  move.b r5,[sp=sp+2]
     41 
     42  move.d r5,[sp=sp+3]
     43  move.w r5,[sp=sp+3]
     44  move.b r5,[sp=sp+3]
     45 
     46  move.d r5,[sp=sp+4]
     47  move.w r5,[sp=sp+4]
     48  move.b r5,[sp=sp+4]
     49 
     50  move.d r5,[sp=sp+5]
     51  move.w r5,[sp=sp+5]
     52  move.b r5,[sp=sp+5]
     53 
     54  move.d r1,[sp=sp+8]
     55  move.w r9,[sp=sp+8]
     56  move.b r13,[sp=sp+8]
     57 
     58 ;
     59 ; All these will have postincrement on the "real" instruction
     60 ; (e.g. "move.d [sp+],r6") which is the actual insn recognized as
     61 ; pop; it is *not* e.g. "move.d [sp=sp+4],r6".
     62 ;  Here we make sure that neither the combination nor the second
     63 ; is interpreted as a pop.
     64 ;
     65  move.b [sp=sp+8],r5
     66  move.w [sp=sp+8],r5
     67  move.d [sp=sp+8],r5
     68 
     69  move.b [sp=sp+5],r5
     70  move.w [sp=sp+5],r5
     71  move.d [sp=sp+5],r5
     72 
     73  move.d [sp=sp+4],r5
     74  move.w [sp=sp+4],r5
     75  move.b [sp=sp+4],r3
     76 
     77  move.d [sp=sp+3],r5
     78  move.w [sp=sp+3],r11
     79  move.b [sp=sp+3],r5
     80 
     81  move.d [sp=sp+2],r5
     82  move.w [sp=sp+2],r5
     83  move.b [sp=sp+2],r5
     84 
     85  move.d [sp=sp+1],r5
     86  move.w [sp=sp+1],r5
     87  move.b [sp=sp+1],r5
     88 
     89  move.d [sp=sp-0],r5
     90  move.w [sp=sp-0],r5
     91  move.b [sp=sp-0],r5
     92 
     93  move.d [sp=sp-1],r5
     94  move.w [sp=sp-1],r5
     95  move.b [sp=sp-1],r5
     96 
     97  move.d [sp=sp-2],r5
     98  move.w [sp=sp-2],r5
     99  move.b [sp=sp-2],r5
    100 
    101  move.d [sp=sp-3],r5
    102  move.w [sp=sp-3],r5
    103  move.b [sp=sp-3],r5
    104 
    105  move.d [sp=sp-4],r5
    106  move.w [sp=sp-4],r5
    107  move.b [sp=sp-4],r5
    108 
    109  move.d [sp=sp-5],r5
    110  move.w [sp=sp-5],r5
    111  move.b [sp=sp-5],r5
    112 
    113  move.d [sp=sp-8],r5
    114  move.w [sp=sp-8],r5
    115  move.b [sp=sp-8],r5
    116 
    117  push r0
    118  pop r2
    119  pop r3
    120  push r13
    121 end:
    122