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
6 # CHECK: vpsel q0, q5, q2 @ encoding: [0x3b,0xfe,0x05,0x0f]
7 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
10 # CHECK: vpnot @ encoding: [0x31,0xfe,0x4d,0x0f]
11 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
14 # CHECK: wlstp.8 lr, r0, #1668 @ encoding: [0x00,0xf0,0x43,0xc3]
15 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
18 # CHECK: wlstp.16 lr, r0, #1668 @ encoding: [0x10,0xf0,0x43,0xc3]
19 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
22 # CHECK: wlstp.32 lr, r4, #2706 @ encoding: [0x24,0xf0,0x49,0xcd]
23 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
26 # CHECK: wlstp.64 lr, lr, #3026 @ encoding: [0x3e,0xf0,0xe9,0xcd]
27 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
30 # CHECK: wlstp.8 lr, r5, #3436 @ encoding: [0x05,0xf0,0xb7,0xc6]
31 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
34 # CHECK: wlstp.16 lr, r1, #1060 @ encoding: [0x11,0xf0,0x13,0xc2]
35 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
38 # CHECK: wlstp.32 lr, r7, #4036 @ encoding: [0x27,0xf0,0xe3,0xc7]
39 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
42 # CHECK: wlstp.8 lr, r1, #538 @ encoding: [0x01,0xf0,0x0d,0xc9]
43 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
46 # CHECK: wlstp.8 lr, r10, #1404 @ encoding: [0x0a,0xf0,0xbf,0xc2]
47 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
50 # CHECK: wlstp.8 lr, r10, #1408 @ encoding: [0x0a,0xf0,0xc1,0xc2]
51 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
54 # CHECK: wlstp.8 lr, r10, #2358 @ encoding: [0x0a,0xf0,0x9b,0xcc]
55 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
58 # CHECK: wlstp.8 lr, r10, #4086 @ encoding: [0x0a,0xf0,0xfb,0xcf]
59 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
62 # CHECK: wlstp.8 lr, r11, #1442 @ encoding: [0x0b,0xf0,0xd1,0xca]
63 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
66 # CHECK: wlstp.64 lr, r5, #0 @ encoding: [0x35,0xf0,0x01,0xc0]
67 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
70 # CHECK: dlstp.8 lr, r5 @ encoding: [0x05,0xf0,0x01,0xe0]
71 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
74 # CHECK: dlstp.16 lr, r5 @ encoding: [0x15,0xf0,0x01,0xe0]
75 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
78 # CHECK: dlstp.32 lr, r7 @ encoding: [0x27,0xf0,0x01,0xe0]
79 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
82 # CHECK: dlstp.64 lr, r2 @ encoding: [0x32,0xf0,0x01,0xe0]
83 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
86 # CHECK: letp lr, #-2 @ encoding: [0x1f,0xf0,0x01,0xc8]
87 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
90 # CHECK: letp lr, #-8 @ encoding: [0x1f,0xf0,0x05,0xc0]
91 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
94 # CHECK: letp lr, #-4094 @ encoding: [0x1f,0xf0,0xff,0xcf]
95 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
98 # CHECK: lctp @ encoding: [0x0f,0xf0,0x01,0xe0]
99 # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
100 [0x0f,0xf0,0x01,0xe0]
102 # ERROR: [[@LINE+1]]:2: warning: potentially undefined instruction encoding
103 [0x1f,0xf0,0x01,0xe0]
105 # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding
106 [0x4f,0xf0,0x01,0xe0]
108 # The following tests have to go last because of the NOMVE-NOT checks.
110 # CHECK: it eq @ encoding: [0x08,0xbf]
111 # CHECK-NOMVE: it eq @ encoding: [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]