1// RUN: not llvm-mc -triple aarch64-unknown-none-eabi -filetype asm -o - %s 2>&1 | FileCheck %s
2
3	.cpu generic
4
5	fminnm d0, d0, d1
6
7	.cpu generic+fp
8
9	fminnm d0, d0, d1
10
11	.cpu generic+nofp
12
13	fminnm d0, d0, d1
14
15	.cpu generic+simd
16
17	addp v0.4s, v0.4s, v0.4s
18
19	.cpu generic+nosimd
20
21	addp v0.4s, v0.4s, v0.4s
22
23	.cpu generic+crc
24
25	crc32cx w0, w1, x3
26
27	.cpu generic+nocrc
28
29	crc32cx w0, w1, x3
30
31	.cpu generic+crypto+nocrc
32
33	aesd v0.16b, v2.16b
34
35	.cpu generic+nocrypto+crc
36
37	aesd v0.16b, v2.16b
38
39// NOTE: the errors precede the actual output!  The errors appear in order
40// though, so validate by hoisting them to the top and preservering relative
41// ordering
42
43// CHECK: error: instruction requires: fp-armv8
44// CHECK: 	fminnm d0, d0, d1
45// CHECK: 	^
46
47// CHECK: error: instruction requires: neon
48// CHECK: 	addp v0.4s, v0.4s, v0.4s
49// CHECK: 	^
50
51// CHECK: error: instruction requires: crc
52// CHECK: 	crc32cx w0, w1, x3
53// CHECK: 	^
54
55// CHECK: error: instruction requires: crypto
56// CHECK: 	aesd v0.16b, v2.16b
57// CHECK: 	^
58
59// CHECK:	fminnm d0, d0, d1
60// CHECK:	fminnm d0, d0, d1
61// CHECK:	addp v0.4s, v0.4s, v0.4s
62// CHECK:	crc32cx w0, w1, x3
63// CHECK:	aesd v0.16b, v2.16b
64