summaryrefslogtreecommitdiff
path: root/mpn/pyr/addmul_1.s
diff options
context:
space:
mode:
authortege <tege@gmplib.org>1996-05-08 09:10:48 +0200
committertege <tege@gmplib.org>1996-05-08 09:10:48 +0200
commitc6d715868f53b08c62a129ffd77fb585fd89c43b (patch)
tree82f36d2d8cbe7e07ad3e18d5c6e047e8796d861e /mpn/pyr/addmul_1.s
downloadgmp-c6d715868f53b08c62a129ffd77fb585fd89c43b.tar.gz
Initial revision
Diffstat (limited to 'mpn/pyr/addmul_1.s')
-rw-r--r--mpn/pyr/addmul_1.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/mpn/pyr/addmul_1.s b/mpn/pyr/addmul_1.s
new file mode 100644
index 000000000..dc4702541
--- /dev/null
+++ b/mpn/pyr/addmul_1.s
@@ -0,0 +1,23 @@
+.text
+ .align 2
+.globl ___mpn_addmul_1
+___mpn_addmul_1:
+ mova (pr0)[pr2*4],pr0
+ mova (pr1)[pr2*4],pr1
+ mnegw pr2,pr2
+ movw $0,tr3
+
+Loop: movw (pr1)[pr2*4],tr1
+ uemul pr3,tr0
+ addw tr3,tr1
+ movw $0,tr3
+ addwc tr0,tr3
+ movw (pr0)[pr2*0x4],tr0
+ addw tr0,tr1
+ addwc $0,tr3
+ movw tr1,(pr0)[pr2*4]
+ addw $1,pr2
+ bne Loop
+
+ movw tr3,pr0
+ ret