mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-22 12:08:33 +00:00
f635ab8eab
Cortex-M0 supports these 32-bit instructions despite being Thumb1 only (mostly). We knew about that but not that the aliases without the default "sy" operand were also permitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194094 91177308-0d34-0410-b5e6-96231b3b80d8
65 lines
2.1 KiB
ArmAsm
65 lines
2.1 KiB
ArmAsm
@ RUN: llvm-mc -triple=thumbv7-apple-darwin -show-encoding < %s | FileCheck %s
|
|
@ RUN: llvm-mc -triple=thumbv6-apple-darwin -mcpu=cortex-m0 -show-encoding < %s | FileCheck %s
|
|
@ RUN: not llvm-mc -triple=thumbv6-apple-darwin -show-encoding < %s > %t 2> %t2
|
|
@ RUN: FileCheck %s --check-prefix=CHECK-EVIL-PRE-UAL < %t
|
|
@ RUN: FileCheck %s --check-prefix CHECK-ERROR < %t2
|
|
|
|
.syntax unified
|
|
|
|
nop
|
|
yield
|
|
wfe
|
|
wfi
|
|
sev
|
|
@ CHECK: nop @ encoding: [0x00,0xbf]
|
|
@ CHECK: yield @ encoding: [0x10,0xbf]
|
|
@ CHECK: wfe @ encoding: [0x20,0xbf]
|
|
@ CHECK: wfi @ encoding: [0x30,0xbf]
|
|
@ CHECK: sev @ encoding: [0x40,0xbf]
|
|
|
|
@ CHECK-EVIL-PRE-UAL: mov r8, r8 @ encoding: [0xc0,0x46]
|
|
|
|
dmb sy
|
|
dmb
|
|
dsb sy
|
|
dsb
|
|
isb sy
|
|
isb
|
|
@ CHECK: dmb sy @ encoding: [0xbf,0xf3,0x5f,0x8f]
|
|
@ CHECK: dmb sy @ encoding: [0xbf,0xf3,0x5f,0x8f]
|
|
@ CHECK: dsb sy @ encoding: [0xbf,0xf3,0x4f,0x8f]
|
|
@ CHECK: dsb sy @ encoding: [0xbf,0xf3,0x4f,0x8f]
|
|
@ CHECK: isb sy @ encoding: [0xbf,0xf3,0x6f,0x8f]
|
|
@ CHECK: isb sy @ encoding: [0xbf,0xf3,0x6f,0x8f]
|
|
|
|
|
|
@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
|
|
@ CHECK-ERROR-NEXT: yield
|
|
|
|
@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
|
|
@ CHECK-ERROR-NEXT: wfe
|
|
|
|
@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
|
|
@ CHECK-ERROR-NEXT: wfi
|
|
|
|
@ CHECK-ERROR: error: instruction requires: armv6m or armv6t2
|
|
@ CHECK-ERROR-NEXT: sev
|
|
|
|
@ CHECK-ERROR: error:
|
|
@ CHECK-ERROR-NEXT: dmb sy
|
|
|
|
@ CHECK-ERROR: error: instruction requires: data-barriers
|
|
@ CHECK-ERROR-NEXT: dmb
|
|
|
|
@ CHECK-ERROR: error:
|
|
@ CHECK-ERROR-NEXT: dsb sy
|
|
|
|
@ CHECK-ERROR: error: instruction requires: data-barriers
|
|
@ CHECK-ERROR-NEXT: dsb
|
|
|
|
@ CHECK-ERROR: error:
|
|
@ CHECK-ERROR-NEXT: isb sy
|
|
|
|
@ CHECK-ERROR: error: instruction requires: data-barriers
|
|
@ CHECK-ERROR-NEXT: isb
|