diff options
author | Tim Northover <tnorthover@apple.com> | 2013-06-26 16:52:32 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-06-26 16:52:32 +0000 |
commit | c1a91dd97b000128189421eda6c5bb7905b1f467 (patch) | |
tree | dd1dd70c9d53514c279f692b3974b805eee764be /test/MC/ARM | |
parent | fce567aec90610e81e0b23968d8935ecf5b04505 (diff) | |
download | external_llvm-c1a91dd97b000128189421eda6c5bb7905b1f467.zip external_llvm-c1a91dd97b000128189421eda6c5bb7905b1f467.tar.gz external_llvm-c1a91dd97b000128189421eda6c5bb7905b1f467.tar.bz2 |
ARM: allow predicated barriers in Thumb mode
The barrier instructions are only "always-execute" in ARM mode, they can quite
happily sit inside an IT block in Thumb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184964 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM')
-rw-r--r-- | test/MC/ARM/diagnostics.s | 14 | ||||
-rw-r--r-- | test/MC/ARM/thumb-only-conditionals.s | 19 |
2 files changed, 33 insertions, 0 deletions
diff --git a/test/MC/ARM/diagnostics.s b/test/MC/ARM/diagnostics.s index 82d6ae3..21fda1c 100644 --- a/test/MC/ARM/diagnostics.s +++ b/test/MC/ARM/diagnostics.s @@ -379,3 +379,17 @@ nop.n @ CHECK-ERRORS: error: instruction with .n (narrow) qualifier not allowed in arm mode + + dmbeq #5 + dsble #15 + isblo #7 +@ CHECK-ERRORS: error: instruction 'dmb' is not predicable, but condition code specified +@ CHECK-ERRORS: error: instruction 'dsb' is not predicable, but condition code specified +@ CHECK-ERRORS: error: instruction 'isb' is not predicable, but condition code specified + + dmblt + dsbne + isbeq +@ CHECK-ERRORS: error: instruction 'dmb' is not predicable, but condition code specified +@ CHECK-ERRORS: error: instruction 'dsb' is not predicable, but condition code specified +@ CHECK-ERRORS: error: instruction 'isb' is not predicable, but condition code specified diff --git a/test/MC/ARM/thumb-only-conditionals.s b/test/MC/ARM/thumb-only-conditionals.s new file mode 100644 index 0000000..55b2cf4 --- /dev/null +++ b/test/MC/ARM/thumb-only-conditionals.s @@ -0,0 +1,19 @@ +@ RUN: llvm-mc -triple=thumbv7-apple-ios -o - %s | FileCheck %s + + itte eq + dmbeq #11 + dsbeq #7 + isbne #15 +@ CHECK: itte eq +@ CHECK-NEXT: dmbeq ish +@ CHECK-NEXT: dsbeq nsh +@ CHECK-NEXT: isbne sy + + itet le + dmble + dsbgt + isble +@ CHECK: itet le +@ CHECK-NEXT: dmble sy +@ CHECK-NEXT: dsbgt sy +@ CHECK-NEXT: isble sy |