1 # setjmp/longjmp for Frv. The jmpbuf looks like this:
3 # Register jmpbuf offset
12 # R8 contains the pointer to jmpbuf
18 .type EXT(setjmp),@function
40 stdfi fr16, @(gr8,128)
41 stdfi fr18, @(gr8,136)
42 stdfi fr20, @(gr8,144)
43 stdfi fr22, @(gr8,152)
44 stdfi fr24, @(gr8,160)
45 stdfi fr26, @(gr8,168)
46 stdfi fr28, @(gr8,176)
47 stdfi fr30, @(gr8,184)
49 stdfi fr48, @(gr8,192)
50 stdfi fr50, @(gr8,200)
51 stdfi fr52, @(gr8,208)
52 stdfi fr54, @(gr8,216)
53 stdfi fr56, @(gr8,224)
54 stdfi fr58, @(gr8,232)
55 stdfi fr60, @(gr8,240)
56 stdfi fr62, @(gr8,248)
68 .size EXT(setjmp),.Lend1-EXT(setjmp)
71 .type EXT(longjmp),@function
93 lddfi @(gr8,128), fr16
94 lddfi @(gr8,136), fr18
95 lddfi @(gr8,144), fr20
96 lddfi @(gr8,152), fr22
97 lddfi @(gr8,160), fr24
98 lddfi @(gr8,168), fr26
99 lddfi @(gr8,176), fr28
100 lddfi @(gr8,184), fr30
101 #if __FRV_FPR__ != 32
102 lddfi @(gr8,192), fr48
103 lddfi @(gr8,200), fr50
104 lddfi @(gr8,208), fr52
105 lddfi @(gr8,216), fr54
106 lddfi @(gr8,224), fr56
107 lddfi @(gr8,232), fr58
108 lddfi @(gr8,240), fr60
109 lddfi @(gr8,248), fr62
119 # Value to return is in r9. If zero, return 1
123 cmov gr9, gr8, cc4, 1
126 .size EXT(longjmp),.Lend2-EXT(longjmp2)