Home | History | Annotate | Download | only in AMDGPU
      1 # RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI
      2 
      3 # VI:   v_cndmask_b32_e32 v1, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x00]
      4 0x02 0x07 0x02 0x00
      5 
      6 # VI:   v_readlane_b32 s1, v2, s3 ; encoding: [0x01,0x00,0x89,0xd2,0x02,0x07,0x00,0x00]
      7 0x01 0x00 0x89 0xd2 0x02 0x07 0x00 0x00
      8 
      9 # VI:   v_writelane_b32 v1, s2, s3 ; encoding: [0x01,0x00,0x8a,0xd2,0x02,0x06,0x00,0x00]
     10 0x01 0x00 0x8a 0xd2 0x02 0x06 0x00 0x00
     11 
     12 # VI:   v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x02]
     13 0x02 0x07 0x02 0x02
     14 
     15 # VI:   v_sub_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x04]
     16 0x02 0x07 0x02 0x04
     17 
     18 # VI:   v_subrev_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x06]
     19 0x02 0x07 0x02 0x06
     20 
     21 # VI:   v_mul_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x08]
     22 0x02 0x07 0x02 0x08
     23 
     24 # VI:   v_mul_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0a]
     25 0x02 0x07 0x02 0x0a
     26 
     27 # VI:   v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]
     28 0x02 0x07 0x02 0x0c
     29 
     30 # VI:   v_mul_hi_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0e]
     31 0x02 0x07 0x02 0x0e
     32 
     33 # VI:   v_mul_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x10]
     34 0x02 0x07 0x02 0x10
     35 
     36 # VI:   v_mul_hi_u32_u24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]
     37 0x02 0x07 0x02 0x12
     38 
     39 # VI:   v_min_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x14]
     40 0x02 0x07 0x02 0x14
     41 
     42 # VI:   v_max_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x16]
     43 0x02 0x07 0x02 0x16
     44 
     45 # VI:   v_min_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x18]
     46 0x02 0x07 0x02 0x18
     47 
     48 # VI:   v_max_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1a]
     49 0x02 0x07 0x02 0x1a
     50 
     51 # VI:   v_min_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1c]
     52 0x02 0x07 0x02 0x1c
     53 
     54 # VI:   v_max_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1e]
     55 0x02 0x07 0x02 0x1e
     56 
     57 # VI:   v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x20]
     58 0x02 0x07 0x02 0x20
     59 
     60 # VI:   v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x22]
     61 0x02 0x07 0x02 0x22
     62 
     63 # VI:   v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x24]
     64 0x02 0x07 0x02 0x24
     65 
     66 # VI:   v_and_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x26]
     67 0x02 0x07 0x02 0x26
     68 
     69 # VI:   v_or_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x28]
     70 0x02 0x07 0x02 0x28
     71 
     72 # VI:   v_xor_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]
     73 0x02 0x07 0x02 0x2a
     74 
     75 # VI:   v_bfm_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x93,0xd2,0x02,0x07,0x02,0x00]
     76 0x01 0x00 0x93 0xd2 0x02 0x07 0x02 0x00
     77 
     78 # VI:   v_mac_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2c]
     79 0x02 0x07 0x02 0x2c
     80 
     81 # VI:   v_madmk_f32_e32 v1, v2, 0x42800000, v3 ; encoding: [0x02,0x07,0x02,0x2e,0x00,0x00,0x80,0x42]
     82 0x02 0x07 0x02 0x2e 0x00 0x00 0x80 0x42
     83 
     84 # VI:   v_madak_f32_e32 v1, v2, v3, 0x42800000 ; encoding: [0x02,0x07,0x02,0x30,0x00,0x00,0x80,0x42]
     85 0x02 0x07 0x02 0x30 0x00 0x00 0x80 0x42
     86 
     87 # VI:   v_bcnt_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x8b,0xd2,0x02,0x07,0x02,0x00]
     88 0x01 0x00 0x8b 0xd2 0x02 0x07 0x02 0x00
     89 
     90 # VI:   v_mbcnt_lo_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x8c,0xd2,0x02,0x07,0x02,0x00]
     91 0x01 0x00 0x8c 0xd2 0x02 0x07 0x02 0x00
     92 
     93 # VI:   v_mbcnt_hi_u32_b32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x8d,0xd2,0x02,0x07,0x02,0x00]
     94 0x01 0x00 0x8d 0xd2 0x02 0x07 0x02 0x00
     95 
     96 # VI:   v_add_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]
     97 0x02 0x07 0x02 0x32
     98 
     99 # VI:   v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]
    100 0x01 0x00 0x19 0xd1 0x02 0x07 0x02 0x00
    101 
    102 # VI:   v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]
    103 0x01 0x00 0x19 0xd1 0x02 0x07 0x02 0x00
    104 
    105 # VI:   v_add_i32_e64 v1, vcc, v2, v3 ; encoding: [0x01,0x6a,0x19,0xd1,0x02,0x07,0x02,0x00]
    106 0x01 0x6a 0x19 0xd1 0x02 0x07 0x02 0x00
    107 
    108 # VI:   v_add_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]
    109 0x02 0x07 0x02 0x32
    110 
    111 # VI:   v_add_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x19,0xd1,0x02,0x07,0x02,0x00]
    112 0x01 0x00 0x19 0xd1 0x02 0x07 0x02 0x00
    113 
    114 # VI:   v_sub_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]
    115 0x02 0x07 0x02 0x34
    116 
    117 # VI:   v_sub_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1a,0xd1,0x02,0x07,0x02,0x00]
    118 0x01 0x00 0x1a 0xd1 0x02 0x07 0x02 0x00
    119 
    120 # VI:   v_sub_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]
    121 0x02 0x07 0x02 0x34
    122 
    123 # VI:   v_sub_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1a,0xd1,0x02,0x07,0x02,0x00]
    124 0x01 0x00 0x1a 0xd1 0x02 0x07 0x02 0x00
    125 
    126 # VI:   v_subrev_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]
    127 0x02 0x07 0x02 0x36
    128 
    129 # VI:   v_subrev_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1b,0xd1,0x02,0x07,0x02,0x00]
    130 0x01 0x00 0x1b 0xd1 0x02 0x07 0x02 0x00
    131 
    132 # VI:   v_subrev_i32_e32 v1, vcc, v2, v3 ; encoding: [0x02,0x07,0x02,0x36]
    133 0x02 0x07 0x02 0x36
    134 
    135 # VI:   v_subrev_i32_e64 v1, s[0:1], v2, v3 ; encoding: [0x01,0x00,0x1b,0xd1,0x02,0x07,0x02,0x00]
    136 0x01 0x00 0x1b 0xd1 0x02 0x07 0x02 0x00
    137 
    138 # VI:   v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x38]
    139 0x02 0x07 0x02 0x38
    140 
    141 # VI:   v_addc_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x38]
    142 0x02 0x07 0x02 0x38
    143 
    144 # VI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0xaa,0x01]
    145 0x01 0x00 0x1c 0xd1 0x02 0x07 0xaa 0x01
    146 
    147 # VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]
    148 0x01 0x00 0x1c 0xd1 0x02 0x07 0x0a 0x00
    149 
    150 # VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]
    151 0x01 0x00 0x1c 0xd1 0x02 0x07 0x0a 0x00
    152 
    153 # FIXME: v_addc_u32_e64 v1, s[0:1], v2, v3, -1 ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x06,0x03]
    154 #0x01 0x00 0x1c 0xd1 0x02 0x07 0x06 0x03
    155 
    156 # FIXME: v_addc_u32_e64 v1, vcc, v2, v3, -1 ; encoding: [0x01,0x6a,0x1c,0xd1,0x02,0x07,0x06,0x03]
    157 #0x01 0x6a 0x1c 0xd1 0x02 0x07 0x06 0x03
    158 
    159 # VI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x1c,0xd1,0x02,0x07,0xaa,0x01]
    160 0x01 0x6a 0x1c 0xd1 0x02 0x07 0xaa 0x01
    161 
    162 # VI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3a]
    163 0x02 0x07 0x02 0x3a
    164 
    165 # VI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1d,0xd1,0x02,0x07,0xaa,0x01]
    166 0x01 0x00 0x1d 0xd1 0x02 0x07 0xaa 0x01
    167 
    168 # VI:   v_subbrev_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3c]
    169 0x02 0x07 0x02 0x3c
    170 
    171 # VI: v_subbrev_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1e,0xd1,0x02,0x07,0xaa,0x01]
    172 0x01 0x00 0x1e 0xd1 0x02 0x07 0xaa 0x01
    173 
    174 # VI:   v_ldexp_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x88,0xd2,0x02,0x07,0x02,0x00]
    175 0x01 0x00 0x88 0xd2 0x02 0x07 0x02 0x00
    176 
    177 # VI:   v_cvt_pkaccum_u8_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0xf0,0xd1,0x02,0x07,0x02,0x00]
    178 0x01 0x00 0xf0 0xd1 0x02 0x07 0x02 0x00
    179 
    180 # VI:   v_cvt_pknorm_i16_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x94,0xd2,0x02,0x07,0x02,0x00]
    181 0x01 0x00 0x94 0xd2 0x02 0x07 0x02 0x00
    182 
    183 # VI:   v_cvt_pknorm_u16_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x95,0xd2,0x02,0x07,0x02,0x00]
    184 0x01 0x00 0x95 0xd2 0x02 0x07 0x02 0x00
    185 
    186 # VI:   v_cvt_pkrtz_f16_f32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x96,0xd2,0x02,0x07,0x02,0x00]
    187 0x01 0x00 0x96 0xd2 0x02 0x07 0x02 0x00
    188 
    189 # VI:   v_cvt_pk_u16_u32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x97,0xd2,0x02,0x07,0x02,0x00]
    190 0x01 0x00 0x97 0xd2 0x02 0x07 0x02 0x00
    191 
    192 # VI:   v_cvt_pk_i16_i32_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x98,0xd2,0x02,0x07,0x02,0x00]
    193 0x01 0x00 0x98 0xd2 0x02 0x07 0x02 0x00
    194 
    195 # VI:     v_add_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3e]
    196 0x02 0x07 0x02 0x3e
    197 
    198 # VI:     v_sub_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x40]
    199 0x02 0x07 0x02 0x40
    200 
    201 # VI:     v_subrev_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x42]
    202 0x02 0x07 0x02 0x42
    203 
    204 # VI:     v_mul_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x44]
    205 0x02 0x07 0x02 0x44
    206 
    207 # VI:     v_mac_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x46]
    208 0x02 0x07 0x02 0x46
    209 
    210 # VI:     v_madmk_f16_e32 v1, v2, 0x42800000, v3 ; encoding: [0x02,0x07,0x02,0x48,0x00,0x00,0x80,0x42]
    211 0x02 0x07 0x02 0x48 0x00 0x00 0x80 0x42
    212 
    213 # VI:     v_madak_f16_e32 v1, v2, v3, 0x42800000 ; encoding: [0x02,0x07,0x02,0x4a,0x00,0x00,0x80,0x42]
    214 0x02 0x07 0x02 0x4a 0x00 0x00 0x80 0x42
    215 
    216 # VI:     v_add_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4c]
    217 0x02 0x07 0x02 0x4c
    218 
    219 # VI:     v_sub_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4e]
    220 0x02 0x07 0x02 0x4e
    221 
    222 # VI:     v_subrev_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x50]
    223 0x02 0x07 0x02 0x50
    224 
    225 # VI:     v_mul_lo_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x52]
    226 0x02 0x07 0x02 0x52
    227 
    228 # VI:     v_lshlrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x54]
    229 0x02 0x07 0x02 0x54
    230 
    231 # VI: v_lshrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x56]
    232 0x02 0x07 0x02 0x56
    233 
    234 # VI:     v_ashrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x58]
    235 0x02 0x07 0x02 0x58
    236 
    237 # VI:     v_max_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5a]
    238 0x02 0x07 0x02 0x5a
    239 
    240 # VI:     v_min_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5c]
    241 0x02 0x07 0x02 0x5c
    242 
    243 # VI:     v_max_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5e]
    244 0x02 0x07 0x02 0x5e
    245 
    246 # VI:     v_max_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x60]
    247 0x02 0x07 0x02 0x60
    248 
    249 # VI:     v_min_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x62]
    250 0x02 0x07 0x02 0x62
    251 
    252 # VI:     v_min_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x64]
    253 0x02 0x07 0x02 0x64
    254 
    255 # VI:     v_ldexp_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x66]
    256 0x02 0x07 0x02 0x66
    257