blob: 5850a9c7d1892c36bc90f379e8aab7b48af3f7d7 [file] [log] [blame]
/* 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