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