summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorDmitry Preobrazhensky <dmitry.preobrazhensky@amd.com>2017-11-27 17:14:35 +0000
committerDmitry Preobrazhensky <dmitry.preobrazhensky@amd.com>2017-11-27 17:14:35 +0000
commit16608e67d3199859bc0d077abe2519f19d183bba (patch)
tree4cd88c220f97e05649f39500fb0c187eacb699a6 /llvm/test
parent48cb3c1557b1a326be60234c3200fc14ed9d2665 (diff)
downloadbcm5719-llvm-16608e67d3199859bc0d077abe2519f19d183bba.tar.gz
bcm5719-llvm-16608e67d3199859bc0d077abe2519f19d183bba.zip
[AMDGPU][MC][DISASSEMBLER][GFX9] Corrected decoding of GLOBAL/SCRATCH opcodes
See bug 35433: https://bugs.llvm.org/show_bug.cgi?id=35433 Differential Revision: https://reviews.llvm.org/D40493 Reviewers: artem.tamazov, SamWot, arsenm llvm-svn: 319050
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/Disassembler/AMDGPU/flat_gfx9.txt85
1 files changed, 85 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/AMDGPU/flat_gfx9.txt b/llvm/test/MC/Disassembler/AMDGPU/flat_gfx9.txt
new file mode 100644
index 00000000000..fa5c095d851
--- /dev/null
+++ b/llvm/test/MC/Disassembler/AMDGPU/flat_gfx9.txt
@@ -0,0 +1,85 @@
+# RUN: llvm-mc -arch=amdgcn -mcpu=gfx901 -disassemble -show-encoding < %s | FileCheck %s
+
+# CHECK: flat_atomic_add v[0:1], v0 ; encoding: [0x00,0x00,0x08,0xdd,0x00,0x00,0x00,0x00]
+0x00,0x00,0x08,0xdd,0x00,0x00,0x00,0x00
+
+# CHECK: flat_atomic_add v[0:1], v0 offset:7 ; encoding: [0x07,0x00,0x08,0xdd,0x00,0x00,0x00,0x00]
+0x07,0x00,0x08,0xdd,0x00,0x00,0x00,0x00
+
+# CHECK: flat_atomic_add v0, v[0:1], v0 offset:4095 glc ; encoding: [0xff,0x0f,0x09,0xdd,0x00,0x00,0x00,0x00]
+0xff,0x0f,0x09,0xdd,0x00,0x00,0x00,0x00
+
+# CHECK: flat_atomic_add v[0:1], v0 offset:4095 slc ; encoding: [0xff,0x0f,0x0a,0xdd,0x00,0x00,0x00,0x00]
+0xff,0x0f,0x0a,0xdd,0x00,0x00,0x00,0x00
+
+# CHECK: flat_load_dword v0, v[0:1] ; encoding: [0x00,0x00,0x50,0xdc,0x00,0x00,0x00,0x00]
+0x00,0x00,0x50,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: flat_load_dword v0, v[0:1] offset:7 ; encoding: [0x07,0x00,0x50,0xdc,0x00,0x00,0x00,0x00]
+0x07,0x00,0x50,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: flat_load_dword v0, v[0:1] offset:4095 glc ; encoding: [0xff,0x0f,0x51,0xdc,0x00,0x00,0x00,0x00]
+0xff,0x0f,0x51,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: flat_store_byte v[0:1], v0 ; encoding: [0x00,0x00,0x60,0xdc,0x00,0x00,0x00,0x00]
+0x00,0x00,0x60,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: flat_store_byte v[0:1], v0 offset:7 ; encoding: [0x07,0x00,0x60,0xdc,0x00,0x00,0x00,0x00]
+0x07,0x00,0x60,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: flat_store_byte v[0:1], v0 offset:4095 glc ; encoding: [0xff,0x0f,0x61,0xdc,0x00,0x00,0x00,0x00]
+0xff,0x0f,0x61,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: global_atomic_add v[2:3], v4, s[0:1] ; encoding: [0x00,0x80,0x08,0xdd,0x02,0x04,0x00,0x00]
+0x00,0x80,0x08,0xdd,0x02,0x04,0x00,0x00
+
+# CHECK: global_atomic_add v[2:3], v4, s[0:1] offset:4095 ; encoding: [0xff,0x8f,0x08,0xdd,0x02,0x04,0x00,0x00]
+0xff,0x8f,0x08,0xdd,0x02,0x04,0x00,0x00
+
+# CHECK: global_atomic_add v[2:3], v4, s[0:1] offset:-4096 ; encoding: [0x00,0x90,0x08,0xdd,0x02,0x04,0x00,0x00]
+0x00,0x90,0x08,0xdd,0x02,0x04,0x00,0x00
+
+# CHECK: global_atomic_add v0, v[2:3], v4, s[0:1] offset:-1 glc ; encoding: [0xff,0x9f,0x09,0xdd,0x02,0x04,0x00,0x00]
+0xff,0x9f,0x09,0xdd,0x02,0x04,0x00,0x00
+
+# CHECK: global_load_sbyte v0, v[2:3], s[0:1] ; encoding: [0x00,0x80,0x44,0xdc,0x02,0x00,0x00,0x00]
+0x00,0x80,0x44,0xdc,0x02,0x00,0x00,0x00
+
+# CHECK: global_load_sbyte v0, v[2:3], s[0:1] offset:4095 ; encoding: [0xff,0x8f,0x44,0xdc,0x02,0x00,0x00,0x00]
+0xff,0x8f,0x44,0xdc,0x02,0x00,0x00,0x00
+
+# CHECK: global_load_sbyte v0, v[2:3], s[0:1] offset:-4096 ; encoding: [0x00,0x90,0x44,0xdc,0x02,0x00,0x00,0x00]
+0x00,0x90,0x44,0xdc,0x02,0x00,0x00,0x00
+
+# CHECK: global_store_dwordx2 v[2:3], v[4:5], s[0:1] ; encoding: [0x00,0x80,0x74,0xdc,0x02,0x04,0x00,0x00]
+0x00,0x80,0x74,0xdc,0x02,0x04,0x00,0x00
+
+# CHECK: global_store_dwordx2 v[2:3], v[4:5], s[0:1] offset:4095 ; encoding: [0xff,0x8f,0x74,0xdc,0x02,0x04,0x00,0x00]
+0xff,0x8f,0x74,0xdc,0x02,0x04,0x00,0x00
+
+# CHECK: global_store_dwordx2 v[2:3], v[4:5], s[0:1] offset:-4096 ; encoding: [0x00,0x90,0x74,0xdc,0x02,0x04,0x00,0x00]
+0x00,0x90,0x74,0xdc,0x02,0x04,0x00,0x00
+
+# CHECK: scratch_load_dword v0, v0, off offset:-1 ; encoding: [0xff,0x5f,0x50,0xdc,0x00,0x00,0x7f,0x00]
+0xff,0x5f,0x50,0xdc,0x00,0x00,0x7f,0x00
+
+# CHECK: scratch_load_dword v0, off, s0 ; encoding: [0x00,0x40,0x50,0xdc,0x00,0x00,0x00,0x00]
+0x00,0x40,0x50,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: scratch_load_dword v0, off, s0 offset:4095 ; encoding: [0xff,0x4f,0x50,0xdc,0x00,0x00,0x00,0x00]
+0xff,0x4f,0x50,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: scratch_load_dword v0, off, s0 offset:-4096 ; encoding: [0x00,0x50,0x50,0xdc,0x00,0x00,0x00,0x00]
+0x00,0x50,0x50,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: scratch_store_short v0, v0, off offset:-1 ; encoding: [0xff,0x5f,0x68,0xdc,0x00,0x00,0x7f,0x00]
+0xff,0x5f,0x68,0xdc,0x00,0x00,0x7f,0x00
+
+# CHECK: scratch_store_short off, v0, s0 ; encoding: [0x00,0x40,0x68,0xdc,0x00,0x00,0x00,0x00]
+0x00,0x40,0x68,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: scratch_store_short off, v0, s0 offset:4095 ; encoding: [0xff,0x4f,0x68,0xdc,0x00,0x00,0x00,0x00]
+0xff,0x4f,0x68,0xdc,0x00,0x00,0x00,0x00
+
+# CHECK: scratch_store_short off, v0, s0 offset:-4096 ; encoding: [0x00,0x50,0x68,0xdc,0x00,0x00,0x00,0x00]
+0x00,0x50,0x68,0xdc,0x00,0x00,0x00,0x00
OpenPOWER on IntegriCloud