Commit | Line | Data |
---|---|---|
7ed4c4c5 NC |
1 | # Test generation of unwind tables |
2 | .text | |
3 | foo: @ Simple function | |
4 | .fnstart | |
5 | .save {r4, lr} | |
6 | mov r0, #0 | |
7 | .fnend | |
8 | foo1: @ Typical frame pointer prologue | |
9 | .fnstart | |
10 | .movsp ip | |
11 | @mov ip, sp | |
12 | .pad #4 | |
13 | .save {fp, ip, lr} | |
14 | @stmfd sp!, {fp, ip, lr, pc} | |
15 | .setfp fp, ip, #4 | |
16 | @sub fp, ip, #4 | |
17 | mov r0, #1 | |
18 | .fnend | |
19 | foo2: @ Custom personality routine | |
20 | .fnstart | |
21 | .save {r1, r4, r6, lr} | |
22 | @stmfd {r1, r4, r6, lr} | |
23 | mov r0, #2 | |
24 | .personality foo | |
25 | .handlerdata | |
26 | .word 42 | |
27 | .fnend | |
28 | foo3: @ Saving iwmmxt registers | |
29 | .fnstart | |
30 | .save {wr11} | |
31 | .save {wr10} | |
32 | .save {wr10, wr11} | |
33 | .save {wr0} | |
34 | mov r0, #3 | |
35 | .fnend | |
36 | .code 16 | |
37 | foo4: @ Thumb frame pointer | |
38 | .fnstart | |
39 | .save {r7, lr} | |
40 | @push {r7, lr} | |
41 | .setfp r7, sp | |
42 | @mov r7, sp | |
43 | .pad #8 | |
44 | @sub sp, sp, #8 | |
45 | mov r0, #4 | |
46 | .fnend |