Home | History | Annotate | Download | only in AMDGPU
      1 // RUN: not llvm-mc -arch=amdgcn -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI
      2 // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI
      3 // RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI
      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=NOSICI
      7 // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s 2>&1 | FileCheck %s --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 v_mov_b32 [v1], [v2]
     12 // GCN:  v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e]
     13 
     14 v_mov_b32 v0, 0.5
     15 // GCN: v_mov_b32_e32 v0, 0.5 ; encoding: [0xf0,0x02,0x00,0x7e]
     16 
     17 v_mov_b32_e32 v0, 3.125
     18 // GCN: v_mov_b32_e32 v0, 0x40480000 ; encoding: [0xff,0x02,0x00,0x7e,0x00,0x00,0x48,0x40]
     19 
     20 v_mov_b32     v1, ttmp8
     21 // SICI: v_mov_b32_e32 v1, ttmp8         ; encoding: [0x78,0x02,0x02,0x7e]
     22 // VI:   v_mov_b32_e32 v1, ttmp8         ; encoding: [0x78,0x02,0x02,0x7e]
     23 
     24 // GCN: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e]
     25 v_mov_b32 v1, v2
     26 
     27 // SICI: v_not_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e]
     28 // VI:   v_not_b32_e32 v1, v2 ; encoding: [0x02,0x57,0x02,0x7e]
     29 v_not_b32 v1, v2
     30 
     31 // SICI: v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e]
     32 // VI:   v_bfrev_b32_e32 v1, v2 ; encoding: [0x02,0x59,0x02,0x7e]
     33 v_bfrev_b32 v1, v2
     34 
     35 // SICI: v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e]
     36 // VI:   v_ffbh_u32_e32 v1, v2 ; encoding: [0x02,0x5b,0x02,0x7e]
     37 v_ffbh_u32 v1, v2
     38 
     39 // SICI: v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e]
     40 // VI:   v_ffbl_b32_e32 v1, v2 ; encoding: [0x02,0x5d,0x02,0x7e]
     41 v_ffbl_b32 v1, v2
     42 
     43 // SICI: v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e]
     44 // VI:   v_ffbh_i32_e32 v1, v2 ; encoding: [0x02,0x5f,0x02,0x7e]
     45 v_ffbh_i32_e32 v1, v2
     46 
     47 // SICI: v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x79,0x02,0x7e]
     48 // VI:   v_frexp_exp_i32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x61,0x02,0x7e]
     49 v_frexp_exp_i32_f64 v1, v[2:3]
     50 
     51 // SICI: v_frexp_mant_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x7b,0x02,0x7e]
     52 // VI;   v_frexp_mant_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x63,0x02,0x7e]
     53 v_frexp_mant_f64 v[1:2], v[2:3]
     54 
     55 // SICI: v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x7d,0x02,0x7e]
     56 // VI:   v_fract_f64_e32 v[1:2], v[2:3] ; encoding: [0x02,0x65,0x02,0x7e]
     57 v_fract_f64 v[1:2], v[2:3]
     58 
     59 // SICI: v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e]
     60 // VI:   v_frexp_exp_i32_f32_e32 v1, v2 ; encoding: [0x02,0x67,0x02,0x7e]
     61 v_frexp_exp_i32_f32 v1, v2
     62 
     63 // SICI: v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e]
     64 // VI:   v_frexp_mant_f32_e32 v1, v2 ; encoding: [0x02,0x69,0x02,0x7e]
     65 v_frexp_mant_f32 v1, v2
     66 
     67 // SICI: v_clrexcp ; encoding: [0x00,0x82,0x00,0x7e]
     68 // VI:   v_clrexcp ; encoding: [0x00,0x6a,0x00,0x7e]
     69 v_clrexcp
     70 
     71 // SICI: v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e]
     72 // VI:   v_movreld_b32_e32 v1, v2 ; encoding: [0x02,0x6d,0x02,0x7e]
     73 v_movreld_b32 v1, v2
     74 
     75 // SICI: v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e]
     76 // VI:   v_movrels_b32_e32 v1, v2 ; encoding: [0x02,0x6f,0x02,0x7e]
     77 v_movrels_b32 v1, v2
     78 
     79 // SICI: v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e]
     80 // VI:   v_movrelsd_b32_e32 v1, v2 ; encoding: [0x02,0x71,0x02,0x7e]
     81 v_movrelsd_b32 v1, v2
     82 
     83 // NOSICI: error: instruction not supported on this GPU
     84 // NOSICI: v_cvt_f16_u16 v1, v2
     85 // VI: v_cvt_f16_u16_e32 v1, v2 ; encoding: [0x02,0x73,0x02,0x7e]
     86 v_cvt_f16_u16 v1, v2
     87 
     88 // NOSICI: error: instruction not supported on this GPU
     89 // NOSICI: v_cvt_f16_i16 v1, v2
     90 // VI: v_cvt_f16_i16_e32 v1, v2 ; encoding: [0x02,0x75,0x02,0x7e]
     91 v_cvt_f16_i16 v1, v2
     92 
     93 // NOSICI: error: instruction not supported on this GPU
     94 // NOSICI: v_cvt_u16_f16 v1, v2
     95 // VI: v_cvt_u16_f16_e32 v1, v2 ; encoding: [0x02,0x77,0x02,0x7e]
     96 v_cvt_u16_f16 v1, v2
     97 
     98 // NOSICI: error: instruction not supported on this GPU
     99 // NOSICI: v_cvt_i16_f16 v1, v2
    100 // VI: v_cvt_i16_f16_e32 v1, v2 ; encoding: [0x02,0x79,0x02,0x7e]
    101 v_cvt_i16_f16 v1, v2
    102 
    103 // NOSICI: error: instruction not supported on this GPU
    104 // NOSICI: v_rcp_f16 v1, v2
    105 // VI: v_rcp_f16_e32 v1, v2 ; encoding: [0x02,0x7b,0x02,0x7e]
    106 v_rcp_f16 v1, v2
    107 
    108 // NOSICI: error: instruction not supported on this GPU
    109 // NOSICI: v_sqrt_f16 v1, v2
    110 // VI: v_sqrt_f16_e32 v1, v2 ; encoding: [0x02,0x7d,0x02,0x7e]
    111 v_sqrt_f16 v1, v2
    112 
    113 // NOSICI: error: instruction not supported on this GPU
    114 // NOSICI: v_rsq_f16 v1, v2
    115 // VI: v_rsq_f16_e32 v1, v2 ; encoding: [0x02,0x7f,0x02,0x7e]
    116 v_rsq_f16 v1, v2
    117 
    118 // NOSICI: error: instruction not supported on this GPU
    119 // NOSICI: v_log_f16 v1, v2
    120 // VI: v_log_f16_e32 v1, v2 ; encoding: [0x02,0x81,0x02,0x7e]
    121 v_log_f16 v1, v2
    122 
    123 // NOSICI: error: instruction not supported on this GPU
    124 // NOSICI: v_exp_f16 v1, v2
    125 // VI: v_exp_f16_e32 v1, v2 ; encoding: [0x02,0x83,0x02,0x7e]
    126 v_exp_f16 v1, v2
    127 
    128 // NOSICI: error: instruction not supported on this GPU
    129 // NOSICI: v_frexp_mant_f16 v1, v2
    130 // VI: v_frexp_mant_f16_e32 v1, v2 ; encoding: [0x02,0x85,0x02,0x7e]
    131 v_frexp_mant_f16 v1, v2
    132 
    133 // NOSICI: error: instruction not supported on this GPU
    134 // NOSICI: v_frexp_exp_i16_f16 v1, v2
    135 // VI: v_frexp_exp_i16_f16_e32 v1, v2 ; encoding: [0x02,0x87,0x02,0x7e]
    136 v_frexp_exp_i16_f16 v1, v2
    137 
    138 // NOSICI: error: instruction not supported on this GPU
    139 // NOSICI: v_floor_f16 v1, v2
    140 // VI: v_floor_f16_e32 v1, v2 ; encoding: [0x02,0x89,0x02,0x7e]
    141 v_floor_f16 v1, v2
    142 
    143 // NOSICI: error: instruction not supported on this GPU
    144 // NOSICI: v_ceil_f16 v1, v2
    145 // VI: v_ceil_f16_e32 v1, v2 ; encoding: [0x02,0x8b,0x02,0x7e]
    146 v_ceil_f16 v1, v2
    147 
    148 // NOSICI: error: instruction not supported on this GPU
    149 // NOSICI: v_trunc_f16 v1, v2
    150 // VI: v_trunc_f16_e32 v1, v2 ; encoding: [0x02,0x8d,0x02,0x7e]
    151 v_trunc_f16 v1, v2
    152 
    153 // NOSICI: error: instruction not supported on this GPU
    154 // NOSICI: v_rndne_f16 v1, v2
    155 // VI: v_rndne_f16_e32 v1, v2 ; encoding: [0x02,0x8f,0x02,0x7e]
    156 v_rndne_f16 v1, v2
    157 
    158 // NOSICI: error: instruction not supported on this GPU
    159 // NOSICI: v_fract_f16 v1, v2
    160 // VI: v_fract_f16_e32 v1, v2 ; encoding: [0x02,0x91,0x02,0x7e]
    161 v_fract_f16 v1, v2
    162 
    163 // NOSICI: error: instruction not supported on this GPU
    164 // NOSICI: v_sin_f16 v1, v2
    165 // VI: v_sin_f16_e32 v1, v2 ; encoding: [0x02,0x93,0x02,0x7e]
    166 v_sin_f16 v1, v2
    167 
    168 // NOSICI: error: instruction not supported on this GPU
    169 // NOSICI: v_cos_f16 v1, v2
    170 // VI: v_cos_f16_e32 v1, v2 ; encoding: [0x02,0x95,0x02,0x7e]
    171 v_cos_f16 v1, v2
    172 
    173 // src0 inline
    174 // SICI: v_mul_i32_i24_e32 v1, 3, v3 ; encoding: [0x83,0x06,0x02,0x12]
    175 v_mul_i32_i24 v1, 3, v3
    176 
    177 // src0 negative inline
    178 // SICI: v_mul_i32_i24_e32 v1, -3, v3 ; encoding: [0xc3,0x06,0x02,0x12]
    179 v_mul_i32_i24 v1, -3, v3
    180 
    181 // src1 inline
    182 // SICI: v_mul_i32_i24_e64 v1, v2, 3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x01,0x00]
    183 v_mul_i32_i24 v1, v2, 3
    184 
    185 // src1 negative inline
    186 // SICI: v_mul_i32_i24_e64 v1, v2, -3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x87,0x01,0x00]
    187 v_mul_i32_i24 v1, v2, -3
    188 
    189 // GCN: v_cvt_flr_i32_f32_e32 v1, v2 ; encoding: [0x02,0x1b,0x02,0x7e]
    190 v_cvt_flr_i32_f32 v1, v2
    191 
    192 // GCN: v_cvt_off_f32_i4_e32 v1, v2 ; encoding: [0x02,0x1d,0x02,0x7e]
    193 v_cvt_off_f32_i4_e32 v1, v2
    194 
    195 // GCN: v_cvt_f32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x1f,0x02,0x7e]
    196 v_cvt_f32_f64 v1, v[2:3]
    197 
    198 // GCN: v_cvt_f64_f32_e32 v[1:2], v2 ; encoding: [0x02,0x21,0x02,0x7e]
    199 v_cvt_f64_f32 v[1:2], v2
    200 
    201 // GCN: v_cvt_f32_ubyte0_e32 v1, v2 ; encoding: [0x02,0x23,0x02,0x7e]
    202 v_cvt_f32_ubyte0 v1, v2
    203 
    204 // GCN: v_cvt_f32_ubyte1_e32 v1, v2 ; encoding: [0x02,0x25,0x02,0x7e]
    205 v_cvt_f32_ubyte1_e32 v1, v2
    206 
    207 // GCN: v_cvt_f32_ubyte2_e32 v1, v2 ; encoding: [0x02,0x27,0x02,0x7e]
    208 v_cvt_f32_ubyte2 v1, v2
    209 
    210 // GCN: v_cvt_f32_ubyte3_e32 v1, v2 ; encoding: [0x02,0x29,0x02,0x7e]
    211 v_cvt_f32_ubyte3 v1, v2
    212 
    213 // GCN: v_cvt_u32_f64_e32 v1, v[2:3] ; encoding: [0x02,0x2b,0x02,0x7e]
    214 v_cvt_u32_f64 v1, v[2:3]
    215 
    216 // GCN: v_cvt_f64_u32_e32 v[1:2], v2 ; encoding: [0x02,0x2d,0x02,0x7e]
    217 v_cvt_f64_u32 v[1:2], v2
    218 
    219 // SICI: v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]
    220 // VI:   v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]
    221 v_mul_i32_i24 v1, v2, v3
    222 
    223 // SICI: v_mul_hi_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x14]
    224 // VI:   v_mul_hi_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0e]
    225 v_mul_hi_i32_i24 v1, v2, v3
    226 
    227 // SICI: v_mul_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x16]
    228 // VI:   v_mul_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x10]
    229 v_mul_u32_u24 v1, v2, v3
    230 
    231 // SICI: v_mul_hi_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x18]
    232 // VI:   v_mul_hi_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]
    233 v_mul_hi_u32_u24 v1, v2, v3
    234 
    235 // SICI: v_min_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x22]
    236 // VI:   v_min_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x18]
    237 v_min_i32 v1, v2, v3
    238 
    239 // SICI: v_max_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x24]
    240 // VI:   v_max_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1a]
    241 v_max_i32 v1, v2, v3
    242 
    243 // SICI: v_min_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x26]
    244 // VI:   v_min_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1c]
    245 v_min_u32 v1, v2, v3
    246 
    247 // SICI: v_max_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x28]
    248 // VI:   v_max_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1e]
    249 v_max_u32 v1, v2, v3
    250 
    251 // SICI: v_lshr_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]
    252 // NOVI: error: instruction not supported on this GPU
    253 // NOVI: v_lshr_b32 v1, v2, v3
    254 v_lshr_b32 v1, v2, v3
    255 
    256 // SICI: v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2c]
    257 // VI:   v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x20]
    258 v_lshrrev_b32 v1, v2, v3
    259 
    260 // SICI: v_ashr_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2e]
    261 // NOVI: error: instruction not supported on this GPU
    262 // NOVI: v_ashr_i32 v1, v2, v3
    263 v_ashr_i32 v1, v2, v3
    264 
    265 // SICI: v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x30]
    266 // VI:   v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x22]
    267 v_ashrrev_i32 v1, v2, v3
    268 
    269 // SICI: v_lshl_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]
    270 // NOVI: error: instruction not supported on this GPU
    271 // NOVI: v_lshl_b32_e32 v1, v2, v3
    272 v_lshl_b32_e32 v1, v2, v3
    273 
    274 // SICI: v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]
    275 // VI:   v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x24]
    276 v_lshlrev_b32 v1, v2, v3
    277 
    278 // SICI: v_and_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]
    279 // VI:   v_and_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x26]
    280 v_and_b32 v1, v2, v3
    281 
    282 // SICI: v_or_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x38]
    283 // VI:   v_or_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x28]
    284 v_or_b32 v1, v2, v3
    285 
    286 // SICI: v_xor_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3a]
    287 // VI:   v_xor_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]
    288 v_xor_b32 v1, v2, v3
    289 
    290 // SICI: v_bfm_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3c]
    291 // VI:   v_bfm_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x93,0xd2,0x02,0x07,0x02,0x00]
    292 v_bfm_b32 v1, v2, v3
    293 
    294 // SICI: v_bcnt_u32_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x44]
    295 // VI:   v_bcnt_u32_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x8b,0xd2,0x02,0x07,0x02,0x00]
    296 v_bcnt_u32_b32 v1, v2, v3
    297 
    298 // SICI: v_mbcnt_lo_u32_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x46]
    299 // VI:   v_mbcnt_lo_u32_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x8c,0xd2,0x02,0x07,0x02,0x00]
    300 v_mbcnt_lo_u32_b32 v1, v2, v3
    301 
    302 // SICI: v_mbcnt_hi_u32_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x48]
    303 // VI:   v_mbcnt_hi_u32_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x8d,0xd2,0x02,0x07,0x02,0x00]
    304 v_mbcnt_hi_u32_b32 v1, v2, v3
    305 
    306 // SICI: v_cvt_pk_u16_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x60]
    307 // VI:   v_cvt_pk_u16_u32 v1, v2, v3 ; encoding: [0x01,0x00,0x97,0xd2,0x02,0x07,0x02,0x00]
    308 v_cvt_pk_u16_u32 v1, v2, v3
    309 
    310 // SICI: v_cvt_pk_i16_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x62]
    311 // VI:   v_cvt_pk_i16_i32 v1, v2, v3 ; encoding: [0x01,0x00,0x98,0xd2,0x02,0x07,0x02,0x00]
    312 v_cvt_pk_i16_i32 v1, v2, v3
    313 
    314 // SICI: v_bfm_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3c]
    315 // VI:   v_bfm_b32 v1, v2, v3 ; encoding: [0x01,0x00,0x93,0xd2,0x02,0x07,0x02,0x00]
    316 v_bfm_b32 v1, v2, v3
    317 
    318 // NOSICI: error: instruction not supported on this GPU
    319 // NOSICI: v_add_f16 v1, v2, v3
    320 // VI:     v_add_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3e]
    321 v_add_f16 v1, v2, v3
    322 
    323 // NOSICI: error: instruction not supported on this GPU
    324 // NOSICI: v_sub_f16 v1, v2, v3
    325 // VI:     v_sub_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x40]
    326 v_sub_f16 v1, v2, v3
    327 
    328 // NOSICI: error: instruction not supported on this GPU
    329 // NOSICI: v_subrev_f16 v1, v2, v3
    330 // VI:     v_subrev_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x42]
    331 v_subrev_f16 v1, v2, v3
    332 
    333 // NOSICI: error: instruction not supported on this GPU
    334 // NOSICI: v_mul_f16 v1, v2, v3
    335 // VI:     v_mul_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x44]
    336 v_mul_f16 v1, v2, v3
    337 
    338 // NOSICI: error: instruction not supported on this GPU
    339 // NOSICI: v_mac_f16 v1, v2, v3
    340 // VI:     v_mac_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x46]
    341 v_mac_f16 v1, v2, v3
    342 
    343 // NOSICI: error: instruction not supported on this GPU
    344 // NOSICI: v_add_u16 v1, v2, v3
    345 // VI:     v_add_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4c]
    346 v_add_u16 v1, v2, v3
    347 
    348 // NOSICI: error: instruction not supported on this GPU
    349 // NOSICI: v_sub_u16 v1, v2, v3
    350 // VI:     v_sub_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4e]
    351 v_sub_u16 v1, v2, v3
    352 
    353 // NOSICI: error: instruction not supported on this GPU
    354 // NOSICI: v_subrev_u16 v1, v2, v3
    355 // VI:     v_subrev_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x50]
    356 v_subrev_u16 v1, v2, v3
    357 
    358 // NOSICI: error: instruction not supported on this GPU
    359 // NOSICI: v_mul_lo_u16 v1, v2, v3
    360 // VI:     v_mul_lo_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x52]
    361 v_mul_lo_u16 v1, v2, v3
    362 
    363 // NOSICI: error: instruction not supported on this GPU
    364 // NOSICI: v_lshlrev_b16 v1, v2, v3
    365 // VI:     v_lshlrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x54]
    366 v_lshlrev_b16 v1, v2, v3
    367 
    368 // NOSICI: error: instruction not supported on this GPU
    369 // NOSICI: v_lshrrev_b16 v1, v2, v3
    370 // VI: v_lshrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x56]
    371 v_lshrrev_b16 v1, v2, v3
    372 
    373 // NOSICI: error: instruction not supported on this GPU
    374 // NOSICI: v_ashrrev_i16 v1, v2, v3
    375 // VI:     v_ashrrev_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x58]
    376 v_ashrrev_i16 v1, v2, v3
    377 
    378 // NOSICI: error: instruction not supported on this GPU
    379 // NOSICI: v_max_f16 v1, v2, v3
    380 // VI:     v_max_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5a]
    381 v_max_f16 v1, v2, v3
    382 
    383 // NOSICI: error: instruction not supported on this GPU
    384 // NOSICI: v_min_f16 v1, v2, v3
    385 // VI:     v_min_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5c]
    386 v_min_f16 v1, v2, v3
    387 
    388 // NOSICI: error: instruction not supported on this GPU
    389 // NOSICI: v_max_u16 v1, v2, v3
    390 // VI:     v_max_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5e]
    391 v_max_u16 v1, v2, v3
    392 
    393 // NOSICI: error: instruction not supported on this GPU
    394 // NOSICI: v_max_i16 v1, v2, v3
    395 // VI:     v_max_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x60]
    396 v_max_i16 v1, v2, v3
    397 
    398 // NOSICI: error: instruction not supported on this GPU
    399 // NOSICI: v_min_u16 v1, v2, v3
    400 // VI:     v_min_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x62]
    401 v_min_u16 v1, v2, v3
    402 
    403 // NOSICI: error: instruction not supported on this GPU
    404 // NOSICI: v_min_i16 v1, v2, v3
    405 // VI:     v_min_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x64]
    406 v_min_i16 v1, v2, v3
    407 
    408 // NOSICI: error: instruction not supported on this GPU
    409 // NOSICI: v_ldexp_f16 v1, v2, v3
    410 // VI:     v_ldexp_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x66]
    411 v_ldexp_f16 v1, v2, v3
    412