1@ RUN: llvm-mc -triple armv8 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ARMV8
2@ RUN: llvm-mc -triple thumbv8 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMBV8
3@ RUN: llvm-mc -triple armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ARMV7
4@ RUN: llvm-mc -triple thumbv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-THUMBV7
5@ RUN: llvm-mc -triple armv6 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ARMV6
6setend be
7@ CHECK-ARMV8: warning: deprecated
8@ CHECK-THUMBV8: warning: deprecated
9@ CHECK-ARMV7-NOT: warning: deprecated
10@ CHECK-THUMBV7-NOT: warning: deprecated
11mcr p15, #0, r5, c7, c5, #4
12@ CHECK-ARMV8: warning: deprecated since v7, use 'isb'
13@ CHECK-THUMBV8: warning: deprecated since v7, use 'isb'
14@ CHECK-ARMV7: warning: deprecated since v7, use 'isb'
15@ CHECK-THUMBV7: warning: deprecated since v7, use 'isb'
16@ CHECK-ARMV6-NOT: warning: deprecated since v7, use 'isb'
17mcr p15, #0, r5, c7, c10, #4
18@ CHECK-ARMV8: warning: deprecated since v7, use 'dsb'
19@ CHECK-THUMBV8: warning: deprecated since v7, use 'dsb'
20@ CHECK-ARMV7: warning: deprecated since v7, use 'dsb'
21@ CHECK-THUMBV7: warning: deprecated since v7, use 'dsb'
22@ CHECK-ARMV6-NOT: warning: deprecated since v7, use 'dsb'
23mcr p15, #0, r5, c7, c10, #5
24@ CHECK-ARMV8: warning: deprecated since v7, use 'dmb'
25@ CHECK-THUMBV8: warning: deprecated since v7, use 'dmb'
26@ CHECK-ARMV7: warning: deprecated since v7, use 'dmb'
27@ CHECK-THUMBV7: warning: deprecated since v7, use 'dmb'
28@ CHECK-ARMV6-NOT: warning: deprecated since v7, use 'dmb'
29it ge
30movge r0, #4096
31@ CHECK-THUMBV8: warning: deprecated instruction in IT block
32@ CHECK-THUMBV7-NOT: warning
33ite ge
34addge r0, r1
35addlt r0, r2
36@ CHECK-ARMV8: warning: applying IT instruction to more than one subsequent instruction is deprecated
37@ CHECK-THUMBV8: warning: applying IT instruction to more than one subsequent instruction is deprecated
38@ CHECK-THUMBV7-NOT: warning
39it ge
40movge r0, pc // invalid operand
41@ CHECK-THUMBV8: warning: deprecated instruction in IT block
42@ CHECK-THUMBV7-NOT: warning
43it ge
44revge r0, r0 // invalid instruction
45@ CHECK-THUMBV8: warning: deprecated instruction in IT block
46@ CHECK-THUMBV7-NOT: warning
47it ge
48clzge r0, r0 // only has 32-bit form
49@ CHECK-THUMBV8: warning: deprecated instruction in IT block
50@ CHECK-THUMBV7-NOT: warning
51
52