chiark / gitweb /
eglibc (2.11.3-4+deb6u3) squeeze-lts; urgency=medium
[eglibc.git] / ports / sysdeps / i960 / mul_1.s
1 .text
2         .align  4
3         .globl  ___mpn_mul_1
4 ___mpn_mul_1:
5         subo    g2,0,g2
6         shlo    2,g2,g4
7         subo    g4,g1,g1
8         subo    g4,g0,g13
9         mov     0,g0
10
11         cmpo    1,0             # clear C bit on AC.cc
12
13 Loop:   ld      (g1)[g2*4],g5
14         emul    g3,g5,g6
15
16         addc    g0,g6,g6        # relies on that C bit is clear
17         st      g6,(g13)[g2*4]
18         addc    0,g7,g0
19
20         addo    g2,1,g2
21         cmpobne 0,g2,Loop       # when branch is taken, clears C bit
22
23         ret