Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/d30v/setjmp.S')
-rw-r--r--newlib/libc/machine/d30v/setjmp.S106
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 c0ca8250b..000000000
--- 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