diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-03 17:39:24 -0700 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-03 17:39:24 -0700 |
commit | a6c1ed4716cf02626ea035beb6dd4a921642ba80 (patch) | |
tree | ef582c1b52819e27bdd16097ec03b69799d04ede /newlib/libc/machine/d30v/setjmp.S | |
parent | f6c9a624fa8a6878a7fb2b02f55e4990a20feb59 (diff) |
Use libc from agbcc instead of standalone newlib\nYou must have AGBCC commit 80d029caec189587f8b9294b6c8a5a489b8f5f88 in order to compile pmd_red.gbalibc
Diffstat (limited to 'newlib/libc/machine/d30v/setjmp.S')
-rw-r--r-- | newlib/libc/machine/d30v/setjmp.S | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/newlib/libc/machine/d30v/setjmp.S b/newlib/libc/machine/d30v/setjmp.S deleted file mode 100644 index c0ca825..0000000 --- a/newlib/libc/machine/d30v/setjmp.S +++ /dev/null @@ -1,106 +0,0 @@ -; setjmp/longjmp for D30V. - - .text - .globl setjmp - .type setjmp,@function - .stabs "setjmp.S",100,0,0,setjmp - .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0 - .stabs "setjmp:F(0,1)",36,0,1,setjmp - -setjmp: -; Address of jmpbuf is passed in R2. Save the appropriate registers. - st2w r26, @(r2+,r0) - st2w r28, @(r2+,r0) - st2w r30, @(r2+,r0) - st2w r32, @(r2+,r0) - st2w r34, @(r2+,r0) - st2w r36, @(r2+,r0) - st2w r38, @(r2+,r0) - st2w r40, @(r2+,r0) - st2w r42, @(r2+,r0) - st2w r44, @(r2+,r0) - st2w r46, @(r2+,r0) - st2w r48, @(r2+,r0) - st2w r50, @(r2+,r0) - st2w r52, @(r2+,r0) - st2w r54, @(r2+,r0) - st2w r56, @(r2+,r0) - st2w r58, @(r2+,r0) - st2w r60, @(r2+,r0) - st2w r62, @(r2+,r0) - - mvfacc r4, a1, 16 - mvfacc r5, a1, 0 - st2w r4, @(r2+,r0) - - mvfsys r4, psw - mvfsys r5, rpt_c - st2w r4, @(r2+,r0) - - mvfsys r4, rpt_s - mvfsys r5, rpt_e - st2w r4, @(r2+,r0) - - mvfsys r4, mod_s - mvfsys r5, mod_e - st2w r4, @(r2+,r0) - -; Return 0 to caller - add r2, r0, r0 - jmp link -.Lsetjmp: - .size setjmp,.Lsetjmp-setjmp - .stabs "",36,0,0,.Lsetjmp-setjmp - - .globl longjmp - .type longjmp,@function - .stabs "longjmp:F(0,1)",36,0,1,longjmp -longjmp: -; Address of jmpbuf is in R2. Restore the registers. - ld2w r26, @(r2+,r0) - ld2w r28, @(r2+,r0) - ld2w r30, @(r2+,r0) - ld2w r32, @(r2+,r0) - ld2w r34, @(r2+,r0) - ld2w r36, @(r2+,r0) - ld2w r38, @(r2+,r0) - ld2w r40, @(r2+,r0) - ld2w r42, @(r2+,r0) - ld2w r44, @(r2+,r0) - ld2w r46, @(r2+,r0) - ld2w r48, @(r2+,r0) - ld2w r50, @(r2+,r0) - ld2w r52, @(r2+,r0) - ld2w r54, @(r2+,r0) - ld2w r56, @(r2+,r0) - ld2w r58, @(r2+,r0) - ld2w r60, @(r2+,r0) - ld2w r62, @(r2+,r0) - - ld2w r4, @(r2+,r0) - mvtacc a1, r4, r5 - - mvfsys r6, psw - ld2w r4, @(r2+,r0) /* psw, rpt_c */ - and r6, r6, 0xfcff /* set rp, md bits from setjmp, leave */ - and r4, r4, 0x0300 /* all other psw bits the same */ - or r4, r4, r6 - mvtsys psw, r4 - mvtsys rpt_c, r5 - - ld2w r4, @(r2+,r0) - mvtsys rpt_s, r4 - mvtsys rpt_e, r5 - - ld2w r4, @(r2+,r0) - mvtsys mod_s, r4 - mvtsys mod_e, r5 - -; Value to return to caller is in R3. If caller attemped to return 0, -; return 1 instead. - - cmpeq f0, r3, 0 || add r2, r3, r0 - jmp link || add/tx r2, r2, 1 -.Llongjmp: - .size longjmp,.Llongjmp-longjmp - .stabs "",36,0,0,.Llongjmp-longjmp |