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