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