• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding %s | FileCheck %s
2# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -show-encoding %s &> %t
3# RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s
4
5# CHECK: vrintn.f16 q1, q0  @ encoding: [0xb6,0xff,0x40,0x24]
6# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
7[0xb6,0xff,0x40,0x24]
8
9# CHECK: vrintn.f32 q0, q4  @ encoding: [0xba,0xff,0x48,0x04]
10# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
11[0xba,0xff,0x48,0x04]
12
13# CHECK: vrinta.f16 q0, q1  @ encoding: [0xb6,0xff,0x42,0x05]
14# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
15[0xb6,0xff,0x42,0x05]
16
17# CHECK: vrinta.f32 q1, q3  @ encoding: [0xba,0xff,0x46,0x25]
18# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
19[0xba,0xff,0x46,0x25]
20
21# CHECK: vrintm.f16 q0, q5  @ encoding: [0xb6,0xff,0xca,0x06]
22# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
23[0xb6,0xff,0xca,0x06]
24
25# CHECK: vrintm.f32 q0, q4  @ encoding: [0xba,0xff,0xc8,0x06]
26# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
27[0xba,0xff,0xc8,0x06]
28
29# CHECK: vrintp.f16 q1, q0  @ encoding: [0xb6,0xff,0xc0,0x27]
30# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
31[0xb6,0xff,0xc0,0x27]
32
33# CHECK: vrintp.f32 q0, q1  @ encoding: [0xba,0xff,0xc2,0x07]
34# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
35[0xba,0xff,0xc2,0x07]
36
37# CHECK: vrintx.f16 q1, q2  @ encoding: [0xb6,0xff,0xc4,0x24]
38# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
39[0xb6,0xff,0xc4,0x24]
40
41# CHECK: vrintx.f32 q1, q1  @ encoding: [0xba,0xff,0xc2,0x24]
42# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
43[0xba,0xff,0xc2,0x24]
44
45# CHECK: vrintz.f16 q1, q6  @ encoding: [0xb6,0xff,0xcc,0x25]
46# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
47[0xb6,0xff,0xcc,0x25]
48
49# CHECK: vrintz.f32 q1, q0  @ encoding: [0xba,0xff,0xc0,0x25]
50# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
51[0xba,0xff,0xc0,0x25]
52
53# CHECK: vrintr.f32 s0, s1 @ encoding: [0xb6,0xee,0x60,0x0a]
54# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
55[0xb6,0xee,0x60,0x0a]
56
57# CHECK: vrintr.f64 d0, d1 @ encoding: [0xb6,0xee,0x41,0x0b]
58# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
59[0xb6,0xee,0x41,0x0b]
60
61# CHECK: vmul.f16 q2, q1, q3  @ encoding: [0x12,0xff,0x56,0x4d]
62# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
63[0x12,0xff,0x56,0x4d]
64
65# CHECK: vmul.f32 q0, q0, q5  @ encoding: [0x00,0xff,0x5a,0x0d]
66# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
67[0x00,0xff,0x5a,0x0d]
68
69# CHECK: vfma.f16 q0, q2, q3  @ encoding: [0x14,0xef,0x56,0x0c]
70# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
71[0x14,0xef,0x56,0x0c]
72
73# CHECK: vfma.f32 q0, q3, q7  @ encoding: [0x06,0xef,0x5e,0x0c]
74# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
75[0x06,0xef,0x5e,0x0c]
76
77# CHECK: vfms.f16 q0, q2, q5  @ encoding: [0x34,0xef,0x5a,0x0c]
78# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
79[0x34,0xef,0x5a,0x0c]
80
81# CHECK: vfms.f32 q1, q1, q2  @ encoding: [0x22,0xef,0x54,0x2c]
82# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
83[0x22,0xef,0x54,0x2c]
84
85# CHECK: vadd.f16 q0, q0, q5  @ encoding: [0x10,0xef,0x4a,0x0d]
86# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
87[0x10,0xef,0x4a,0x0d]
88
89# CHECK: vadd.f32 q1, q3, q0  @ encoding: [0x06,0xef,0x40,0x2d]
90# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
91[0x06,0xef,0x40,0x2d]
92
93# CHECK: vcadd.f16 q2, q1, q7, #90  @ encoding: [0x82,0xfc,0x4e,0x48]
94# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
95[0x82,0xfc,0x4e,0x48]
96
97# CHECK: vcadd.f16 q2, q5, q7, #270  @ encoding: [0x8a,0xfd,0x4e,0x48]
98# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
99[0x8a,0xfd,0x4e,0x48]
100
101# CHECK: vcadd.f32 q0, q4, q7, #90  @ encoding: [0x98,0xfc,0x4e,0x08]
102# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
103[0x98,0xfc,0x4e,0x08]
104
105# CHECK: vcadd.f32 q2, q2, q3, #270  @ encoding: [0x94,0xfd,0x46,0x48]
106# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
107[0x94,0xfd,0x46,0x48]
108
109# CHECK: vabd.f16 q0, q0, q6  @ encoding: [0x30,0xff,0x4c,0x0d]
110# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
111[0x30,0xff,0x4c,0x0d]
112
113# CHECK: vabd.f32 q0, q1, q4  @ encoding: [0x22,0xff,0x48,0x0d]
114# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
115[0x22,0xff,0x48,0x0d]
116
117# CHECK: vcvt.f16.s16 q0, q1  @ encoding: [0xb7,0xff,0x42,0x06]
118# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
119[0xb7,0xff,0x42,0x06]
120
121# CHECK: vcvt.f16.u16 q0, q4  @ encoding: [0xb7,0xff,0xc8,0x06]
122# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
123[0xb7,0xff,0xc8,0x06]
124
125# CHECK: vcvt.s16.f16 q0, q0  @ encoding: [0xb7,0xff,0x40,0x07]
126# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
127[0xb7,0xff,0x40,0x07]
128
129# CHECK: vcvt.u16.f16 q0, q0  @ encoding: [0xb7,0xff,0xc0,0x07]
130# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
131[0xb7,0xff,0xc0,0x07]
132
133# CHECK: vcvt.f32.s32 q0, q0  @ encoding: [0xbb,0xff,0x40,0x06]
134# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
135[0xbb,0xff,0x40,0x06]
136
137# CHECK: vcvt.f32.u32 q0, q0  @ encoding: [0xbb,0xff,0xc0,0x06]
138# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
139[0xbb,0xff,0xc0,0x06]
140
141# CHECK: vcvt.s32.f32 q0, q0  @ encoding: [0xbb,0xff,0x40,0x07]
142# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
143[0xbb,0xff,0x40,0x07]
144
145# CHECK: vcvt.u32.f32 q0, q2  @ encoding: [0xbb,0xff,0xc4,0x07]
146# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
147[0xbb,0xff,0xc4,0x07]
148
149# CHECK: vcvta.s16.f16 q0, q7  @ encoding: [0xb7,0xff,0x4e,0x00]
150# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
151[0xb7,0xff,0x4e,0x00]
152
153# CHECK: vcvtn.u32.f32 q7, q6  @ encoding: [0xbb,0xff,0xcc,0xe1]
154# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
155[0xbb,0xff,0xcc,0xe1]
156
157# CHECK: vcvtp.s32.f32 q0, q7  @ encoding: [0xbb,0xff,0x4e,0x02]
158# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
159[0xbb,0xff,0x4e,0x02]
160
161# CHECK: vcvtm.u32.f32 q1, q4  @ encoding: [0xbb,0xff,0xc8,0x23]
162# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
163[0xbb,0xff,0xc8,0x23]
164
165# CHECK: vneg.f16 q0, q7  @ encoding: [0xb5,0xff,0xce,0x07]
166# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
167[0xb5,0xff,0xce,0x07]
168
169# CHECK: vneg.f32 q0, q2  @ encoding: [0xb9,0xff,0xc4,0x07]
170# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
171[0xb9,0xff,0xc4,0x07]
172
173# CHECK: vabs.f16 q0, q2  @ encoding: [0xb5,0xff,0x44,0x07]
174# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
175[0xb5,0xff,0x44,0x07]
176
177# CHECK: vabs.f32 q0, q0  @ encoding: [0xb9,0xff,0x40,0x07]
178# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
179[0xb9,0xff,0x40,0x07]
180
181# CHECK: vmaxnma.f16 q1, q1  @ encoding: [0x3f,0xfe,0x83,0x2e]
182# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
183[0x3f,0xfe,0x83,0x2e]
184
185# CHECK: vmaxnma.f32 q2, q6  @ encoding: [0x3f,0xee,0x8d,0x4e]
186# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
187[0x3f,0xee,0x8d,0x4e]
188
189# CHECK: vminnma.f16 q0, q2  @ encoding: [0x3f,0xfe,0x85,0x1e]
190# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
191[0x3f,0xfe,0x85,0x1e]
192
193# CHECK: vminnma.f32 q0, q1  @ encoding: [0x3f,0xee,0x83,0x1e]
194# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
195[0x3f,0xee,0x83,0x1e]
196