blob: 466aa9abc064adf1b3c7624ae075dd95e9ece57a [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
smmla z17.s, z21.b, z27.b
smmla z0.s, z0.b, z0.b
ummla z17.s, z21.b, z27.b
ummla z0.s, z0.b, z0.b
usmmla z17.s, z21.b, z27.b
usmmla z0.s, z0.b, z0.b
usdot z17.s, z21.b, z27.b
usdot z0.s, z0.b, z0.b
usdot z17.s, z21.b, z7.b[3]
usdot z0.s, z0.b, z0.b[3]
usdot z17.s, z21.b, z7.b[0]
usdot z0.s, z0.b, z0.b[0]
sudot z17.s, z21.b, z7.b[3]
sudot z0.s, z0.b, z0.b[3]
sudot z17.s, z21.b, z7.b[0]
sudot z0.s, z0.b, z0.b[0]
// SIMD
smmla v17.4s, v21.16b, v27.16b
smmla v17.4s, v21.16b, v27.16b
ummla v17.4s, v21.16b, v27.16b
ummla v0.4s, v0.16b, v0.16b
usmmla v0.4s, v0.16b, v0.16b
usmmla v17.4s, v21.16b, v27.16b
usdot v17.2s, v21.8b, v27.8b
usdot v0.2s, v0.8b, v0.8b
usdot v17.4s, v21.16b, v27.16b
usdot v0.4s, v0.16b, v0.16b
usdot v17.2s, v21.8b, v27.4b[3]
usdot v0.2s, v0.8b, v0.4b[3]
usdot v17.2s, v21.8b, v27.4b[0]
usdot v0.2s, v0.8b, v0.4b[0]
usdot v17.4s, v21.16b, v27.4b[3]
usdot v0.4s, v0.16b, v0.4b[3]
usdot v17.4s, v21.16b, v27.4b[0]
usdot v0.4s, v0.16b, v0.4b[0]
sudot v17.2s, v21.8b, v27.4b[3]
sudot v0.2s, v0.8b, v0.4b[3]
sudot v17.2s, v21.8b, v27.4b[0]
sudot v0.2s, v0.8b, v0.4b[0]
sudot v17.4s, v21.16b, v27.4b[3]
sudot v0.4s, v0.16b, v0.4b[3]
sudot v17.4s, v21.16b, v27.4b[0]
sudot v0.4s, v0.16b, v0.4b[0]