1 # RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI 2 3 # VI: s_mov_b32 s1, s2 ; encoding: [0x02,0x00,0x81,0xbe] 4 0x02 0x00 0x81 0xbe 5 6 # VI: s_mov_b32 s1, 1 ; encoding: [0x81,0x00,0x81,0xbe] 7 0x81 0x00 0x81 0xbe 8 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 11 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 14 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 17 18 # VI: s_mov_b64 s[2:3], s[4:5] ; encoding: [0x04,0x01,0x82,0xbe] 19 0x04 0x01 0x82 0xbe 20 21 # FIXME: s_mov_b64 s[2:3], -1 ; encoding: [0xc1,0x01,0x82,0xbe] 22 0xc1 0x01 0x82 0xbe 23 24 # VI: s_mov_b64 s[2:3], 0xffffffff ; encoding: [0xff,0x01,0x82,0xbe,0xff,0xff,0xff,0xff] 25 0xff 0x01 0x82 0xbe 0xff 0xff 0xff 0xff 26 27 # VI: s_mov_b64 s[0:1], 0x80000000 ; encoding: [0xff,0x01,0x80,0xbe,0x00,0x00,0x00,0x80] 28 0xff 0x01 0x80 0xbe 0x00 0x00 0x00 0x80 29 30 # VI: s_cmov_b32 s1, 0xc8 ; encoding: [0xff,0x02,0x81,0xbe,0xc8,0x00,0x00,0x00] 31 0xff 0x02 0x81 0xbe 0xc8 0x00 0x00 0x00 32 33 # VI: s_cmov_b32 s1, 1.0 ; encoding: [0xf2,0x02,0x81,0xbe] 34 0xf2 0x02 0x81 0xbe 35 36 # VI: s_cmov_b32 s1, s2 ; encoding: [0x02,0x02,0x81,0xbe] 37 0x02 0x02 0x81 0xbe 38 39 # VI: s_cmov_b64 s[2:3], s[4:5] ; encoding: [0x04,0x03,0x82,0xbe] 40 0x04 0x03 0x82 0xbe 41 42 # VI: s_not_b32 s1, s2 ; encoding: [0x02,0x04,0x81,0xbe] 43 0x02 0x04 0x81 0xbe 44 45 # VI: s_not_b64 s[2:3], s[4:5] ; encoding: [0x04,0x05,0x82,0xbe] 46 0x04 0x05 0x82 0xbe 47 48 # VI: s_wqm_b32 s1, s2 ; encoding: [0x02,0x06,0x81,0xbe] 49 0x02 0x06 0x81 0xbe 50 51 # VI: s_wqm_b64 s[2:3], s[4:5] ; encoding: [0x04,0x07,0x82,0xbe] 52 0x04 0x07 0x82 0xbe 53 54 # VI: s_brev_b32 s1, s2 ; encoding: [0x02,0x08,0x81,0xbe] 55 0x02 0x08 0x81 0xbe 56 57 # VI: s_brev_b64 s[2:3], s[4:5] ; encoding: [0x04,0x09,0x82,0xbe] 58 0x04 0x09 0x82 0xbe 59 60 # VI: s_bcnt0_i32_b32 s1, s2 ; encoding: [0x02,0x0a,0x81,0xbe] 61 0x02 0x0a 0x81 0xbe 62 63 # VI: s_bcnt0_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0b,0x81,0xbe] 64 0x02 0x0b 0x81 0xbe 65 66 # VI: s_bcnt1_i32_b32 s1, s2 ; encoding: [0x02,0x0c,0x81,0xbe] 67 0x02 0x0c 0x81 0xbe 68 69 # VI: s_bcnt1_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0d,0x81,0xbe] 70 0x02 0x0d 0x81 0xbe 71 72 # VI: s_ff0_i32_b32 s1, s2 ; encoding: [0x02,0x0e,0x81,0xbe] 73 0x02 0x0e 0x81 0xbe 74 75 # VI: s_ff0_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0f,0x81,0xbe] 76 0x02 0x0f 0x81 0xbe 77 78 # VI: s_ff1_i32_b32 s1, s2 ; encoding: [0x02,0x10,0x81,0xbe] 79 0x02 0x10 0x81 0xbe 80 81 # VI: s_ff1_i32_b64 s1, s[2:3] ; encoding: [0x02,0x11,0x81,0xbe] 82 0x02 0x11 0x81 0xbe 83 84 # VI: s_flbit_i32_b32 s1, s2 ; encoding: [0x02,0x12,0x81,0xbe] 85 0x02 0x12 0x81 0xbe 86 87 # VI: s_flbit_i32_b64 s1, s[2:3] ; encoding: [0x02,0x13,0x81,0xbe] 88 0x02 0x13 0x81 0xbe 89 90 # VI: s_flbit_i32 s1, s2 ; encoding: [0x02,0x14,0x81,0xbe] 91 0x02 0x14 0x81 0xbe 92 93 # VI: s_flbit_i32_i64 s1, s[2:3] ; encoding: [0x02,0x15,0x81,0xbe] 94 0x02 0x15 0x81 0xbe 95 96 # VI: s_sext_i32_i8 s1, s2 ; encoding: [0x02,0x16,0x81,0xbe] 97 0x02 0x16 0x81 0xbe 98 99 # VI: s_sext_i32_i16 s1, s2 ; encoding: [0x02,0x17,0x81,0xbe] 100 0x02 0x17 0x81 0xbe 101 102 # VI: s_bitset0_b32 s1, s2 ; encoding: [0x02,0x18,0x81,0xbe] 103 0x02 0x18 0x81 0xbe 104 105 # VI: s_bitset0_b64 s[2:3], s4 ; encoding: [0x04,0x19,0x82,0xbe] 106 0x04 0x19 0x82 0xbe 107 108 # VI: s_bitset1_b32 s1, s2 ; encoding: [0x02,0x1a,0x81,0xbe] 109 0x02 0x1a 0x81 0xbe 110 111 # VI: s_bitset1_b64 s[2:3], s4 ; encoding: [0x04,0x1b,0x82,0xbe] 112 0x04 0x1b 0x82 0xbe 113 114 # VI: s_getpc_b64 s[2:3] ; encoding: [0x00,0x1c,0x82,0xbe] 115 0x00 0x1c 0x82 0xbe 116 117 # VI: s_setpc_b64 s[4:5] ; encoding: [0x04,0x1d,0x80,0xbe] 118 0x04 0x1d 0x80 0xbe 119 120 # VI: s_swappc_b64 s[2:3], s[4:5] ; encoding: [0x04,0x1e,0x82,0xbe] 121 0x04 0x1e 0x82 0xbe 122 123 # VI: s_rfe_b64 s[4:5] ; encoding: [0x04,0x1f,0x80,0xbe] 124 0x04 0x1f 0x80 0xbe 125 126 # VI: s_and_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x20,0x82,0xbe] 127 0x04 0x20 0x82 0xbe 128 129 # VI: s_or_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x21,0x82,0xbe] 130 0x04 0x21 0x82 0xbe 131 132 # VI: s_xor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x22,0x82,0xbe] 133 0x04 0x22 0x82 0xbe 134 135 # VI: s_andn2_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x23,0x82,0xbe] 136 0x04 0x23 0x82 0xbe 137 138 # VI: s_orn2_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x24,0x82,0xbe] 139 0x04 0x24 0x82 0xbe 140 141 # VI: s_nand_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x25,0x82,0xbe] 142 0x04 0x25 0x82 0xbe 143 144 # VI: s_nor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x26,0x82,0xbe] 145 0x04 0x26 0x82 0xbe 146 147 # VI: s_xnor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x27,0x82,0xbe] 148 0x04 0x27 0x82 0xbe 149 150 # VI: s_quadmask_b32 s1, s2 ; encoding: [0x02,0x28,0x81,0xbe] 151 0x02 0x28 0x81 0xbe 152 153 # VI: s_quadmask_b64 s[2:3], s[4:5] ; encoding: [0x04,0x29,0x82,0xbe] 154 0x04 0x29 0x82 0xbe 155 156 # VI: s_movrels_b32 s1, s2 ; encoding: [0x02,0x2a,0x81,0xbe] 157 0x02 0x2a 0x81 0xbe 158 159 # VI: s_movrels_b64 s[2:3], s[4:5] ; encoding: [0x04,0x2b,0x82,0xbe] 160 0x04 0x2b 0x82 0xbe 161 162 # VI: s_movreld_b32 s1, s2 ; encoding: [0x02,0x2c,0x81,0xbe] 163 0x02 0x2c 0x81 0xbe 164 165 # VI: s_movreld_b64 s[2:3], s[4:5] ; encoding: [0x04,0x2d,0x82,0xbe] 166 0x04 0x2d 0x82 0xbe 167 168 # VI: s_cbranch_join s[4:5] ; encoding: [0x04,0x2e,0x80,0xbe] 169 0x04 0x2e 0x80 0xbe 170 171 # VI: s_abs_i32 s1, s2 ; encoding: [0x02,0x30,0x81,0xbe] 172 0x02 0x30 0x81 0xbe 173