| /* The instructions with non-zero register numbers are there to ensure we have |
| the correct argument positioning (i.e. check that the first argument is at |
| the end of the word etc). |
| The instructions with all-zero register numbers are to ensure the previous |
| encoding didn't just "happen" to fit -- so that if we change the registers |
| that changes the correct part of the word. |
| Each of the numbered patterns begin and end with a 1, so we can replace |
| them with all-zeros and see the entire range has changed. */ |
| |
| // SVE |
| bfdot z17.s, z21.h, z27.h |
| bfdot z0.s, z0.h, z0.h |
| |
| bfdot z17.s, z21.h, z5.h[3] |
| bfdot z0.s, z0.h, z0.h[3] |
| bfdot z0.s, z0.h, z0.h[0] |
| |
| bfmmla z17.s, z21.h, z27.h |
| bfmmla z0.s, z0.h, z0.h |
| |
| bfcvt z17.h, p5/m, z21.s |
| bfcvt z0.h, p0/m, z0.s |
| bfcvtnt z17.h, p5/m, z21.s |
| bfcvtnt z0.h, p0/m, z0.s |
| |
| bfmlalt z17.s, z21.h, z27.h |
| bfmlalt z0.s, z0.h, z0.h |
| bfmlalb z17.s, z21.h, z27.h |
| bfmlalb z0.s, z0.h, z0.h |
| |
| bfmlalt z17.s, z21.h, z5.h[0] |
| bfmlalt z0.s, z0.h, z0.h[7] |
| bfmlalb z17.s, z21.h, z5.h[0] |
| bfmlalb z0.s, z0.h, z0.h[7] |
| |
| // SIMD |
| bfdot v17.2s, v21.4h, v27.4h |
| bfdot v0.2s, v0.4h, v0.4h |
| bfdot v17.4s, v21.8h, v27.8h |
| bfdot v0.4s, v0.8h, v0.8h |
| |
| bfdot v17.2s, v21.4h, v27.2h[3] |
| bfdot v0.2s, v0.4h, v0.2h[3] |
| bfdot v17.4s, v21.8h, v27.2h[3] |
| bfdot v0.4s, v0.8h, v0.2h[3] |
| bfdot v17.2s, v21.4h, v27.2h[0] |
| bfdot v0.2s, v0.4h, v0.2h[0] |
| bfdot v17.4s, v21.8h, v27.2h[0] |
| bfdot v0.4s, v0.8h, v0.2h[0] |
| |
| bfmmla v17.4s, v21.8h, v27.8h |
| bfmmla v0.4s, v0.8h, v0.8h |
| |
| bfmlalb v17.4s, v21.8h, v27.8h |
| bfmlalb v0.4s, v0.8h, v0.8h |
| bfmlalt v17.4s, v21.8h, v27.8h |
| bfmlalt v0.4s, v0.8h, v0.8h |
| |
| bfmlalb v17.4s, v21.8h, v15.h[0] |
| bfmlalb v0.4s, v0.8h, v0.h[7] |
| bfmlalt v17.4s, v21.8h, v15.h[0] |
| bfmlalt v0.4s, v0.8h, v0.h[7] |
| |
| bfcvtn v17.4h, v21.4s |
| bfcvtn v0.4h, v0.4s |
| bfcvtn2 v17.8h, v21.4s |
| bfcvtn2 v0.8h, v0.4s |
| |
| bfcvt h17, s21 |
| bfcvt h0, s0 |