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