xref: /llvm-project/llvm/test/MC/Disassembler/ARM/mve-vcmp.txt (revision 7d76f8acf00b30d2f8414aa1241e4fec18628f1f)
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: vcmp.f16 eq, q0, q4  @ encoding: [0x31,0xfe,0x08,0x0f]
6# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
7[0x31,0xfe,0x08,0x0f]
8
9# CHECK: vcmp.f16 ne, q2, q7  @ encoding: [0x35,0xfe,0x8e,0x0f]
10# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
11[0x35,0xfe,0x8e,0x0f]
12
13# CHECK: vcmp.f16 ge, q0, q0  @ encoding: [0x31,0xfe,0x00,0x1f]
14# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
15[0x31,0xfe,0x00,0x1f]
16
17# CHECK: vcmp.f16 lt, q0, q1  @ encoding: [0x31,0xfe,0x82,0x1f]
18# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
19[0x31,0xfe,0x82,0x1f]
20
21# CHECK: vcmp.f16 gt, q1, q4  @ encoding: [0x33,0xfe,0x09,0x1f]
22# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
23[0x33,0xfe,0x09,0x1f]
24
25# CHECK: vcmp.f16 le, q2, q6  @ encoding: [0x35,0xfe,0x8d,0x1f]
26# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
27[0x35,0xfe,0x8d,0x1f]
28
29# CHECK: vcmp.f32 eq, q2, q5  @ encoding: [0x35,0xee,0x0a,0x0f]
30# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
31[0x35,0xee,0x0a,0x0f]
32
33# CHECK: vcmp.f32 ne, q3, q4  @ encoding: [0x37,0xee,0x88,0x0f]
34# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
35[0x37,0xee,0x88,0x0f]
36
37# CHECK: vcmp.f32 ge, q0, q7  @ encoding: [0x31,0xee,0x0e,0x1f]
38# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
39[0x31,0xee,0x0e,0x1f]
40
41# CHECK: vcmp.f32 lt, q5, q2  @ encoding: [0x3b,0xee,0x84,0x1f]
42# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
43[0x3b,0xee,0x84,0x1f]
44
45# CHECK: vcmp.f32 gt, q2, q7  @ encoding: [0x35,0xee,0x0f,0x1f]
46# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
47[0x35,0xee,0x0f,0x1f]
48
49# CHECK: vcmp.f32 le, q2, q4  @ encoding: [0x35,0xee,0x89,0x1f]
50# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
51[0x35,0xee,0x89,0x1f]
52
53# CHECK: vcmp.i8 eq, q4, q6  @ encoding: [0x09,0xfe,0x0c,0x0f]
54# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
55[0x09,0xfe,0x0c,0x0f]
56
57# CHECK: vcmp.i8 ne, q2, q2  @ encoding: [0x05,0xfe,0x84,0x0f]
58# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
59[0x05,0xfe,0x84,0x0f]
60
61# CHECK: vcmp.s8 ge, q0, q0  @ encoding: [0x01,0xfe,0x00,0x1f]
62# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
63[0x01,0xfe,0x00,0x1f]
64
65# CHECK: vcmp.s8 lt, q2, q7  @ encoding: [0x05,0xfe,0x8e,0x1f]
66# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
67[0x05,0xfe,0x8e,0x1f]
68
69# CHECK: vcmp.s8 gt, q4, q3  @ encoding: [0x09,0xfe,0x07,0x1f]
70# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
71[0x09,0xfe,0x07,0x1f]
72
73# CHECK: vcmp.s8 le, q7, q3  @ encoding: [0x0f,0xfe,0x87,0x1f]
74# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
75[0x0f,0xfe,0x87,0x1f]
76
77# CHECK: vcmp.u8 hi, q1, q4  @ encoding: [0x03,0xfe,0x89,0x0f]
78# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
79[0x03,0xfe,0x89,0x0f]
80
81# CHECK: vcmp.u8 cs, q1, q4  @ encoding: [0x03,0xfe,0x09,0x0f]
82# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
83[0x03,0xfe,0x09,0x0f]
84
85# CHECK: vcmp.i16 eq, q4, q7  @ encoding: [0x19,0xfe,0x0e,0x0f]
86# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
87[0x19,0xfe,0x0e,0x0f]
88
89# CHECK: vcmp.i16 ne, q2, q1  @ encoding: [0x15,0xfe,0x82,0x0f]
90# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
91[0x15,0xfe,0x82,0x0f]
92
93# CHECK: vcmp.s16 ge, q1, q7  @ encoding: [0x13,0xfe,0x0e,0x1f]
94# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
95[0x13,0xfe,0x0e,0x1f]
96
97# CHECK: vcmp.s16 lt, q0, q1  @ encoding: [0x11,0xfe,0x82,0x1f]
98# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
99[0x11,0xfe,0x82,0x1f]
100
101# CHECK: vcmp.s16 gt, q1, q7  @ encoding: [0x13,0xfe,0x0f,0x1f]
102# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
103[0x13,0xfe,0x0f,0x1f]
104
105# CHECK: vcmp.s16 le, q2, q1  @ encoding: [0x15,0xfe,0x83,0x1f]
106# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
107[0x15,0xfe,0x83,0x1f]
108
109# CHECK: vcmp.u16 hi, q1, q4  @ encoding: [0x13,0xfe,0x89,0x0f]
110# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
111[0x13,0xfe,0x89,0x0f]
112
113# CHECK: vcmp.u16 cs, q1, q4  @ encoding: [0x13,0xfe,0x09,0x0f]
114# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
115[0x13,0xfe,0x09,0x0f]
116
117# CHECK: vcmp.i32 eq, q2, q7  @ encoding: [0x25,0xfe,0x0e,0x0f]
118# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
119[0x25,0xfe,0x0e,0x0f]
120
121# CHECK: vcmp.i32 ne, q2, q4  @ encoding: [0x25,0xfe,0x88,0x0f]
122# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
123[0x25,0xfe,0x88,0x0f]
124
125# CHECK: vcmp.s32 ge, q5, q5  @ encoding: [0x2b,0xfe,0x0a,0x1f]
126# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
127[0x2b,0xfe,0x0a,0x1f]
128
129# CHECK: vcmp.s32 lt, q2, q2  @ encoding: [0x25,0xfe,0x84,0x1f]
130# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
131[0x25,0xfe,0x84,0x1f]
132
133# CHECK: vcmp.s32 gt, q0, q1  @ encoding: [0x21,0xfe,0x03,0x1f]
134# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
135[0x21,0xfe,0x03,0x1f]
136
137# CHECK: vcmp.s32 le, q5, q4  @ encoding: [0x2b,0xfe,0x89,0x1f]
138# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
139[0x2b,0xfe,0x89,0x1f]
140
141# CHECK: vcmp.u32 hi, q1, q4  @ encoding: [0x23,0xfe,0x89,0x0f]
142# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
143[0x23,0xfe,0x89,0x0f]
144
145# CHECK: vcmp.u32 cs, q1, q4  @ encoding: [0x23,0xfe,0x09,0x0f]
146# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
147[0x23,0xfe,0x09,0x0f]
148
149# CHECK: vcmp.f16 gt, q4, zr  @ encoding: [0x39,0xfe,0x6f,0x1f]
150# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
151[0x39,0xfe,0x6f,0x1f]
152
153# CHECK: vcmp.f16 eq, q4, r12  @ encoding: [0x39,0xfe,0x4c,0x0f]
154# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
155[0x39,0xfe,0x4c,0x0f]
156
157# CHECK: vcmp.f32 ne, q3, r0  @ encoding: [0x37,0xee,0xc0,0x0f]
158# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
159[0x37,0xee,0xc0,0x0f]
160
161# CHECK: vcmp.i8 eq, q1, r0  @ encoding: [0x03,0xfe,0x40,0x0f]
162# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
163[0x03,0xfe,0x40,0x0f]
164
165# CHECK: vcmp.s8 le, q1, r0  @ encoding: [0x03,0xfe,0xe0,0x1f]
166# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
167[0x03,0xfe,0xe0,0x1f]
168
169# CHECK: vcmp.u8 cs, q1, r0  @ encoding: [0x03,0xfe,0x60,0x0f]
170# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
171[0x03,0xfe,0x60,0x0f]
172
173# CHECK: vcmp.i16 eq, q5, r10  @ encoding: [0x1b,0xfe,0x4a,0x0f]
174# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
175[0x1b,0xfe,0x4a,0x0f]
176
177# CHECK: vcmp.i32 eq, q1, r4  @ encoding: [0x23,0xfe,0x44,0x0f]
178# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
179[0x23,0xfe,0x44,0x0f]
180