1 # RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI
3 # VI: s_mov_b32 s1, s2 ; encoding: [0x02,0x00,0x81,0xbe]
6 # VI: s_mov_b32 s1, 1 ; encoding: [0x81,0x00,0x81,0xbe]
9 # VI: s_mov_b32 s1, 0x64 ; encoding: [0xff,0x00,0x81,0xbe,0x64,0x00,0x00,0x00]
10 0xff 0x00 0x81 0xbe 0x64 0x00 0x00 0x00
12 # VI: s_mov_b32 s1, 0x80000000 ; encoding: [0xff,0x00,0x81,0xbe,0x00,0x00,0x00,0x80]
13 0xff 0x00 0x81 0xbe 0x00 0x00 0x00 0x80
15 # VI: s_mov_b32 s0, 0xfe5163ab ; encoding: [0xff,0x00,0x80,0xbe,0xab,0x63,0x51,0xfe]
16 0xff 0x00 0x80 0xbe 0xab 0x63 0x51 0xfe
18 # VI: s_mov_b32 xnack_mask_lo, -1 ; encoding: [0xc1,0x00,0xe8,0xbe]
21 # VI: s_mov_b32 xnack_mask_hi, -1 ; encoding: [0xc1,0x00,0xe9,0xbe]
24 # VI: s_mov_b64 s[2:3], s[4:5] ; encoding: [0x04,0x01,0x82,0xbe]
27 # VI: s_mov_b64 s[2:3], -1 ; encoding: [0xc1,0x01,0x82,0xbe]
30 # VI: s_mov_b64 xnack_mask, -1 ; encoding: [0xc1,0x01,0xe8,0xbe]
33 # VI: s_mov_b64 s[2:3], 0xffffffff ; encoding: [0xff,0x01,0x82,0xbe,0xff,0xff,0xff,0xff]
34 0xff 0x01 0x82 0xbe 0xff 0xff 0xff 0xff
36 # VI: s_mov_b64 s[0:1], 0x80000000 ; encoding: [0xff,0x01,0x80,0xbe,0x00,0x00,0x00,0x80]
37 0xff 0x01 0x80 0xbe 0x00 0x00 0x00 0x80
39 # VI: s_cmov_b32 s1, 0xc8 ; encoding: [0xff,0x02,0x81,0xbe,0xc8,0x00,0x00,0x00]
40 0xff 0x02 0x81 0xbe 0xc8 0x00 0x00 0x00
42 # VI: s_cmov_b32 s1, 1.0 ; encoding: [0xf2,0x02,0x81,0xbe]
45 # VI: s_cmov_b32 s1, s2 ; encoding: [0x02,0x02,0x81,0xbe]
48 # VI: s_cmov_b64 s[2:3], s[4:5] ; encoding: [0x04,0x03,0x82,0xbe]
51 # VI: s_not_b32 s1, s2 ; encoding: [0x02,0x04,0x81,0xbe]
54 # VI: s_not_b64 s[2:3], s[4:5] ; encoding: [0x04,0x05,0x82,0xbe]
57 # VI: s_wqm_b32 s1, s2 ; encoding: [0x02,0x06,0x81,0xbe]
60 # VI: s_wqm_b64 s[2:3], s[4:5] ; encoding: [0x04,0x07,0x82,0xbe]
63 # VI: s_brev_b32 s1, s2 ; encoding: [0x02,0x08,0x81,0xbe]
66 # VI: s_brev_b64 s[2:3], s[4:5] ; encoding: [0x04,0x09,0x82,0xbe]
69 # VI: s_bcnt0_i32_b32 s1, s2 ; encoding: [0x02,0x0a,0x81,0xbe]
72 # VI: s_bcnt0_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0b,0x81,0xbe]
75 # VI: s_bcnt1_i32_b32 s1, s2 ; encoding: [0x02,0x0c,0x81,0xbe]
78 # VI: s_bcnt1_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0d,0x81,0xbe]
81 # VI: s_ff0_i32_b32 s1, s2 ; encoding: [0x02,0x0e,0x81,0xbe]
84 # VI: s_ff0_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0f,0x81,0xbe]
87 # VI: s_ff1_i32_b32 s1, s2 ; encoding: [0x02,0x10,0x81,0xbe]
90 # VI: s_ff1_i32_b64 s1, s[2:3] ; encoding: [0x02,0x11,0x81,0xbe]
93 # VI: s_flbit_i32_b32 s1, s2 ; encoding: [0x02,0x12,0x81,0xbe]
96 # VI: s_flbit_i32_b64 s1, s[2:3] ; encoding: [0x02,0x13,0x81,0xbe]
99 # VI: s_flbit_i32 s1, s2 ; encoding: [0x02,0x14,0x81,0xbe]
102 # VI: s_flbit_i32_i64 s1, s[2:3] ; encoding: [0x02,0x15,0x81,0xbe]
105 # VI: s_sext_i32_i8 s1, s2 ; encoding: [0x02,0x16,0x81,0xbe]
108 # VI: s_sext_i32_i16 s1, s2 ; encoding: [0x02,0x17,0x81,0xbe]
111 # VI: s_bitset0_b32 s1, s2 ; encoding: [0x02,0x18,0x81,0xbe]
114 # VI: s_bitset0_b64 s[2:3], s4 ; encoding: [0x04,0x19,0x82,0xbe]
117 # VI: s_bitset1_b32 s1, s2 ; encoding: [0x02,0x1a,0x81,0xbe]
120 # VI: s_bitset1_b64 s[2:3], s4 ; encoding: [0x04,0x1b,0x82,0xbe]
123 # VI: s_getpc_b64 s[2:3] ; encoding: [0x00,0x1c,0x82,0xbe]
126 # VI: s_setpc_b64 s[4:5] ; encoding: [0x04,0x1d,0x80,0xbe]
129 # VI: s_swappc_b64 s[2:3], s[4:5] ; encoding: [0x04,0x1e,0x82,0xbe]
132 # VI: s_rfe_b64 s[4:5] ; encoding: [0x04,0x1f,0x80,0xbe]
135 # VI: s_and_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x20,0x82,0xbe]
138 # VI: s_or_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x21,0x82,0xbe]
141 # VI: s_xor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x22,0x82,0xbe]
144 # VI: s_andn2_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x23,0x82,0xbe]
147 # VI: s_orn2_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x24,0x82,0xbe]
150 # VI: s_nand_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x25,0x82,0xbe]
153 # VI: s_nor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x26,0x82,0xbe]
156 # VI: s_xnor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x27,0x82,0xbe]
159 # VI: s_quadmask_b32 s1, s2 ; encoding: [0x02,0x28,0x81,0xbe]
162 # VI: s_quadmask_b64 s[2:3], s[4:5] ; encoding: [0x04,0x29,0x82,0xbe]
165 # VI: s_movrels_b32 s1, s2 ; encoding: [0x02,0x2a,0x81,0xbe]
168 # VI: s_movrels_b64 s[2:3], s[4:5] ; encoding: [0x04,0x2b,0x82,0xbe]
171 # VI: s_movreld_b32 s1, s2 ; encoding: [0x02,0x2c,0x81,0xbe]
174 # VI: s_movreld_b64 s[2:3], s[4:5] ; encoding: [0x04,0x2d,0x82,0xbe]
177 # VI: s_cbranch_join s4 ; encoding: [0x04,0x2e,0x80,0xbe]
180 # VI: s_abs_i32 s1, s2 ; encoding: [0x02,0x30,0x81,0xbe]