| 1 | .text |
| 2 | .align 8 |
| 3 | .globl foo |
| 4 | .type foo, @function |
| 5 | foo: |
| 6 | .PROC |
| 7 | .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3 |
| 8 | .ENTRY |
| 9 | copy %r3,%r1 |
| 10 | copy %r30,%r3 |
| 11 | stwm %r1,64(%r30) |
| 12 | stw %r26,-36(%r3) |
| 13 | ldw -36(%r3),%r19 |
| 14 | copy %r19,%r28 |
| 15 | ldo 64(%r3),%r30 |
| 16 | ldwm -64(%r30),%r3 |
| 17 | bv,n %r0(%r2) |
| 18 | .EXIT |
| 19 | .PROCEND |
| 20 | |
| 21 | .globl bar |
| 22 | .type bar, @function |
| 23 | bar: |
| 24 | .PROC |
| 25 | .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3 |
| 26 | .ENTRY |
| 27 | copy %r3,%r1 |
| 28 | copy %r30,%r3 |
| 29 | stwm %r1,64(%r30) |
| 30 | ldo 64(%r3),%r30 |
| 31 | ldwm -64(%r30),%r3 |
| 32 | bv,n %r0(%r2) |
| 33 | .EXIT |
| 34 | .PROCEND |
| 35 | |
| 36 | .globl main |
| 37 | .type main, @function |
| 38 | main: |
| 39 | .PROC |
| 40 | .CALLINFO FRAME=64,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 |
| 41 | .ENTRY |
| 42 | stw %r2,-20(%r30) |
| 43 | copy %r3,%r1 |
| 44 | copy %r30,%r3 |
| 45 | stwm %r1,64(%r30) |
| 46 | stw %r26,-36(%r3) |
| 47 | stw %r25,-40(%r3) |
| 48 | ldw -36(%r3),%r26 |
| 49 | bl foo,%r2 |
| 50 | nop |
| 51 | copy %r28,%r19 |
| 52 | copy %r19,%r28 |
| 53 | ldw -20(%r3),%r2 |
| 54 | ldo 64(%r3),%r30 |
| 55 | ldwm -64(%r30),%r3 |
| 56 | bv,n %r0(%r2) |
| 57 | .EXIT |
| 58 | .PROCEND |