.
[glibc-ports.git] / sysdeps / i960 / mul_1.s
blobe75ea42d396cd970775d3a0b1b013021b59c196d
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
11 cmpo 1,0 # clear C bit on AC.cc
13 Loop: ld (g1)[g2*4],g5
14 emul g3,g5,g6
16 addc g0,g6,g6 # relies on that C bit is clear
17 st g6,(g13)[g2*4]
18 addc 0,g7,g0
20 addo g2,1,g2
21 cmpobne 0,g2,Loop # when branch is taken, clears C bit
23 ret