summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-02-07 07:34:49 +0000
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-02-07 07:34:49 +0000
commit464d66497146423f0d5bb32caed24f28ee6afbc9 (patch)
tree4389d555c03513ec9c813d0a95ea3886a820ff62 /test
parentfabdd6632a8625915b76f8796ac55b233bd4a547 (diff)
downloadllvm-464d66497146423f0d5bb32caed24f28ee6afbc9.tar.gz
llvm-464d66497146423f0d5bb32caed24f28ee6afbc9.tar.bz2
llvm-464d66497146423f0d5bb32caed24f28ee6afbc9.tar.xz
[Sparc] Emit correct encoding for atomic instructions. Also, add support for parsing CAS instructions to test the CAS encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/Sparc/sparc-atomic-instructions.s19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/MC/Sparc/sparc-atomic-instructions.s b/test/MC/Sparc/sparc-atomic-instructions.s
new file mode 100644
index 0000000000..5c46067ea3
--- /dev/null
+++ b/test/MC/Sparc/sparc-atomic-instructions.s
@@ -0,0 +1,19 @@
+! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
+
+ ! CHECK: membar 15 ! encoding: [0x81,0x43,0xe0,0x0f]
+ membar 15
+
+ ! CHECK: stbar ! encoding: [0x81,0x43,0xc0,0x00]
+ stbar
+
+ ! CHECK: swap [%i0+%l6], %o2 ! encoding: [0xd4,0x7e,0x00,0x16]
+ swap [%i0+%l6], %o2
+
+ ! CHECK: swap [%i0+32], %o2 ! encoding: [0xd4,0x7e,0x20,0x20]
+ swap [%i0+32], %o2
+
+ ! CHECK: cas [%i0], %l6, %o2 ! encoding: [0xd5,0xe6,0x10,0x16]
+ cas [%i0], %l6, %o2
+
+ ! CHECK: casx [%i0], %l6, %o2 ! encoding: [0xd5,0xf6,0x10,0x16]
+ casx [%i0], %l6, %o2