1 // RUN: not llvm-mc -arch=amdgcn -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SI --check-prefix=SICI 2 // RUN: not llvm-mc -arch=amdgcn -mcpu=SI -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SI --check-prefix=SICI 3 // RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI --check-prefix=CIVI 4 // RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=CIVI --check-prefix=VI 5 6 // RUN: not llvm-mc -arch=amdgcn -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI 7 // RUN: not llvm-mc -arch=amdgcn -mcpu=SI -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI 8 // RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSICI 9 // RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s 2>&1 | FileCheck %s -check-prefix=NOVI 10 11 // Force 32-bit encoding 12 13 // GCN: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e] 14 v_mov_b32_e32 v1, v2 15 16 // Force 32-bit encoding for special instructions 17 // FIXME: We should be printing _e32 suffixes for these: 18 19 // GCN: v_nop ; encoding: [0x00,0x00,0x00,0x7e] 20 v_nop_e32 21 22 // SICI: v_clrexcp ; encoding: [0x00,0x82,0x00,0x7e] 23 // VI: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e] 24 v_clrexcp_e32 25 26 //===----------------------------------------------------------------------===// 27 // Instructions 28 //===----------------------------------------------------------------------===// 29 30 31 // GCN: v_nop ; encoding: [0x00,0x00,0x00,0x7e] 32 v_nop 33 34 // GCN: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e] 35 v_mov_b32 v1, v2 36 37 // GCN: v_readfirstlane_b32 s1, v2 ; encoding: [0x02,0x05,0x02,0x7e] 38 v_readfirstlane_b32 s1, v2 39 40 // GCN: v_cvt_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x07,0x02,0x7e] 41 v_cvt_i32_f64 v1, v[2:3] 42 43 // GCN: v_cvt_f64_i32_e32 v[1:2], v2 ; encoding: [0x02,0x09,0x02,0x7e] 44 v_cvt_f64_i32 v[1:2], v2 45 46 // GCN: v_cvt_f32_i32_e32 v1, v2 ; encoding: [0x02,0x0b,0x02,0x7e] 47 v_cvt_f32_i32 v1, v2 48 49 // GCN: v_cvt_f32_u32_e32 v1, v2 ; encoding: [0x02,0x0d,0x02,0x7e] 50 v_cvt_f32_u32 v1, v2 51 52 // GCN: v_cvt_u32_f32_e32 v1, v2 ; encoding: [0x02,0x0f,0x02,0x7e 53 v_cvt_u32_f32 v1, v2 54 55 // GCN: v_cvt_i32_f32_e32 v1, v2 ; encoding: [0x02,0x11,0x02,0x7e] 56 v_cvt_i32_f32 v1, v2 57 58 // SICI: v_mov_fed_b32_e32 v1, v2 ; encoding: [0x02,0x13,0x02,0x7e] 59 // NOVI: error: instruction not supported on this GPU 60 v_mov_fed_b32 v1, v2 61 62 // GCN: v_cvt_f16_f32_e32 v1, v2 ; encoding: [0x02,0x15,0x02,0x7e] 63 v_cvt_f16_f32 v1, v2 64 65 // GCN: v_cvt_f32_f16_e32 v1, v2 ; encoding: [0x02,0x17,0x02,0x7e] 66 v_cvt_f32_f16 v1, v2 67 68 // GCN: v_cvt_rpi_i32_f32_e32 v1, v2 ; encoding: [0x02,0x19,0x02,0x7e] 69 v_cvt_rpi_i32_f32 v1, v2 70 71 // GCN: v_cvt_flr_i32_f32_e32 v1, v2 ; encoding: [0x02,0x1b,0x02,0x7e] 72 v_cvt_flr_i32_f32 v1, v2 73 74 // GCN: v_cvt_off_f32_i4_e32 v1, v2 ; encoding: [0x02,0x1d,0x02,0x7e] 75 v_cvt_off_f32_i4_e32 v1, v2 76 77 // GCN: v_cvt_f32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x1f,0x02,0x7e] 78 v_cvt_f32_f64 v1, v[2:3] 79 80 // GCN: v_cvt_f64_f32_e32 v[1:2], v2 ; encoding: [0x02,0x21,0x02,0x7e] 81 v_cvt_f64_f32 v[1:2], v2 82 83 // GCN: v_cvt_f32_ubyte0_e32 v1, v2 ; encoding: [0x02,0x23,0x02,0x7e] 84 v_cvt_f32_ubyte0 v1, v2 85 86 // GCN: v_cvt_f32_ubyte1_e32 v1, v2 ; encoding: [0x02,0x25,0x02,0x7e] 87 v_cvt_f32_ubyte1_e32 v1, v2 88 89 // GCN: v_cvt_f32_ubyte2_e32 v1, v2 ; encoding: [0x02,0x27,0x02,0x7e] 90 v_cvt_f32_ubyte2 v1, v2 91 92 // GCN: v_cvt_f32_ubyte3_e32 v1, v2 ; encoding: [0x02,0x29,0x02,0x7e] 93 v_cvt_f32_ubyte3 v1, v2 94 95 // GCN: v_cvt_u32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x2b,0x02,0x7e] 96 v_cvt_u32_f64 v1, v[2:3] 97 98 // GCN: v_cvt_f64_u32_e32 v[1:2], v2 ; encoding: [0x02,0x2d,0x02,0x7e] 99 v_cvt_f64_u32 v[1:2], v2 100 101 // NOSI: error: instruction not supported on this GPU 102 // NOSI: v_trunc_f64_e32 v[1:2], v[2:3] 103 // CIVI: v_trunc_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x2f,0x02,0x7e] 104 v_trunc_f64_e32 v[1:2], v[2:3] 105 106 // NOSI: error: instruction not supported on this GPU 107 // NOSI: v_ceil_f64_e32 v[1:2], v[2:3] 108 // CIVI: v_ceil_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x31,0x02,0x7e] 109 v_ceil_f64_e32 v[1:2], v[2:3] 110 111 // NOSI: error: instruction not supported on this GPU 112 // NOSI: v_rndne_f64_e32 v[1:2], v[2:3] 113 // CIVI: v_rndne_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x33,0x02,0x7e] 114 v_rndne_f64_e32 v[1:2], v[2:3] 115 116 // NOSI: error: instruction not supported on this GPU 117 // NOSI: v_floor_f64_e32 v[1:2], v[2:3] 118 // CIVI: v_floor_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x35,0x02,0x7e] 119 v_floor_f64_e32 v[1:2], v[2:3] 120 121 // SICI: v_fract_f32_e32 v1, v2 ; encoding: [0x02,0x41,0x02,0x7e] 122 // VI: v_fract_f32_e32 v1, v2 ; encoding: [0x02,0x37,0x02,0x7e] 123 v_fract_f32 v1, v2 124 125 // SICI: v_trunc_f32_e32 v1, v2 ; encoding: [0x02,0x43,0x02,0x7e] 126 // VI: v_trunc_f32_e32 v1, v2 ; encoding: [0x02,0x39,0x02,0x7e] 127 v_trunc_f32 v1, v2 128 129 // SICI: v_ceil_f32_e32 v1, v2 ; encoding: [0x02,0x45,0x02,0x7e] 130 // VI: v_ceil_f32_e32 v1, v2 ; encoding: [0x02,0x3b,0x02,0x7e] 131 v_ceil_f32 v1, v2 132 133 // SICI: v_rndne_f32_e32 v1, v2 ; encoding: [0x02,0x47,0x02,0x7e] 134 // VI: v_rndne_f32_e32 v1, v2 ; encoding: [0x02,0x3d,0x02,0x7e] 135 v_rndne_f32 v1, v2 136 137 // SICI: v_floor_f32_e32 v1, v2 ; encoding: [0x02,0x49,0x02,0x7e] 138 // VI: v_floor_f32_e32 v1, v2 ; encoding: [0x02,0x3f,0x02,0x7e] 139 v_floor_f32_e32 v1, v2 140 141 // SICI: v_exp_f32_e32 v1, v2 ; encoding: [0x02,0x4b,0x02,0x7e] 142 // VI: v_exp_f32_e32 v1, v2 ; encoding: [0x02,0x41,0x02,0x7e] 143 v_exp_f32 v1, v2 144 145 // SICI: v_log_clamp_f32_e32 v1, v2 ; encoding: [0x02,0x4d,0x02,0x7e] 146 // NOVI: error: instruction not supported on this GPU 147 // NOVI: v_log_clamp_f32 v1, v2 148 v_log_clamp_f32 v1, v2 149 150 // SICI: v_log_f32_e32 v1, v2 ; encoding: [0x02,0x4f,0x02,0x7e] 151 // VI: v_log_f32_e32 v1, v2 ; encoding: [0x02,0x43,0x02,0x7e] 152 v_log_f32 v1, v2 153 154 // SICI: v_rcp_clamp_f32_e32 v1, v2 ; encoding: [0x02,0x51,0x02,0x7e] 155 // NOVI: error: instruction not supported on this GPU 156 // NOVI: v_rcp_clamp_f32 v1, v2 157 v_rcp_clamp_f32 v1, v2 158 159 // SICI: v_rcp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x53,0x02,0x7e] 160 // NOVI: error: instruction not supported on this GPU 161 // NOVI: v_rcp_legacy_f32 v1, v2 162 v_rcp_legacy_f32 v1, v2 163 164 // SICI: v_rcp_f32_e32 v1, v2 ; encoding: [0x02,0x55,0x02,0x7e] 165 // VI: v_rcp_f32_e32 v1, v2 ; encoding: [0x02,0x45,0x02,0x7e] 166 v_rcp_f32 v1, v2 167 168 // SICI: v_rcp_iflag_f32_e32 v1, v2 ; encoding: [0x02,0x57,0x02,0x7e] 169 // VI: v_rcp_iflag_f32_e32 v1, v2 ; encoding: [0x02,0x47,0x02,0x7e] 170 v_rcp_iflag_f32 v1, v2 171 172 // SICI: v_rsq_clamp_f32_e32 v1, v2 ; encoding: [0x02,0x59,0x02,0x7e] 173 // NOVI: error: instruction not supported on this GPU 174 // NOVI: v_rsq_clamp_f32 v1, v2 175 v_rsq_clamp_f32 v1, v2 176 177 // SICI: v_rsq_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x5b,0x02,0x7e] 178 // NOVI: error: instruction not supported on this GPU 179 // NOVI: v_rsq_legacy_f32 v1, v2 180 v_rsq_legacy_f32 v1, v2 181 182 // SICI: v_rsq_f32_e32 v1, v2 ; encoding: [0x02,0x5d,0x02,0x7e] 183 // VI: v_rsq_f32_e32 v1, v2 ; encoding: [0x02,0x49,0x02,0x7e] 184 v_rsq_f32_e32 v1, v2 185 186 // SICI: v_rcp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x5f,0x02,0x7e] 187 // VI: v_rcp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x4b,0x02,0x7e] 188 v_rcp_f64 v[1:2], v[2:3] 189 190 // SICI: v_rcp_clamp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x61,0x02,0x7e] 191 // NOVI: error: instruction not supported on this GPU 192 // NOVI: v_rcp_clamp_f64 v[1:2], v[2:3] 193 v_rcp_clamp_f64 v[1:2], v[2:3] 194 195 // SICI: v_rsq_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x63,0x02,0x7e] 196 // VI: v_rsq_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x4d,0x02,0x7e] 197 v_rsq_f64 v[1:2], v[2:3] 198 199 // SICI: v_rsq_clamp_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x65,0x02,0x7e] 200 // NOVI: error: instruction not supported on this GPU 201 // NOVI: v_rsq_clamp_f64 v[1:2], v[2:3] 202 v_rsq_clamp_f64 v[1:2], v[2:3] 203 204 // SICI: v_sqrt_f32_e32 v1, v2 ; encoding: [0x02,0x67,0x02,0x7e] 205 // VI: v_sqrt_f32_e32 v1, v2 ; encoding: [0x02,0x4f,0x02,0x7e] 206 v_sqrt_f32 v1, v2 207 208 // SICI: v_sqrt_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x69,0x02,0x7e] 209 // VI: v_sqrt_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x51,0x02,0x7e] 210 v_sqrt_f64 v[1:2], v[2:3] 211 212 // SICI: v_sin_f32_e32 v1, v2 ; encoding: [0x02,0x6b,0x02,0x7e] 213 // VI: v_sin_f32_e32 v1, v2 ; encoding: [0x02,0x53,0x02,0x7e] 214 v_sin_f32 v1, v2 215 216 // SICI: v_cos_f32_e32 v1, v2 ; encoding: [0x02,0x6d,0x02,0x7e] 217 // VI: v_cos_f32_e32 v1, v2 ; encoding: [0x02,0x55,0x02,0x7e] 218 v_cos_f32 v1, v2 219 220 // SICI: v_not_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e] 221 // VI: v_not_b32_e32 v1, v2 ; encoding: [0x02,0x57,0x02,0x7e] 222 v_not_b32 v1, v2 223 224 // SICI: v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e] 225 // VI: v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x59,0x02,0x7e] 226 v_bfrev_b32 v1, v2 227 228 // SICI: v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e] 229 // VI: v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x5b,0x02,0x7e] 230 v_ffbh_u32 v1, v2 231 232 // SICI: v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e] 233 // VI: v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x5d,0x02,0x7e] 234 v_ffbl_b32 v1, v2 235 236 // SICI: v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e] 237 // VI: v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x5f,0x02,0x7e] 238 v_ffbh_i32_e32 v1, v2 239 240 // SICI: v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x79,0x02,0x7e] 241 // VI: v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x61,0x02,0x7e] 242 v_frexp_exp_i32_f64 v1, v[2:3] 243 244 // SICI: v_frexp_mant_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x7b,0x02,0x7e] 245 // VI; v_frexp_mant_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x63,0x02,0x7e] 246 v_frexp_mant_f64 v[1:2], v[2:3] 247 248 // SICI: v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x7d,0x02,0x7e] 249 // VI: v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x65,0x02,0x7e] 250 v_fract_f64 v[1:2], v[2:3] 251 252 // SICI: v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e] 253 // VI: v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x67,0x02,0x7e] 254 v_frexp_exp_i32_f32 v1, v2 255 256 // SICI: v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e] 257 // VI: v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x69,0x02,0x7e] 258 v_frexp_mant_f32 v1, v2 259 260 // SICI: v_clrexcp ; encoding: [0x00,0x82,0x00,0x7e] 261 // VI: v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e] 262 v_clrexcp 263 264 // SICI: v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e] 265 // VI: v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x6d,0x02,0x7e] 266 v_movreld_b32 v1, v2 267 268 // SICI: v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e] 269 // VI: v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e] 270 v_movrels_b32 v1, v2 271 272 // SICI: v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e] 273 // VI: v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e] 274 v_movrelsd_b32 v1, v2 275 276 // NOSI: error: instruction not supported on this GPU 277 // NOSI: v_log_legacy_f32 v1, v2 278 // CI: v_log_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x8b,0x02,0x7e] 279 // VI: v_log_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x99,0x02,0x7e] 280 v_log_legacy_f32 v1, v2 281 282 // NOSI: error: instruction not supported on this GPU 283 // NOSI: v_exp_legacy_f32 v1, v2 284 // CI: v_exp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x8d,0x02,0x7e] 285 // VI: v_exp_legacy_f32_e32 v1, v2 ; encoding: [0x02,0x97,0x02,0x7e] 286 v_exp_legacy_f32 v1, v2 287 288 // NOSICI: error: instruction not supported on this GPU 289 // NOSICI: v_cvt_f16_u16 v1, v2 290 // VI: v_cvt_f16_u16_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e] 291 v_cvt_f16_u16 v1, v2 292 293 // NOSICI: error: instruction not supported on this GPU 294 // NOSICI: v_cvt_f16_i16 v1, v2 295 // VI: v_cvt_f16_i16_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e] 296 v_cvt_f16_i16 v1, v2 297 298 // NOSICI: error: instruction not supported on this GPU 299 // NOSICI: v_cvt_u16_f16 v1, v2 300 // VI: v_cvt_u16_f16_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e] 301 v_cvt_u16_f16 v1, v2 302 303 // NOSICI: error: instruction not supported on this GPU 304 // NOSICI: v_cvt_i16_f16 v1, v2 305 // VI: v_cvt_i16_f16_e32 v1, v2 ; encoding: [0x02,0x79,0x02,0x7e] 306 v_cvt_i16_f16 v1, v2 307 308 // NOSICI: error: instruction not supported on this GPU 309 // NOSICI: v_rcp_f16 v1, v2 310 // VI: v_rcp_f16_e32 v1, v2 ; encoding: [0x02,0x7b,0x02,0x7e] 311 v_rcp_f16 v1, v2 312 313 // NOSICI: error: instruction not supported on this GPU 314 // NOSICI: v_sqrt_f16 v1, v2 315 // VI: v_sqrt_f16_e32 v1, v2 ; encoding: [0x02,0x7d,0x02,0x7e] 316 v_sqrt_f16 v1, v2 317 318 // NOSICI: error: instruction not supported on this GPU 319 // NOSICI: v_rsq_f16 v1, v2 320 // VI: v_rsq_f16_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e] 321 v_rsq_f16 v1, v2 322 323 // NOSICI: error: instruction not supported on this GPU 324 // NOSICI: v_log_f16 v1, v2 325 // VI: v_log_f16_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e] 326 v_log_f16 v1, v2 327 328 // NOSICI: error: instruction not supported on this GPU 329 // NOSICI: v_exp_f16 v1, v2 330 // VI: v_exp_f16_e32 v1, v2 ; encoding: [0x02,0x83,0x02,0x7e] 331 v_exp_f16 v1, v2 332 333 // NOSICI: error: instruction not supported on this GPU 334 // NOSICI: v_frexp_mant_f16 v1, v2 335 // VI: v_frexp_mant_f16_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e] 336 v_frexp_mant_f16 v1, v2 337 338 // NOSICI: error: instruction not supported on this GPU 339 // NOSICI: v_frexp_exp_i16_f16 v1, v2 340 // VI: v_frexp_exp_i16_f16_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e] 341 v_frexp_exp_i16_f16 v1, v2 342 343 // NOSICI: error: instruction not supported on this GPU 344 // NOSICI: v_floor_f16 v1, v2 345 // VI: v_floor_f16_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e] 346 v_floor_f16 v1, v2 347 348 // NOSICI: error: instruction not supported on this GPU 349 // NOSICI: v_ceil_f16 v1, v2 350 // VI: v_ceil_f16_e32 v1, v2 ; encoding: [0x02,0x8b,0x02,0x7e] 351 v_ceil_f16 v1, v2 352 353 // NOSICI: error: instruction not supported on this GPU 354 // NOSICI: v_trunc_f16 v1, v2 355 // VI: v_trunc_f16_e32 v1, v2 ; encoding: [0x02,0x8d,0x02,0x7e] 356 v_trunc_f16 v1, v2 357 358 // NOSICI: error: instruction not supported on this GPU 359 // NOSICI: v_rndne_f16 v1, v2 360 // VI: v_rndne_f16_e32 v1, v2 ; encoding: [0x02,0x8f,0x02,0x7e] 361 v_rndne_f16 v1, v2 362 363 // NOSICI: error: instruction not supported on this GPU 364 // NOSICI: v_fract_f16 v1, v2 365 // VI: v_fract_f16_e32 v1, v2 ; encoding: [0x02,0x91,0x02,0x7e] 366 v_fract_f16 v1, v2 367 368 // NOSICI: error: instruction not supported on this GPU 369 // NOSICI: v_sin_f16 v1, v2 370 // VI: v_sin_f16_e32 v1, v2 ; encoding: [0x02,0x93,0x02,0x7e] 371 v_sin_f16 v1, v2 372 373 // NOSICI: error: instruction not supported on this GPU 374 // NOSICI: v_cos_f16 v1, v2 375 // VI: v_cos_f16_e32 v1, v2 ; encoding: [0x02,0x95,0x02,0x7e] 376 v_cos_f16 v1, v2 377