From 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 Mon Sep 17 00:00:00 2001 From: Joe Hunkeler Date: Tue, 11 Aug 2015 16:51:37 -0400 Subject: Repatch (from linux) of OSX IRAF --- unix/as.vax/awsus.s | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 unix/as.vax/awsus.s (limited to 'unix/as.vax/awsus.s') diff --git a/unix/as.vax/awsus.s b/unix/as.vax/awsus.s new file mode 100644 index 00000000..5ad9bb78 --- /dev/null +++ b/unix/as.vax/awsus.s @@ -0,0 +1,47 @@ +# AWSUS -- Weighted sum of two type short vectors. + + .data 0 + .globl _awsus_ + .align 2 + .text + + .set A, 4 + .set B, 8 + .set C, 12 + .set NPIX, 16 + .set W1, 20 + .set W2, 24 + + # AWSUS (a, b, c, npix, w1, w2) + # + # registers: + # r0 max_a + # r1 a + # r2 b + # r3 c + # r4 w1 (real) + # r5 w2 (real) + +_awsus_: + .word 0374 + movl A(ap), r1 + movl B(ap), r2 + movl C(ap), r3 + mull3 $2, *NPIX(ap), r0 + addl2 r1, r0 + movf *W1(ap), r4 + movf *W2(ap), r5 + + # c[i] = a[i] * w1 + b[i] * w2 +L1: + cvtwf (r1)+, r6 + mulf2 r4, r6 + cvtwf (r2)+, r7 + mulf2 r5, r7 + addf2 r6, r7 + cvtfw r7, (r3)+ + + cmpl r1, r0 + blssu L1 + + ret -- cgit