-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paths_m_a_vec.alpha
39 lines (38 loc) · 1.3 KB
/
s_m_a_vec.alpha
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* s_m_a_vec.alpha: Dec assembler assembler version of s_m_a_vec.c */
/* coded for the alpha 21064 */
#include "asdef.alpha.h"
.globl scalar_mult_add_su3_vector
.ent scalar_mult_add_su3_vector 2
scalar_mult_add_su3_vector:
lds ft1, 0(a1) /* b.c[0].real*/
lds ft3, 4(a1) /* b.c[0].imag*/
lds ft5, 8(a1) /* b.c[1].real*/
muls ft1,fa2,ft1 /* int.c[0].real*/
lds ft7, 12(a1) /* b.c[1].imag*/
muls ft3,fa2,ft3 /* int.c[0].imag*/
lds ft9, 16(a1) /* b.c[2].real*/
muls ft5,fa2,ft5 /* int.c[1].real*/
lds ft11, 20(a1) /* b.c[2].imag*/
muls ft7,fa2,ft7 /* int.c[1].imag*/
lds ft0, 0(a0) /* a.c[0].real*/
muls ft9,fa2,ft9 /* int.c[2].real*/
lds ft2, 4(a0) /* a.c[0].imag*/
muls ft11,fa2,ft11 /* int.c[2].imag*/
lds ft4, 8(a0) /* a.c[1].real*/
adds ft0,ft1,ft1 /* int.c[0].real*/
lds ft6, 12(a0) /* a.c[1].imag*/
adds ft2,ft3,ft3 /* int.c[0].imag*/
lds ft8, 16(a0) /* a.c[2].real*/
adds ft4,ft5,ft5 /* int.c[1].real*/
lds ft10, 20(a0) /* a.c[2].imag*/
adds ft6,ft7,ft7 /* int.c[1].imag*/
adds ft8,ft9,ft9 /* int.c[2].real*/
adds ft10,ft11,ft11 /* int.c[2].imag*/
sts ft1, 0(a3) /* c.c[0].real*/
sts ft3, 4(a3) /* c.c[0].imag*/
sts ft5, 8(a3) /* c.c[1].real*/
sts ft7, 12(a3) /* c.c[1].imag*/
sts ft9, 16(a3) /* c.c[2].real*/
sts ft11, 20(a3) /* c.c[2].imag*/
ret zero, (ra)
.end scalar_mult_add_su3_vector