1 ; setjmp/longjmp for D30V.
6 .stabs "setjmp.S",100,0,0,setjmp
7 .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0
8 .stabs "setjmp:F(0,1)",36,0,1,setjmp
11 ; Address of jmpbuf is passed in R2. Save the appropriate registers.
52 .size setjmp,.Lsetjmp-setjmp
53 .stabs "",36,0,0,.Lsetjmp-setjmp
56 .type longjmp,@function
57 .stabs "longjmp:F(0,1)",36,0,1,longjmp
59 ; Address of jmpbuf is in R2. Restore the registers.
84 ld2w r4, @(r2+,r0) /* psw, rpt_c */
85 and r6, r6, 0xfcff /* set rp, md bits from setjmp, leave */
86 and r4, r4, 0x0300 /* all other psw bits the same */
99 ; Value to return to caller is in R3. If caller attemped to return 0,
102 cmpeq f0, r3, 0 || add r2, r3, r0
103 jmp link || add/tx r2, r2, 1
105 .size longjmp,.Llongjmp-longjmp
106 .stabs "",36,0,0,.Llongjmp-longjmp