Home | History | Annotate | Download | only in AMDGPU
      1 // RUN: llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=CIVI -check-prefix=VI %s
      2 
      3 v_add_f16 v1, 0, v2
      4 // VI: v_add_f16_e32 v1, 0, v2 ; encoding: [0x80,0x04,0x02,0x3e]
      5 
      6 v_add_f16 v1, 0.0, v2
      7 // VI: v_add_f16_e32 v1, 0, v2 ; encoding: [0x80,0x04,0x02,0x3e]
      8 
      9 v_add_f16 v1, v2, 0
     10 // VI: v_add_f16_e64 v1, v2, 0 ; encoding: [0x01,0x00,0x1f,0xd1,0x02,0x01,0x01,0x00]
     11 
     12 v_add_f16 v1, v2, 0.0
     13 // VI: v_add_f16_e64 v1, v2, 0 ; encoding: [0x01,0x00,0x1f,0xd1,0x02,0x01,0x01,0x00]
     14 
     15 v_add_f16 v1, -0.0, v2
     16 // VI: v_add_f16_e32 v1, 0x8000, v2 ; encoding: [0xff,0x04,0x02,0x3e,0x00,0x80,0x00,0x00]
     17 
     18 v_add_f16 v1, 1.0, v2
     19 // VI: v_add_f16_e32 v1, 1.0, v2 ; encoding: [0xf2,0x04,0x02,0x3e]
     20 
     21 v_add_f16 v1, -1.0, v2
     22 // VI: v_add_f16_e32 v1, -1.0, v2 ; encoding: [0xf3,0x04,0x02,0x3e]
     23 
     24 v_add_f16 v1, -0.5, v2
     25 // VI: v_add_f16_e32 v1, -0.5, v2 ; encoding: [0xf1,0x04,0x02,0x3e]
     26 
     27 v_add_f16 v1, 0.5, v2
     28 // VI: v_add_f16_e32 v1, 0.5, v2 ; encoding: [0xf0,0x04,0x02,0x3e]
     29 
     30 v_add_f16 v1, 2.0, v2
     31 // VI: v_add_f16_e32 v1, 2.0, v2 ; encoding: [0xf4,0x04,0x02,0x3e]
     32 
     33 v_add_f16 v1, -2.0, v2
     34 // VI: v_add_f16_e32 v1, -2.0, v2 ; encoding: [0xf5,0x04,0x02,0x3e]
     35 
     36 v_add_f16 v1, 4.0, v2
     37 // VI: v_add_f16_e32 v1, 4.0, v2 ; encoding: [0xf6,0x04,0x02,0x3e]
     38 
     39 v_add_f16 v1, -4.0, v2
     40 // VI: v_add_f16_e32 v1, -4.0, v2 ; encoding: [0xf7,0x04,0x02,0x3e]
     41 
     42 v_add_f16 v1, 0.15915494, v2
     43 // VI: v_add_f16_e32 v1, 0.15915494, v2 ; encoding: [0xf8,0x04,0x02,0x3e]
     44 
     45 v_add_f16 v1, -0.15915494, v2
     46 // VI: v_add_f16_e32 v1, 0xb118, v2 ; encoding: [0xff,0x04,0x02,0x3e,0x18,0xb1,0x00,0x00]
     47 
     48 v_add_f16 v1, -1, v2
     49 // VI: v_add_f16_e32 v1, -1, v2 ; encoding: [0xc1,0x04,0x02,0x3e]
     50 
     51 
     52 v_add_f16 v1, -2, v2
     53 // VI: v_add_f16_e32 v1, -2, v2 ; encoding: [0xc2,0x04,0x02,0x3e]
     54 
     55 v_add_f16 v1, -3, v2
     56 // VI: v_add_f16_e32 v1, -3, v2 ; encoding: [0xc3,0x04,0x02,0x3e]
     57 
     58 v_add_f16 v1, -16, v2
     59 // VI: v_add_f16_e32 v1, -16, v2 ; encoding: [0xd0,0x04,0x02,0x3e]
     60 
     61 v_add_f16 v1, 1, v2
     62 // VI: v_add_f16_e32 v1, 1, v2 ; encoding: [0x81,0x04,0x02,0x3e]
     63 
     64 v_add_f16 v1, 2, v2
     65 // VI: v_add_f16_e32 v1, 2, v2 ; encoding: [0x82,0x04,0x02,0x3e]
     66 
     67 v_add_f16 v1, 3, v2
     68 // VI: v_add_f16_e32 v1, 3, v2 ; encoding: [0x83,0x04,0x02,0x3e]
     69 
     70 v_add_f16 v1, 4, v2
     71 // VI: v_add_f16_e32 v1, 4, v2 ; encoding: [0x84,0x04,0x02,0x3e]
     72 
     73 v_add_f16 v1, 15, v2
     74 // VI: v_add_f16_e32 v1, 15, v2 ; encoding: [0x8f,0x04,0x02,0x3e]
     75 
     76 v_add_f16 v1, 16, v2
     77 // VI: v_add_f16_e32 v1, 16, v2 ; encoding: [0x90,0x04,0x02,0x3e]
     78 
     79 v_add_f16 v1, 63, v2
     80 // VI: v_add_f16_e32 v1, 63, v2 ; encoding: [0xbf,0x04,0x02,0x3e]
     81 
     82 v_add_f16 v1, 64, v2
     83 // VI: v_add_f16_e32 v1, 64, v2 ; encoding: [0xc0,0x04,0x02,0x3e]
     84 
     85 v_add_f16 v1, 0x0001, v2
     86 // VI: v_add_f16_e32 v1, 1, v2 ; encoding: [0x81,0x04,0x02,0x3e]
     87 
     88 v_add_f16 v1, 0xffff, v2
     89 // VI: v_add_f16_e32 v1, -1, v2 ; encoding: [0xc1,0x04,0x02,0x3e]
     90 
     91 v_add_f16 v1, -17, v2
     92 // VI: v_add_f16_e32 v1, 0xffef, v2 ; encoding: [0xff,0x04,0x02,0x3e,0xef,0xff,0x00,0x00]
     93 
     94 v_add_f16 v1, 65, v2
     95 // VI: v_add_f16_e32 v1, 0x41, v2 ; encoding: [0xff,0x04,0x02,0x3e,0x41,0x00,0x00,0x00]
     96 
     97 v_add_f16 v1, 0x3c00, v2
     98 // VI: v_add_f16_e32 v1, 1.0, v2 ; encoding: [0xf2,0x04,0x02,0x3e]
     99 
    100 v_add_f16 v1, 0xbc00, v2
    101 // VI: v_add_f16_e32 v1, -1.0, v2 ; encoding: [0xf3,0x04,0x02,0x3e]
    102 
    103 v_add_f16 v1, 0x3800, v2
    104 // VI: v_add_f16_e32 v1, 0.5, v2 ; encoding: [0xf0,0x04,0x02,0x3e]
    105 
    106 v_add_f16 v1, 0xb800, v2
    107 // VI: v_add_f16_e32 v1, -0.5, v2 ; encoding: [0xf1,0x04,0x02,0x3e]
    108 
    109 v_add_f16 v1, 0x4000, v2
    110 // VI: v_add_f16_e32 v1, 2.0, v2 ; encoding: [0xf4,0x04,0x02,0x3e]
    111 
    112 v_add_f16 v1, 0xc000, v2
    113 // VI: v_add_f16_e32 v1, -2.0, v2 ; encoding: [0xf5,0x04,0x02,0x3e]
    114 
    115 v_add_f16 v1, 0x4400, v2
    116 // VI: v_add_f16_e32 v1, 4.0, v2 ; encoding: [0xf6,0x04,0x02,0x3e]
    117 
    118 v_add_f16 v1, 0xc400, v2
    119 // VI: v_add_f16_e32 v1, -4.0, v2 ; encoding: [0xf7,0x04,0x02,0x3e]
    120 
    121 v_add_f16 v1, 0x3118, v2
    122 // VI: v_add_f16_e32 v1, 0.15915494, v2 ; encoding: [0xf8,0x04,0x02,0x3e]
    123 
    124 v_add_f16 v1, -32768, v2
    125 // VI: v_add_f16_e32 v1, 0x8000, v2 ; encoding: [0xff,0x04,0x02,0x3e,0x00,0x80,0x00,0x00]
    126 
    127 v_add_f16 v1, 32767, v2
    128 // VI: v_add_f16_e32 v1, 0x7fff, v2 ; encoding: [0xff,0x04,0x02,0x3e,0xff,0x7f,0x00,0x00]
    129 
    130 v_add_f16 v1, 65535, v2
    131 // VI: v_add_f16_e32 v1, -1, v2 ; encoding: [0xc1,0x04,0x02,0x3e]
    132 
    133 
    134 // K-constant
    135 v_madmk_f16 v1, v2, 0x4280, v3
    136 // VI: v_madmk_f16 v1, v2, 0x4280, v3 ; encoding: [0x02,0x07,0x02,0x48,0x80,0x42,0x00,0x00]
    137 
    138 v_madmk_f16 v1, v2, 1.0, v3
    139 // VI: v_madmk_f16 v1, v2, 0x3c00, v3 ; encoding: [0x02,0x07,0x02,0x48,0x00,0x3c,0x00,0x00]
    140 
    141 v_madmk_f16 v1, v2, 1, v3
    142 // VI: v_madmk_f16 v1, v2, 0x1, v3 ; encoding: [0x02,0x07,0x02,0x48,0x01,0x00,0x00,0x00]
    143 
    144 v_madmk_f16 v1, v2, 64.0, v3
    145 // VI: v_madmk_f16 v1, v2, 0x5400, v3 ; encoding: [0x02,0x07,0x02,0x48,0x00,0x54,0x00,0x00]
    146 
    147 
    148 v_add_f16_e32 v1, 64.0, v2
    149