// RUN: not llvm-mc -triple aarch64-linux-gnu %s 2> %t > /dev/null
// RUN: FileCheck %s < %t
.cpu invalid
// CHECK: error: unknown CPU name
.cpu generic+fp+wibble+nowobble
// CHECK: error: unsupported architectural extension: wibble
// CHECK-NEXT: .cpu generic+fp+wibble+nowobble
// CHECK-NEXT: ^
.cpu generic+nofp
fminnm d0, d0, d1
// CHECK: error: instruction requires: fp-armv8
// CHECK-NEXT: fminnm d0, d0, d1
// CHECK-NEXT: ^
.cpu generic+nosimd
addp v0.4s, v0.4s, v0.4s
// CHECK: error: instruction requires: neon
// CHECK-NEXT: addp v0.4s, v0.4s, v0.4s
// CHECK-NEXT: ^
.cpu generic+nocrc
crc32cx w0, w1, x3
// CHECK: error: instruction requires: crc
// CHECK-NEXT: crc32cx w0, w1, x3
// CHECK-NEXT: ^
.cpu generic+nocrypto+crc
aesd v0.16b, v2.16b
// CHECK: error: instruction requires: aes
// CHECK-NEXT: aesd v0.16b, v2.16b
// CHECK-NEXT: ^
.cpu generic+nolse
casa w5, w7, [x20]
// CHECK: error: instruction requires: lse
// CHECK-NEXT: casa w5, w7, [x20]
// CHECK-NEXT: ^
.cpu generic+v8.1-a
// CHECK: error: unsupported architectural extension
// CHECK-NEXT: .cpu generic+v8.1-a
// CHECK-NEXT: ^
.cpu generic+noaes
aese v0.16b, v1.16b
// CHECK: error: instruction requires: aes
// CHECK-NEXT: aese v0.16b, v1.16b
// CHECK-NEXT: ^
.cpu generic+nosha2
sha1h s0, s1
// CHECK: error: instruction requires: sha2
// CHECK-NEXT: sha1h s0, s1
// CHECK-NEXT: ^
.cpu generic+nosha3
sha512h q0, q1, v2.2d
// CHECK: error: instruction requires: sha3
// CHECK-NEXT: sha512h q0, q1, v2.2d
// CHECK-NEXT: ^
.cpu generic+nosm4
sm4e v2.4s, v15.4s
// CHECK: error: instruction requires: sm4
// CHECK-NEXT: sm4e v2.4s, v15.4s
// CHECK-NEXT: ^