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