1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
/* Only predicated vector BIC is allowed following a movprfx, and some pseudo
instructions should be allowed due to the instructions they alias.
Has invalid usages. Diagnosis required. */
.text
.arch armv8-a+sve
f:
/* OK, vectored predicated. */
movprfx z1.D, p1/m, z3.D
bic z1.D, p1/M, z1.D, z2.D
/* Not OK, vectored unpredicated. */
movprfx z1.D, p1/m, z3.D
bic z1.D, z1.D, z2.D
/* Not OK, vectored unpredicated. */
movprfx z1, z3
bic z1.D, z1.D, z2.D
/* Not OK, immediate form, unpredicated. */
movprfx z1.D, p1/m, z3.D
bic z1.D, z1.D, #12
/* OK, immediate form alias of AND which is allowed. */
movprfx z1, z3
bic z1.D, z1.D, #12
/* OK, immediate form alias of EOR which is allowed. */
movprfx z1, z3
eon z1.D, z1.D, #12
/* OK, immediate form alias of ORR which is allowed. */
movprfx z1, z3
orr z1.D, z1.D, #12
ret
|