xref: /aosp_15_r20/external/llvm/test/MC/ARM/thumb-hints.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=thumbv7-apple-darwin -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=thumbv6-apple-darwin -mcpu=cortex-m0 -show-encoding < %s | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc -triple=thumbv6-apple-darwin -show-encoding < %s > %t 2> %t2
4*9880d681SAndroid Build Coastguard Worker@ RUN: FileCheck %s --check-prefix=CHECK-EVIL-PRE-UAL < %t
5*9880d681SAndroid Build Coastguard Worker@ RUN: FileCheck %s --check-prefix CHECK-ERROR < %t2
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker  .syntax unified
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker        nop
10*9880d681SAndroid Build Coastguard Worker        yield
11*9880d681SAndroid Build Coastguard Worker        wfe
12*9880d681SAndroid Build Coastguard Worker        wfi
13*9880d681SAndroid Build Coastguard Worker        sev
14*9880d681SAndroid Build Coastguard Worker@ CHECK: nop                            @ encoding: [0x00,0xbf]
15*9880d681SAndroid Build Coastguard Worker@ CHECK: yield                          @ encoding: [0x10,0xbf]
16*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe                            @ encoding: [0x20,0xbf]
17*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi                            @ encoding: [0x30,0xbf]
18*9880d681SAndroid Build Coastguard Worker@ CHECK: sev                            @ encoding: [0x40,0xbf]
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker@ CHECK-EVIL-PRE-UAL: mov r8, r8                     @ encoding: [0xc0,0x46]
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker        dmb sy
23*9880d681SAndroid Build Coastguard Worker        dmb
24*9880d681SAndroid Build Coastguard Worker        dsb sy
25*9880d681SAndroid Build Coastguard Worker        dsb
26*9880d681SAndroid Build Coastguard Worker        isb sy
27*9880d681SAndroid Build Coastguard Worker        isb
28*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]
29*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]
30*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]
31*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]
32*9880d681SAndroid Build Coastguard Worker@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]
33*9880d681SAndroid Build Coastguard Worker@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
37*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: yield
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
40*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: wfe
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
43*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: wfi
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
46*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: sev
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error:
49*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: dmb sy
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: data-barriers
52*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: dmb
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error:
55*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: dsb sy
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: data-barriers
58*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: dsb
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error:
61*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: isb sy
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR: error: instruction requires: data-barriers
64*9880d681SAndroid Build Coastguard Worker@ CHECK-ERROR-NEXT: isb
65