HP/PA specific __longjmp implementation.
[kopensolaris-gnu/glibc.git] / sysdeps / i960 / add_n.s
1 .text
2         .align 4
3         .globl ___mpn_add_n
4 ___mpn_add_n:
5         mov     0,g6            # clear carry-save register
6         cmpo    1,0             # clear cy
7
8 Loop:   subo    1,g3,g3         # update loop counter
9         ld      (g1),g5         # load from s1_ptr
10         addo    4,g1,g1         # s1_ptr++
11         ld      (g2),g4         # load from s2_ptr
12         addo    4,g2,g2         # s2_ptr++
13         cmpo    g6,1            # restore cy from g6, relies on cy being 0
14         addc    g4,g5,g4        # main add
15         subc    0,0,g6          # save cy in g6
16         st      g4,(g0)         # store result to res_ptr
17         addo    4,g0,g0         # res_ptr++
18         cmpobne 0,g3,Loop       # when branch is taken, clears C bit
19
20         mov     g6,g0
21         ret