]>
Commit | Line | Data |
---|---|---|
01a4d082 PW |
1 | /* Scalable Matrix Extension (SME). */ |
2 | ||
3 | /* Load vector to ZA array. */ | |
4 | ldr za[w11, 0], [x0] | |
5 | ldr za[w12, 1], [sp, x0] | |
6 | ldr za[w12, 0], [sp, #1, mul vl] | |
7 | ldr za[w13, 9], [x17, #19, mul vl] | |
8 | ldr za[w13, 21], [x17, #21, mul vl] | |
9 | ldr za[w15, 32], [x17, #15, mul vl] | |
10 | ldr za[w16, 15], [sp, #15, mul vl] | |
11 | ldr za[w12, 0], [x0, #0, mul #1] | |
12 | ldr za[w13, 0], [sp, #0, mul #2] | |
13 | ldr za[w14, 9], [x17, #9, mul #3] | |
14 | ldr za[w15, 15], [sp, #15, mul #4] | |
15 | ||
16 | /* Store vector from ZA array. */ | |
17 | str za[w11, 0], [x0] | |
18 | str za[w12, 1], [sp, x0] | |
19 | str za[w12, 0], [sp, #1, mul vl] | |
20 | str za[w13, 9], [x17, #19, mul vl] | |
21 | str za[w13, 21], [x17, #21, mul vl] | |
22 | str za[w15, 32], [x17, #15, mul vl] | |
23 | str za[w16, 15], [sp, #15, mul vl] | |
24 | str za[w12, 0], [x0, #0, mul #1] | |
25 | str za[w13, 0], [sp, #0, mul #2] | |
26 | str za[w14, 9], [x17, #9, mul #3] | |
27 | str za[w15, 15], [sp, #15, mul #4] | |
28 | ||
29 | /* Operands indexes are tied. */ | |
30 | ldr za[w13, 13], [x17, #23, mul vl] | |
31 | str za[w13, 13], [x17, #23, mul vl] | |
32 | ldr za[w13, 23], [x17, #13, mul vl] | |
33 | str za[w13, 23], [x17, #13, mul vl] | |
34 | ldr za[w13, 16], [x17, #16, mul vl] | |
35 | str za[w13, 16], [x17, #16, mul vl] | |
36 | ldr za[w13, -1], [x17, #1, mul vl] | |
37 | str za[w13, -1], [x17, #1, mul vl] | |
38 | ldr za[w13, 1], [x17, #-1, mul vl] | |
39 | str za[w13, 1], [x17, #-1, mul vl] | |
9d862382 RS |
40 | |
41 | ldr za.b[w12, 0], [x0] | |
42 | ldr za.h[w12, 0], [x0] | |
43 | ldr za.s[w12, 0], [x0] | |
44 | ldr za.d[w12, 0], [x0] | |
45 | ldr za.q[w12, 0], [x0] | |
46 | ldr za/z[w12, 0], [x0] | |
47 | ldr za.2b[w12, 0], [x0] | |
e426521e RS |
48 | |
49 | ldr za0[w12, 0], [x0] | |
50 | ldr za0.b[w12, 0], [x0] | |
51 | ldr za0h[w12, 0], [x0] | |
52 | ldr za0h.h[w12, 0], [x0] | |
53 | ldr za0v[w12, 0], [x0] | |
54 | ldr za0v.s[w12, 0], [x0] | |
e2dc4040 RS |
55 | |
56 | ldr za[w12, 0, vgx2], [x0] | |
57 | ldr za[w12, 0, vgx4], [x0] | |
58 | ldr za[w12, 0, vgx8], [x0] | |
59 | ||
60 | str za[w12, 0, vgx2], [x0] | |
61 | str za[w12, 0, vgx4], [x0] | |
62 | str za[w12, 0, vgx8], [x0] | |
63 | ||
64 | ldr za.b[w12, 0, vgx2], [x0] | |
65 | str za.b[w12, 0, vgx4], [x0] | |
586c6281 RS |
66 | |
67 | ldr za[w12, 0:1], [x0] | |
68 | str za[w12, 0:2, vgx4], [x0] | |
69 | ||
70 | ldr za.b[w12, 0:1], [x0] | |
71 | str za.b[w12, 0:2, vgx4], [x0] |