diff options
author | tege <tege@gmplib.org> | 1996-05-08 09:10:48 +0200 |
---|---|---|
committer | tege <tege@gmplib.org> | 1996-05-08 09:10:48 +0200 |
commit | c6d715868f53b08c62a129ffd77fb585fd89c43b (patch) | |
tree | 82f36d2d8cbe7e07ad3e18d5c6e047e8796d861e /mpn/i960/mul_1.s | |
download | gmp-c6d715868f53b08c62a129ffd77fb585fd89c43b.tar.gz |
Initial revision
Diffstat (limited to 'mpn/i960/mul_1.s')
-rw-r--r-- | mpn/i960/mul_1.s | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mpn/i960/mul_1.s b/mpn/i960/mul_1.s new file mode 100644 index 000000000..e75ea42d3 --- /dev/null +++ b/mpn/i960/mul_1.s @@ -0,0 +1,23 @@ +.text + .align 4 + .globl ___mpn_mul_1 +___mpn_mul_1: + subo g2,0,g2 + shlo 2,g2,g4 + subo g4,g1,g1 + subo g4,g0,g13 + mov 0,g0 + + cmpo 1,0 # clear C bit on AC.cc + +Loop: ld (g1)[g2*4],g5 + emul g3,g5,g6 + + addc g0,g6,g6 # relies on that C bit is clear + st g6,(g13)[g2*4] + addc 0,g7,g0 + + addo g2,1,g2 + cmpobne 0,g2,Loop # when branch is taken, clears C bit + + ret |