[ARM] Add support for ARMV6K subtarget (LLVM)
[oota-llvm.git] / test / MC / ARM / deprecated-v8.s
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
6 setend be
7 @ CHECK-ARMV8: warning: deprecated
8 @ CHECK-THUMBV8: warning: deprecated
9 @ CHECK-ARMV7-NOT: warning: deprecated
10 @ CHECK-THUMBV7-NOT: warning: deprecated
11 mcr 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'
17 mcr 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'
23 mcr 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'
29 it ge
30 movge r0, #4096
31 @ CHECK-THUMBV8: warning: deprecated instruction in IT block
32 @ CHECK-THUMBV7-NOT: warning
33 ite ge
34 addge r0, r1
35 addlt 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
39 it ge
40 movge r0, pc // invalid operand
41 @ CHECK-THUMBV8: warning: deprecated instruction in IT block
42 @ CHECK-THUMBV7-NOT: warning
43 it ge
44 revge r0, r0 // invalid instruction
45 @ CHECK-THUMBV8: warning: deprecated instruction in IT block
46 @ CHECK-THUMBV7-NOT: warning
47 it ge
48 clzge r0, r0 // only has 32-bit form
49 @ CHECK-THUMBV8: warning: deprecated instruction in IT block
50 @ CHECK-THUMBV7-NOT: warning
51