1
- // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p2 ,+sme-b16b16 < %s \
1
+ // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-mop4 ,+sme-b16b16 < %s \
2
2
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3
3
// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
4
4
// RUN: | FileCheck %s --check-prefix=CHECK-ERROR
5
- // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2p2 ,+sme-b16b16 < %s \
6
- // RUN: | llvm-objdump -d --mattr=+sme2p2 ,+sme-b16b16 - | FileCheck %s --check-prefix=CHECK-INST
7
- // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2p2 ,+sme-b16b16 < %s \
8
- // RUN: | llvm-objdump -d --mattr=-sme2p2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
5
+ // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-mop4 ,+sme-b16b16 < %s \
6
+ // RUN: | llvm-objdump -d --mattr=+sme-mop4 ,+sme-b16b16 - | FileCheck %s --check-prefix=CHECK-INST
7
+ // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-mop4 ,+sme-b16b16 < %s \
8
+ // RUN: | llvm-objdump -d --mattr=-sme-mop4 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9
9
// Disassemble encoding and check the re-encoding (-show-encoding) matches.
10
- // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p2 ,+sme-b16b16 < %s \
10
+ // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-mop4 ,+sme-b16b16 < %s \
11
11
// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
12
- // RUN: | llvm-mc -triple=aarch64 -mattr=+sme2p2 ,+sme-b16b16 -disassemble -show-encoding \
12
+ // RUN: | llvm-mc -triple=aarch64 -mattr=+sme-mop4 ,+sme-b16b16 -disassemble -show-encoding \
13
13
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
14
14
15
15
// BFMOP4A
19
19
bfmop4a za0.h, z0.h, z16.h // 10000001-00100000-00000000-00001000
20
20
// CHECK-INST: bfmop4a za0.h, z0.h, z16.h
21
21
// CHECK-ENCODING: [0x08,0x00,0x20,0x81]
22
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
22
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
23
23
// CHECK-UNKNOWN: 81200008 <unknown>
24
24
25
25
bfmop4a za1.h, z12.h, z24.h // 10000001-00101000-00000001-10001001
26
26
// CHECK-INST: bfmop4a za1.h, z12.h, z24.h
27
27
// CHECK-ENCODING: [0x89,0x01,0x28,0x81]
28
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
28
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
29
29
// CHECK-UNKNOWN: 81280189 <unknown>
30
30
31
31
bfmop4a za1.h, z14.h, z30.h // 10000001-00101110-00000001-11001001
32
32
// CHECK-INST: bfmop4a za1.h, z14.h, z30.h
33
33
// CHECK-ENCODING: [0xc9,0x01,0x2e,0x81]
34
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
34
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
35
35
// CHECK-UNKNOWN: 812e01c9 <unknown>
36
36
37
37
// Single and multiple vectors
38
38
39
39
bfmop4a za0.h, z0.h, {z16.h-z17.h} // 10000001-00110000-00000000-00001000
40
40
// CHECK-INST: bfmop4a za0.h, z0.h, { z16.h, z17.h }
41
41
// CHECK-ENCODING: [0x08,0x00,0x30,0x81]
42
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
42
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
43
43
// CHECK-UNKNOWN: 81300008 <unknown>
44
44
45
45
bfmop4a za1.h, z12.h, {z24.h-z25.h} // 10000001-00111000-00000001-10001001
46
46
// CHECK-INST: bfmop4a za1.h, z12.h, { z24.h, z25.h }
47
47
// CHECK-ENCODING: [0x89,0x01,0x38,0x81]
48
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
48
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
49
49
// CHECK-UNKNOWN: 81380189 <unknown>
50
50
51
51
bfmop4a za1.h, z14.h, {z30.h-z31.h} // 10000001-00111110-00000001-11001001
52
52
// CHECK-INST: bfmop4a za1.h, z14.h, { z30.h, z31.h }
53
53
// CHECK-ENCODING: [0xc9,0x01,0x3e,0x81]
54
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
54
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
55
55
// CHECK-UNKNOWN: 813e01c9 <unknown>
56
56
57
57
// Multiple and single vectors
58
58
59
59
bfmop4a za0.h, {z0.h-z1.h}, z16.h // 10000001-00100000-00000010-00001000
60
60
// CHECK-INST: bfmop4a za0.h, { z0.h, z1.h }, z16.h
61
61
// CHECK-ENCODING: [0x08,0x02,0x20,0x81]
62
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
62
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
63
63
// CHECK-UNKNOWN: 81200208 <unknown>
64
64
65
65
bfmop4a za1.h, {z12.h-z13.h}, z24.h // 10000001-00101000-00000011-10001001
66
66
// CHECK-INST: bfmop4a za1.h, { z12.h, z13.h }, z24.h
67
67
// CHECK-ENCODING: [0x89,0x03,0x28,0x81]
68
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
68
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
69
69
// CHECK-UNKNOWN: 81280389 <unknown>
70
70
71
71
bfmop4a za1.h, {z14.h-z15.h}, z30.h // 10000001-00101110-00000011-11001001
72
72
// CHECK-INST: bfmop4a za1.h, { z14.h, z15.h }, z30.h
73
73
// CHECK-ENCODING: [0xc9,0x03,0x2e,0x81]
74
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
74
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
75
75
// CHECK-UNKNOWN: 812e03c9 <unknown>
76
76
77
77
// Multiple vectors
78
78
79
79
bfmop4a za0.h, {z0.h-z1.h}, {z16.h-z17.h} // 10000001-00110000-00000010-00001000
80
80
// CHECK-INST: bfmop4a za0.h, { z0.h, z1.h }, { z16.h, z17.h }
81
81
// CHECK-ENCODING: [0x08,0x02,0x30,0x81]
82
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
82
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
83
83
// CHECK-UNKNOWN: 81300208 <unknown>
84
84
85
85
bfmop4a za1.h, {z12.h-z13.h}, {z24.h-z25.h} // 10000001-00111000-00000011-10001001
86
86
// CHECK-INST: bfmop4a za1.h, { z12.h, z13.h }, { z24.h, z25.h }
87
87
// CHECK-ENCODING: [0x89,0x03,0x38,0x81]
88
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
88
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
89
89
// CHECK-UNKNOWN: 81380389 <unknown>
90
90
91
91
bfmop4a za1.h, {z14.h-z15.h}, {z30.h-z31.h} // 10000001-00111110-00000011-11001001
92
92
// CHECK-INST: bfmop4a za1.h, { z14.h, z15.h }, { z30.h, z31.h }
93
93
// CHECK-ENCODING: [0xc9,0x03,0x3e,0x81]
94
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
94
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
95
95
// CHECK-UNKNOWN: 813e03c9 <unknown>
96
96
97
97
@@ -102,77 +102,77 @@ bfmop4a za1.h, {z14.h-z15.h}, {z30.h-z31.h} // 10000001-00111110-00000011-11001
102
102
bfmop4s za0.h, z0.h, z16.h // 10000001-00100000-00000000-00011000
103
103
// CHECK-INST: bfmop4s za0.h, z0.h, z16.h
104
104
// CHECK-ENCODING: [0x18,0x00,0x20,0x81]
105
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
105
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
106
106
// CHECK-UNKNOWN: 81200018 <unknown>
107
107
108
108
bfmop4s za1.h, z12.h, z24.h // 10000001-00101000-00000001-10011001
109
109
// CHECK-INST: bfmop4s za1.h, z12.h, z24.h
110
110
// CHECK-ENCODING: [0x99,0x01,0x28,0x81]
111
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
111
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
112
112
// CHECK-UNKNOWN: 81280199 <unknown>
113
113
114
114
bfmop4s za1.h, z14.h, z30.h // 10000001-00101110-00000001-11011001
115
115
// CHECK-INST: bfmop4s za1.h, z14.h, z30.h
116
116
// CHECK-ENCODING: [0xd9,0x01,0x2e,0x81]
117
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
117
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
118
118
// CHECK-UNKNOWN: 812e01d9 <unknown>
119
119
120
120
// Single and multiple vectors
121
121
122
122
bfmop4s za0.h, z0.h, {z16.h-z17.h} // 10000001-00110000-00000000-00011000
123
123
// CHECK-INST: bfmop4s za0.h, z0.h, { z16.h, z17.h }
124
124
// CHECK-ENCODING: [0x18,0x00,0x30,0x81]
125
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
125
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
126
126
// CHECK-UNKNOWN: 81300018 <unknown>
127
127
128
128
bfmop4s za1.h, z12.h, {z24.h-z25.h} // 10000001-00111000-00000001-10011001
129
129
// CHECK-INST: bfmop4s za1.h, z12.h, { z24.h, z25.h }
130
130
// CHECK-ENCODING: [0x99,0x01,0x38,0x81]
131
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
131
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
132
132
// CHECK-UNKNOWN: 81380199 <unknown>
133
133
134
134
bfmop4s za1.h, z14.h, {z30.h-z31.h} // 10000001-00111110-00000001-11011001
135
135
// CHECK-INST: bfmop4s za1.h, z14.h, { z30.h, z31.h }
136
136
// CHECK-ENCODING: [0xd9,0x01,0x3e,0x81]
137
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
137
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
138
138
// CHECK-UNKNOWN: 813e01d9 <unknown>
139
139
140
140
// Multiple and single vectors
141
141
142
142
bfmop4s za0.h, {z0.h-z1.h}, z16.h // 10000001-00100000-00000010-00011000
143
143
// CHECK-INST: bfmop4s za0.h, { z0.h, z1.h }, z16.h
144
144
// CHECK-ENCODING: [0x18,0x02,0x20,0x81]
145
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
145
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
146
146
// CHECK-UNKNOWN: 81200218 <unknown>
147
147
148
148
bfmop4s za1.h, {z12.h-z13.h}, z24.h // 10000001-00101000-00000011-10011001
149
149
// CHECK-INST: bfmop4s za1.h, { z12.h, z13.h }, z24.h
150
150
// CHECK-ENCODING: [0x99,0x03,0x28,0x81]
151
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
151
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
152
152
// CHECK-UNKNOWN: 81280399 <unknown>
153
153
154
154
bfmop4s za1.h, {z14.h-z15.h}, z30.h // 10000001-00101110-00000011-11011001
155
155
// CHECK-INST: bfmop4s za1.h, { z14.h, z15.h }, z30.h
156
156
// CHECK-ENCODING: [0xd9,0x03,0x2e,0x81]
157
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
157
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
158
158
// CHECK-UNKNOWN: 812e03d9 <unknown>
159
159
160
160
// Multiple vectors
161
161
162
162
bfmop4s za0.h, {z0.h-z1.h}, {z16.h-z17.h} // 10000001-00110000-00000010-00011000
163
163
// CHECK-INST: bfmop4s za0.h, { z0.h, z1.h }, { z16.h, z17.h }
164
164
// CHECK-ENCODING: [0x18,0x02,0x30,0x81]
165
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
165
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
166
166
// CHECK-UNKNOWN: 81300218 <unknown>
167
167
168
168
bfmop4s za1.h, {z12.h-z13.h}, {z24.h-z25.h} // 10000001-00111000-00000011-10011001
169
169
// CHECK-INST: bfmop4s za1.h, { z12.h, z13.h }, { z24.h, z25.h }
170
170
// CHECK-ENCODING: [0x99,0x03,0x38,0x81]
171
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
171
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
172
172
// CHECK-UNKNOWN: 81380399 <unknown>
173
173
174
174
bfmop4s za1.h, {z14.h-z15.h}, {z30.h-z31.h} // 10000001-00111110-00000011-11011001
175
175
// CHECK-INST: bfmop4s za1.h, { z14.h, z15.h }, { z30.h, z31.h }
176
176
// CHECK-ENCODING: [0xd9,0x03,0x3e,0x81]
177
- // CHECK-ERROR: instruction requires: sme2p2 sme-b16b16
177
+ // CHECK-ERROR: instruction requires: sme-b16b16 sme-mop4
178
178
// CHECK-UNKNOWN: 813e03d9 <unknown>
0 commit comments