Cygwin: Add new APIs tc[gs]etwinsize()
[newlib-cygwin.git] / newlib / libc / machine / tic6x / setjmp.S
blobcd40d58058c8da6968eb22fea8bd32551a190579
1 ;******************************************************************************
2 ;* SETJMP  v7.2.0I10181                                                       *
3 ;*                                                                            *
4 ;* Copyright (c) 1996-2010 Texas Instruments Incorporated                     *
5 ;* http://www.ti.com/                                                         *
6 ;*                                                                            *
7 ;*  Redistribution and  use in source  and binary forms, with  or without     *
8 ;*  modification,  are permitted provided  that the  following conditions     *
9 ;*  are met:                                                                  *
10 ;*                                                                            *
11 ;*     Redistributions  of source  code must  retain the  above copyright     *
12 ;*     notice, this list of conditions and the following disclaimer.          *
13 ;*                                                                            *
14 ;*     Redistributions in binary form  must reproduce the above copyright     *
15 ;*     notice, this  list of conditions  and the following  disclaimer in     *
16 ;*     the  documentation  and/or   other  materials  provided  with  the     *
17 ;*     distribution.                                                          *
18 ;*                                                                            *
19 ;*     Neither the  name of Texas Instruments Incorporated  nor the names     *
20 ;*     of its  contributors may  be used to  endorse or  promote products     *
21 ;*     derived  from   this  software  without   specific  prior  written     *
22 ;*     permission.                                                            *
23 ;*                                                                            *
24 ;*  THIS SOFTWARE  IS PROVIDED BY THE COPYRIGHT  HOLDERS AND CONTRIBUTORS     *
25 ;*  "AS IS"  AND ANY  EXPRESS OR IMPLIED  WARRANTIES, INCLUDING,  BUT NOT     *
26 ;*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR     *
27 ;*  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT     *
28 ;*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,     *
29 ;*  SPECIAL,  EXEMPLARY,  OR CONSEQUENTIAL  DAMAGES  (INCLUDING, BUT  NOT     *
30 ;*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,     *
31 ;*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY     *
32 ;*  THEORY OF  LIABILITY, WHETHER IN CONTRACT, STRICT  LIABILITY, OR TORT     *
33 ;*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE     *
34 ;*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.      *
35 ;*                                                                            *
36 ;******************************************************************************
38 .text
39 .globl setjmp
40 .type setjmp,%function
41 setjmp:
42         MV .L2X    A4, B4
43 ||      STW .D1T2  B3, *+A4(48)
45         STW .D1T1  A10, *+A4(0)
46 ||      STW .D2T2  B10, *+B4(4)
47 ||      RET .S2    B3
49         STW .D1T1  A11, *+A4(8)
50 ||      STW .D2T2  B11, *+B4(12)
52         STW .D1T1  A12, *+A4(16)
53 ||      STW .D2T2  B12, *+B4(20)
55         STW .D1T1  A13, *+A4(24)
56 ||      STW .D2T2  B13, *+B4(28)
58         STW .D1T1  A14, *+A4(32)
59 ||      STW .D2T2  B14, *+B4(36)
61         STW .D1T1  A15, *+A4(40)
62 ||      STW .D2T2  B15, *+B4(44)
63 ||      ZERO .S1   A4
64 .size setjmp, . - setjmp
66 .globl longjmp
67 .type longjmp,%function
68 longjmp:
69          LDW .D1T1  *+A4(48), A3
71          MV .L2X    A4, B6
72 ||       MV .S1     A4, A6
73 ||       MV .D2     B4, B2
75          LDW .D1T1  *+A6(0), A10
76 ||       LDW .D2T2  *+B6(4), B10
77 || [B2]  MV .L1X    B4, A4
78 || [!B2] MVK .S1    1, A4
80          LDW .D1T1  *+A6(8), A11
81 ||       LDW .D2T2  *+B6(12), B11 
83          LDW .D1T1  *+A6(16), A12
84 ||       LDW .D2T2  *+B6(20), B12
86          LDW .D1T1  *+A6(24), A13
87 ||       LDW .D2T2  *+B6(28), B13
89          LDW .D1T1  *+A6(32), A14
90 ||       LDW .D2T2  *+B6(36), B14
92          LDW .D1T1  *+A6(40), A15
93 ||       LDW .D2T2  *+B6(44), B15
94 ||       RET .S2X   A3
95          NOP    5
96 .size longjmp, . - longjmp