1 # RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI 2 3 # VI: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e] 4 0x02 0x03 0x02 0x7e 5 6 # VI: v_nop ; encoding: [0x00,0x00,0x00,0x7e] 7 0x00 0x00 0x00 0x7e 8 9 # VI: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e] 10 0x00 0x6a 0x00 0x7e 11 12 # VI: v_nop ; encoding: [0x00,0x00,0x00,0x7e] 13 0x00 0x00 0x00 0x7e 14 15 # VI: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e] 16 0x02 0x03 0x02 0x7e 17 18 # VI: v_readfirstlane_b32 s1, v2 ; encoding: [0x02,0x05,0x02,0x7e] 19 0x02 0x05 0x02 0x7e 20 21 # VI: v_cvt_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x07,0x02,0x7e] 22 0x02 0x07 0x02 0x7e 23 24 # VI: v_cvt_f64_i32_e32 v[1:2], v2 ; encoding: [0x02,0x09,0x02,0x7e] 25 0x02 0x09 0x02 0x7e 26 27 # VI: v_cvt_f32_i32_e32 v1, v2 ; encoding: [0x02,0x0b,0x02,0x7e] 28 0x02 0x0b 0x02 0x7e 29 30 # VI: v_cvt_f32_u32_e32 v1, v2 ; encoding: [0x02,0x0d,0x02,0x7e] 31 0x02 0x0d 0x02 0x7e 32 33 # VI: v_cvt_i32_f32_e32 v1, v2 ; encoding: [0x02,0x11,0x02,0x7e] 34 0x02 0x11 0x02 0x7e 35 36 # VI: v_cvt_f16_f32_e32 v1, v2 ; encoding: [0x02,0x15,0x02,0x7e] 37 0x02 0x15 0x02 0x7e 38 39 # VI: v_cvt_f32_f16_e32 v1, v2 ; encoding: [0x02,0x17,0x02,0x7e] 40 0x02 0x17 0x02 0x7e 41 42 # VI: v_cvt_rpi_i32_f32_e32 v1, v2 ; encoding: [0x02,0x19,0x02,0x7e] 43 0x02 0x19 0x02 0x7e 44 45 # VI: v_cvt_flr_i32_f32_e32 v1, v2 ; encoding: [0x02,0x1b,0x02,0x7e] 46 0x02 0x1b 0x02 0x7e 47 48 # VI: v_cvt_off_f32_i4_e32 v1, v2 ; encoding: [0x02,0x1d,0x02,0x7e] 49 0x02 0x1d 0x02 0x7e 50 51 # VI: v_cvt_f32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x1f,0x02,0x7e] 52 0x02 0x1f 0x02 0x7e 53 54 # VI: v_cvt_f64_f32_e32 v[1:2], v2 ; encoding: [0x02,0x21,0x02,0x7e] 55 0x02 0x21 0x02 0x7e 56 57 # VI: v_cvt_f32_ubyte0_e32 v1, v2 ; encoding: [0x02,0x23,0x02,0x7e] 58 0x02 0x23 0x02 0x7e 59 60 # VI: v_cvt_f32_ubyte1_e32 v1, v2 ; encoding: [0x02,0x25,0x02,0x7e] 61 0x02 0x25 0x02 0x7e 62 63 # VI: v_cvt_f32_ubyte2_e32 v1, v2 ; encoding: [0x02,0x27,0x02,0x7e] 64 0x02 0x27 0x02 0x7e 65 66 # VI: v_cvt_f32_ubyte3_e32 v1, v2 ; encoding: [0x02,0x29,0x02,0x7e] 67 0x02 0x29 0x02 0x7e 68 69 # VI: v_cvt_u32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x2b,0x02,0x7e] 70 0x02 0x2b 0x02 0x7e 71 72 # VI: v_cvt_f64_u32_e32 v[1:2], v2 ; encoding: [0x02,0x2d,0x02,0x7e] 73 0x02 0x2d 0x02 0x7e 74 75 # VI: v_fract_f32_e32 v1, v2 ; encoding: [0x02,0x37,0x02,0x7e] 76 0x02 0x37 0x02 0x7e 77 78 # VI: v_trunc_f32_e32 v1, v2 ; encoding: [0x02,0x39,0x02,0x7e] 79 0x02 0x39 0x02 0x7e 80 81 # VI: v_ceil_f32_e32 v1, v2 ; encoding: [0x02,0x3b,0x02,0x7e] 82 0x02 0x3b 0x02 0x7e 83 84 # VI: v_rndne_f32_e32 v1, v2 ; encoding: [0x02,0x3d,0x02,0x7e] 85 0x02 0x3d 0x02 0x7e 86 87 # VI: v_floor_f32_e32 v1, v2 ; encoding: [0x02,0x3f,0x02,0x7e] 88 0x02 0x3f 0x02 0x7e 89 90 # VI: v_exp_f32_e32 v1, v2 ; encoding: [0x02,0x41,0x02,0x7e] 91 0x02 0x41 0x02 0x7e 92 93 # VI: v_log_f32_e32 v1, v2 ; encoding: [0x02,0x43,0x02,0x7e] 94 0x02 0x43 0x02 0x7e 95 96 # VI: v_rcp_f32_e32 v1, v2 ; encoding: [0x02,0x45,0x02,0x7e] 97 0x02 0x45 0x02 0x7e 98 99 # VI: v_rcp_iflag_f32_e32 v1, v2 ; encoding: [0x02,0x47,0x02,0x7e] 100 0x02 0x47 0x02 0x7e 101 102 # VI: v_rsq_f32_e32 v1, v2 ; encoding: [0x02,0x49,0x02,0x7e] 103 0x02 0x49 0x02 0x7e 104 105 # VI: v_rcp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x4b,0x02,0x7e] 106 0x02 0x4b 0x02 0x7e 107 108 # VI: v_rsq_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x4d,0x02,0x7e] 109 0x02 0x4d 0x02 0x7e 110 111 # VI: v_sqrt_f32_e32 v1, v2 ; encoding: [0x02,0x4f,0x02,0x7e] 112 0x02 0x4f 0x02 0x7e 113 114 # VI: v_sqrt_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x51,0x02,0x7e] 115 0x02 0x51 0x02 0x7e 116 117 # VI: v_sin_f32_e32 v1, v2 ; encoding: [0x02,0x53,0x02,0x7e] 118 0x02 0x53 0x02 0x7e 119 120 # VI: v_cos_f32_e32 v1, v2 ; encoding: [0x02,0x55,0x02,0x7e] 121 0x02 0x55 0x02 0x7e 122 123 # VI: v_not_b32_e32 v1, v2 ; encoding: [0x02,0x57,0x02,0x7e] 124 0x02 0x57 0x02 0x7e 125 126 # VI: v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x59,0x02,0x7e] 127 0x02 0x59 0x02 0x7e 128 129 # VI: v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x5b,0x02,0x7e] 130 0x02 0x5b 0x02 0x7e 131 132 # VI: v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x5d,0x02,0x7e] 133 0x02 0x5d 0x02 0x7e 134 135 # VI: v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x5f,0x02,0x7e] 136 0x02 0x5f 0x02 0x7e 137 138 # VI: v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x61,0x02,0x7e] 139 0x02 0x61 0x02 0x7e 140 141 # VI: v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x65,0x02,0x7e] 142 0x02 0x65 0x02 0x7e 143 144 # VI: v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x67,0x02,0x7e] 145 0x02 0x67 0x02 0x7e 146 147 # VI: v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x69,0x02,0x7e] 148 0x02 0x69 0x02 0x7e 149 150 # VI: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e] 151 0x00 0x6a 0x00 0x7e 152 153 # VI: v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x6d,0x02,0x7e] 154 0x02 0x6d 0x02 0x7e 155 156 # VI: v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e] 157 0x02 0x6f 0x02 0x7e 158 159 # VI: v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e] 160 0x02 0x71 0x02 0x7e 161 162 # VI: v_log_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x99,0x02,0x7e] 163 0x02 0x99 0x02 0x7e 164 165 # VI: v_exp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x97,0x02,0x7e] 166 0x02 0x97 0x02 0x7e 167 168 # VI: v_cvt_f16_u16_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e] 169 0x02 0x73 0x02 0x7e 170 171 # VI: v_cvt_f16_i16_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e] 172 0x02 0x75 0x02 0x7e 173 174 # VI: v_cvt_u16_f16_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e] 175 0x02 0x77 0x02 0x7e 176 177 # VI: v_cvt_i16_f16_e32 v1, v2 ; encoding: [0x02,0x79,0x02,0x7e] 178 0x02 0x79 0x02 0x7e 179 180 # VI: v_rcp_f16_e32 v1, v2 ; encoding: [0x02,0x7b,0x02,0x7e] 181 0x02 0x7b 0x02 0x7e 182 183 # VI: v_sqrt_f16_e32 v1, v2 ; encoding: [0x02,0x7d,0x02,0x7e] 184 0x02 0x7d 0x02 0x7e 185 186 # VI: v_rsq_f16_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e] 187 0x02 0x7f 0x02 0x7e 188 189 # VI: v_log_f16_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e] 190 0x02 0x81 0x02 0x7e 191 192 # VI: v_exp_f16_e32 v1, v2 ; encoding: [0x02,0x83,0x02,0x7e] 193 0x02 0x83 0x02 0x7e 194 195 # VI: v_frexp_mant_f16_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e] 196 0x02 0x85 0x02 0x7e 197 198 # VI: v_frexp_exp_i16_f16_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e] 199 0x02 0x87 0x02 0x7e 200 201 # VI: v_floor_f16_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e] 202 0x02 0x89 0x02 0x7e 203 204 # VI: v_ceil_f16_e32 v1, v2 ; encoding: [0x02,0x8b,0x02,0x7e] 205 0x02 0x8b 0x02 0x7e 206 207 # VI: v_trunc_f16_e32 v1, v2 ; encoding: [0x02,0x8d,0x02,0x7e] 208 0x02 0x8d 0x02 0x7e 209 210 # VI: v_rndne_f16_e32 v1, v2 ; encoding: [0x02,0x8f,0x02,0x7e] 211 0x02 0x8f 0x02 0x7e 212 213 # VI: v_fract_f16_e32 v1, v2 ; encoding: [0x02,0x91,0x02,0x7e] 214 0x02 0x91 0x02 0x7e 215 216 # VI: v_sin_f16_e32 v1, v2 ; encoding: [0x02,0x93,0x02,0x7e] 217 0x02 0x93 0x02 0x7e 218 219 # VI: v_cos_f16_e32 v1, v2 ; encoding: [0x02,0x95,0x02,0x7e] 220 0x02 0x95 0x02 0x7e 221