]>
Commit | Line | Data |
---|---|---|
df678013 MM |
1 | /* The instructions with non-zero register numbers are there to ensure we have |
2 | the correct argument positioning (i.e. check that the first argument is at | |
3 | the end of the word etc). | |
4 | The instructions with all-zero register numbers are to ensure the previous | |
5 | encoding didn't just "happen" to fit -- so that if we change the registers | |
6 | that changes the correct part of the word. | |
7 | Each of the numbered patterns begin and end with a 1, so we can replace | |
8 | them with all-zeros and see the entire range has changed. */ | |
9 | ||
10 | // SVE | |
11 | bfdot z17.s, z21.h, z27.h | |
12 | bfdot z0.s, z0.h, z0.h | |
13 | ||
14 | bfdot z17.s, z21.h, z5.h[3] | |
15 | bfdot z0.s, z0.h, z0.h[3] | |
16 | bfdot z0.s, z0.h, z0.h[0] | |
17 | ||
18 | bfmmla z17.s, z21.h, z27.h | |
19 | bfmmla z0.s, z0.h, z0.h | |
20 | ||
21 | bfcvt z17.h, p5/m, z21.s | |
22 | bfcvt z0.h, p0/m, z0.s | |
23 | bfcvtnt z17.h, p5/m, z21.s | |
24 | bfcvtnt z0.h, p0/m, z0.s | |
25 | ||
26 | bfmlalt z17.s, z21.h, z27.h | |
27 | bfmlalt z0.s, z0.h, z0.h | |
28 | bfmlalb z17.s, z21.h, z27.h | |
29 | bfmlalb z0.s, z0.h, z0.h | |
30 | ||
31 | bfmlalt z17.s, z21.h, z5.h[0] | |
32 | bfmlalt z0.s, z0.h, z0.h[7] | |
33 | bfmlalb z17.s, z21.h, z5.h[0] | |
34 | bfmlalb z0.s, z0.h, z0.h[7] | |
35 | ||
36 | // SIMD | |
37 | bfdot v17.2s, v21.4h, v27.4h | |
38 | bfdot v0.2s, v0.4h, v0.4h | |
39 | bfdot v17.4s, v21.8h, v27.8h | |
40 | bfdot v0.4s, v0.8h, v0.8h | |
41 | ||
42 | bfdot v17.2s, v21.4h, v27.2h[3] | |
43 | bfdot v0.2s, v0.4h, v0.2h[3] | |
44 | bfdot v17.4s, v21.8h, v27.2h[3] | |
45 | bfdot v0.4s, v0.8h, v0.2h[3] | |
46 | bfdot v17.2s, v21.4h, v27.2h[0] | |
47 | bfdot v0.2s, v0.4h, v0.2h[0] | |
48 | bfdot v17.4s, v21.8h, v27.2h[0] | |
49 | bfdot v0.4s, v0.8h, v0.2h[0] | |
50 | ||
51 | bfmmla v17.4s, v21.8h, v27.8h | |
52 | bfmmla v0.4s, v0.8h, v0.8h | |
53 | ||
54 | bfmlalb v17.4s, v21.8h, v27.8h | |
55 | bfmlalb v0.4s, v0.8h, v0.8h | |
56 | bfmlalt v17.4s, v21.8h, v27.8h | |
57 | bfmlalt v0.4s, v0.8h, v0.8h | |
58 | ||
59 | bfmlalb v17.4s, v21.8h, v15.h[0] | |
60 | bfmlalb v0.4s, v0.8h, v0.h[7] | |
61 | bfmlalt v17.4s, v21.8h, v15.h[0] | |
62 | bfmlalt v0.4s, v0.8h, v0.h[7] | |
63 | ||
64 | bfcvtn v17.4h, v21.4s | |
65 | bfcvtn v0.4h, v0.4s | |
66 | bfcvtn2 v17.8h, v21.4s | |
67 | bfcvtn2 v0.8h, v0.4s | |
68 | ||
69 | bfcvt h17, s21 | |
70 | bfcvt h0, s0 |