mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
1adac220b3
Added support for sendmsg(MSG[, OP[, STREAM_ID]]) syntax in s_sendmsg and s_sendmsghalt instructions. The syntax matches the SP3 assembler/disassembler rules. That is why implicit inputs (like M0 and EXEC) are not printed to disassembly output anymore. sendmsg(...) allows only known message types and attributes, even if literals are used instead of symbolic names. However, raw literal (without "sendmsg") still can be used, and that allows for any 16-bit value. Tests updated/added. Differential Revision: http://reviews.llvm.org/D19596 llvm-svn: 268762
128 lines
3.6 KiB
Plaintext
128 lines
3.6 KiB
Plaintext
# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=GCN
|
|
|
|
# GCN: s_nop 0 ; encoding: [0x00,0x00,0x80,0xbf]
|
|
0x00 0x00 0x80 0xbf
|
|
|
|
# GCN: s_nop 0xffff ; encoding: [0xff,0xff,0x80,0xbf]
|
|
0xff 0xff 0x80 0xbf
|
|
|
|
# GCN: s_nop 1 ; encoding: [0x01,0x00,0x80,0xbf]
|
|
0x01 0x00 0x80 0xbf
|
|
|
|
# GCN: s_endpgm ; encoding: [0x00,0x00,0x81,0xbf]
|
|
0x00 0x00 0x81 0xbf
|
|
|
|
# GCN: s_branch 2 ; encoding: [0x02,0x00,0x82,0xbf]
|
|
0x02 0x00 0x82 0xbf
|
|
|
|
# GCN: s_cbranch_scc0 3 ; encoding: [0x03,0x00,0x84,0xbf]
|
|
0x03 0x00 0x84 0xbf
|
|
|
|
# GCN: s_cbranch_scc1 4 ; encoding: [0x04,0x00,0x85,0xbf]
|
|
0x04 0x00 0x85 0xbf
|
|
|
|
# GCN: s_cbranch_vccz 5 ; encoding: [0x05,0x00,0x86,0xbf]
|
|
0x05 0x00 0x86 0xbf
|
|
|
|
# GCN: s_cbranch_vccnz 6 ; encoding: [0x06,0x00,0x87,0xbf]
|
|
0x06 0x00 0x87 0xbf
|
|
|
|
# GCN: s_cbranch_execz 7 ; encoding: [0x07,0x00,0x88,0xbf]
|
|
0x07 0x00 0x88 0xbf
|
|
|
|
# GCN: s_cbranch_execnz 8 ; encoding: [0x08,0x00,0x89,0xbf]
|
|
0x08 0x00 0x89 0xbf
|
|
|
|
# GCN: s_barrier ; encoding: [0x00,0x00,0x8a,0xbf]
|
|
0x00 0x00 0x8a 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
|
|
0x00 0x00 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
|
|
0x00 0x00 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
|
|
0x00 0x00 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
|
|
0x00 0x00 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(1) ; encoding: [0x71,0x0f,0x8c,0xbf]
|
|
0x71 0x0f 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(9) ; encoding: [0x79,0x0f,0x8c,0xbf]
|
|
0x79 0x0f 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt expcnt(2) ; encoding: [0x2f,0x0f,0x8c,0xbf]
|
|
0x2f 0x0f 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt lgkmcnt(3) ; encoding: [0x7f,0x03,0x8c,0xbf]
|
|
0x7f 0x03 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt lgkmcnt(9) ; encoding: [0x7f,0x09,0x8c,0xbf]
|
|
0x7f 0x09 0x8c 0xbf
|
|
|
|
# GCN: s_waitcnt vmcnt(0) expcnt(0) ; encoding: [0x00,0x0f,0x8c,0xbf]
|
|
0x00 0x0f 0x8c 0xbf
|
|
|
|
# GCN: s_sethalt 9 ; encoding: [0x09,0x00,0x8d,0xbf]
|
|
0x09 0x00 0x8d 0xbf
|
|
|
|
# GCN: s_sleep 10 ; encoding: [0x0a,0x00,0x8e,0xbf]
|
|
0x0a 0x00 0x8e 0xbf
|
|
|
|
# GCN: s_setprio 1 ; encoding: [0x01,0x00,0x8f,0xbf]
|
|
0x01 0x00 0x8f 0xbf
|
|
|
|
# GCN: s_sendmsg 2 ; encoding: [0x02,0x00,0x90,0xbf]
|
|
0x02 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg sendmsg(MSG_INTERRUPT) ; encoding: [0x01,0x00,0x90,0xbf]
|
|
0x01 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 0) ; encoding: [0x12,0x00,0x90,0xbf]
|
|
0x12 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT, 1) ; encoding: [0x22,0x01,0x90,0xbf]
|
|
0x22 0x01 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT_CUT, 2) ; encoding: [0x32,0x02,0x90,0xbf]
|
|
0x32 0x02 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_NOP) ; encoding: [0x03,0x00,0x90,0xbf]
|
|
0x03 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg 11 ; encoding: [0x0b,0x00,0x90,0xbf]
|
|
0x0b 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_ECC_ERR_INTERRUPT) ; encoding: [0x1f,0x00,0x90,0xbf]
|
|
0x1f 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsg 111 ; encoding: [0x6f,0x00,0x90,0xbf]
|
|
0x6f 0x00 0x90 0xbf
|
|
|
|
# GCN: s_sendmsghalt sendmsg(MSG_GS_DONE, GS_OP_NOP) ; encoding: [0x03,0x00,0x91,0xbf]
|
|
0x03 0x00 0x91 0xbf
|
|
|
|
# GCN: s_sendmsghalt sendmsg(MSG_GS, GS_OP_EMIT, 1) ; encoding: [0x22,0x01,0x91,0xbf]
|
|
0x22 0x01 0x91 0xbf
|
|
|
|
# GCN: s_sendmsghalt 111 ; encoding: [0x6f,0x00,0x91,0xbf]
|
|
0x6f 0x00 0x91 0xbf
|
|
|
|
# GCN: s_trap 4 ; encoding: [0x04,0x00,0x92,0xbf]
|
|
0x04 0x00 0x92 0xbf
|
|
|
|
# GCN: s_icache_inv ; encoding: [0x00,0x00,0x93,0xbf]
|
|
0x00 0x00 0x93 0xbf
|
|
|
|
# GCN: s_incperflevel 5 ; encoding: [0x05,0x00,0x94,0xbf]
|
|
0x05 0x00 0x94 0xbf
|
|
|
|
# GCN: s_decperflevel 6 ; encoding: [0x06,0x00,0x95,0xbf]
|
|
0x06 0x00 0x95 0xbf
|
|
|
|
# GCN: s_ttracedata ; encoding: [0x00,0x00,0x96,0xbf]
|
|
0x00 0x00 0x96 0xbf
|