• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding %s 2> %t | FileCheck %s
2# RUN: FileCheck --check-prefix=ERROR < %t %s
3# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -show-encoding %s &> %t
4# RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s
5
6# CHECK: vpsel   q0, q5, q2  @ encoding: [0x3b,0xfe,0x05,0x0f]
7# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
8[0x3b,0xfe,0x05,0x0f]
9
10# CHECK: vpnot  @ encoding: [0x31,0xfe,0x4d,0x0f]
11# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
12[0x31,0xfe,0x4d,0x0f]
13
14# CHECK: wlstp.8     lr, r0, #1668  @ encoding: [0x00,0xf0,0x43,0xc3]
15# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
16[0x00,0xf0,0x43,0xc3]
17
18# CHECK: wlstp.16     lr, r0, #1668  @ encoding: [0x10,0xf0,0x43,0xc3]
19# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
20[0x10,0xf0,0x43,0xc3]
21
22# CHECK: wlstp.32     lr, r4, #2706  @ encoding: [0x24,0xf0,0x49,0xcd]
23# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
24[0x24,0xf0,0x49,0xcd]
25
26# CHECK: wlstp.64     lr, lr, #3026  @ encoding: [0x3e,0xf0,0xe9,0xcd]
27# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
28[0x3e,0xf0,0xe9,0xcd]
29
30# CHECK: wlstp.8     lr, r5, #3436  @ encoding: [0x05,0xf0,0xb7,0xc6]
31# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
32[0x05,0xf0,0xb7,0xc6]
33
34# CHECK: wlstp.16     lr, r1, #1060  @ encoding: [0x11,0xf0,0x13,0xc2]
35# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
36[0x11,0xf0,0x13,0xc2]
37
38# CHECK: wlstp.32     lr, r7, #4036  @ encoding: [0x27,0xf0,0xe3,0xc7]
39# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
40[0x27,0xf0,0xe3,0xc7]
41
42# CHECK: wlstp.8     lr, r1, #538  @ encoding: [0x01,0xf0,0x0d,0xc9]
43# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
44[0x01,0xf0,0x0d,0xc9]
45
46# CHECK: wlstp.8     lr, r10, #1404  @ encoding: [0x0a,0xf0,0xbf,0xc2]
47# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
48[0x0a,0xf0,0xbf,0xc2]
49
50# CHECK: wlstp.8     lr, r10, #1408  @ encoding: [0x0a,0xf0,0xc1,0xc2]
51# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
52[0x0a,0xf0,0xc1,0xc2]
53
54# CHECK: wlstp.8     lr, r10, #2358  @ encoding: [0x0a,0xf0,0x9b,0xcc]
55# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
56[0x0a,0xf0,0x9b,0xcc]
57
58# CHECK: wlstp.8     lr, r10, #4086  @ encoding: [0x0a,0xf0,0xfb,0xcf]
59# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
60[0x0a,0xf0,0xfb,0xcf]
61
62# CHECK: wlstp.8     lr, r11, #1442  @ encoding: [0x0b,0xf0,0xd1,0xca]
63# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
64[0x0b,0xf0,0xd1,0xca]
65
66# CHECK: wlstp.64    lr, r5, #0      @ encoding: [0x35,0xf0,0x01,0xc0]
67# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
68[0x35,0xf0,0x01,0xc0]
69
70# CHECK: dlstp.8     lr, r5  @ encoding: [0x05,0xf0,0x01,0xe0]
71# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
72[0x05,0xf0,0x01,0xe0]
73
74# CHECK: dlstp.16     lr, r5  @ encoding: [0x15,0xf0,0x01,0xe0]
75# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
76[0x15,0xf0,0x01,0xe0]
77
78# CHECK: dlstp.32     lr, r7  @ encoding: [0x27,0xf0,0x01,0xe0]
79# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
80[0x27,0xf0,0x01,0xe0]
81
82# CHECK: dlstp.64     lr, r2  @ encoding: [0x32,0xf0,0x01,0xe0]
83# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
84[0x32,0xf0,0x01,0xe0]
85
86# CHECK: letp lr, #-2 @ encoding: [0x1f,0xf0,0x01,0xc8]
87# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
88[0x1f,0xf0,0x01,0xc8]
89
90# CHECK: letp lr, #-8 @ encoding: [0x1f,0xf0,0x05,0xc0]
91# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
92[0x1f,0xf0,0x05,0xc0]
93
94# CHECK: letp lr, #-4094 @ encoding: [0x1f,0xf0,0xff,0xcf]
95# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
96[0x1f,0xf0,0xff,0xcf]
97
98# CHECK: lctp @ encoding: [0x0f,0xf0,0x01,0xe0]
99# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
100[0x0f,0xf0,0x01,0xe0]
101
102# ERROR: [[@LINE+1]]:2: warning: potentially undefined instruction encoding
103[0x1f,0xf0,0x01,0xe0]
104
105# ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding
106[0x4f,0xf0,0x01,0xe0]
107
108# The following tests have to go last because of the NOMVE-NOT checks.
109
110# CHECK: it eq @ encoding: [0x08,0xbf]
111# CHECK-NOMVE: it eq @ encoding: [0x08,0xbf]
112[0x08,0xbf]
113# CHECK: lctpeq @ encoding: [0x0f,0xf0,0x01,0xe0]
114# CHECK-NOMVE-NOT: lctpeq @ encoding: [0x0f,0xf0,0x01,0xe0]
115[0x0f,0xf0,0x01,0xe0]
116