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