Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
      2 
      3 // CHECK: vaesdec 485498096, %xmm15, %xmm15
      4 // CHECK: encoding: [0xc4,0x62,0x01,0xde,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
      5 vaesdec 485498096, %xmm15, %xmm15
      6 
      7 // CHECK: vaesdec 485498096, %xmm6, %xmm6
      8 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
      9 vaesdec 485498096, %xmm6, %xmm6
     10 
     11 // CHECK: vaesdec 64(%rdx,%rax,4), %xmm15, %xmm15
     12 // CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7c,0x82,0x40]
     13 vaesdec 64(%rdx,%rax,4), %xmm15, %xmm15
     14 
     15 // CHECK: vaesdec -64(%rdx,%rax,4), %xmm15, %xmm15
     16 // CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7c,0x82,0xc0]
     17 vaesdec -64(%rdx,%rax,4), %xmm15, %xmm15
     18 
     19 // CHECK: vaesdec 64(%rdx,%rax,4), %xmm6, %xmm6
     20 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x74,0x82,0x40]
     21 vaesdec 64(%rdx,%rax,4), %xmm6, %xmm6
     22 
     23 // CHECK: vaesdec -64(%rdx,%rax,4), %xmm6, %xmm6
     24 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x74,0x82,0xc0]
     25 vaesdec -64(%rdx,%rax,4), %xmm6, %xmm6
     26 
     27 // CHECK: vaesdec 64(%rdx,%rax), %xmm15, %xmm15
     28 // CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7c,0x02,0x40]
     29 vaesdec 64(%rdx,%rax), %xmm15, %xmm15
     30 
     31 // CHECK: vaesdec 64(%rdx,%rax), %xmm6, %xmm6
     32 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x74,0x02,0x40]
     33 vaesdec 64(%rdx,%rax), %xmm6, %xmm6
     34 
     35 // CHECK: vaesdec 64(%rdx), %xmm15, %xmm15
     36 // CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7a,0x40]
     37 vaesdec 64(%rdx), %xmm15, %xmm15
     38 
     39 // CHECK: vaesdec 64(%rdx), %xmm6, %xmm6
     40 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x72,0x40]
     41 vaesdec 64(%rdx), %xmm6, %xmm6
     42 
     43 // CHECK: vaesdeclast 485498096, %xmm15, %xmm15
     44 // CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
     45 vaesdeclast 485498096, %xmm15, %xmm15
     46 
     47 // CHECK: vaesdeclast 485498096, %xmm6, %xmm6
     48 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
     49 vaesdeclast 485498096, %xmm6, %xmm6
     50 
     51 // CHECK: vaesdeclast 64(%rdx,%rax,4), %xmm15, %xmm15
     52 // CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7c,0x82,0x40]
     53 vaesdeclast 64(%rdx,%rax,4), %xmm15, %xmm15
     54 
     55 // CHECK: vaesdeclast -64(%rdx,%rax,4), %xmm15, %xmm15
     56 // CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7c,0x82,0xc0]
     57 vaesdeclast -64(%rdx,%rax,4), %xmm15, %xmm15
     58 
     59 // CHECK: vaesdeclast 64(%rdx,%rax,4), %xmm6, %xmm6
     60 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x74,0x82,0x40]
     61 vaesdeclast 64(%rdx,%rax,4), %xmm6, %xmm6
     62 
     63 // CHECK: vaesdeclast -64(%rdx,%rax,4), %xmm6, %xmm6
     64 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x74,0x82,0xc0]
     65 vaesdeclast -64(%rdx,%rax,4), %xmm6, %xmm6
     66 
     67 // CHECK: vaesdeclast 64(%rdx,%rax), %xmm15, %xmm15
     68 // CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7c,0x02,0x40]
     69 vaesdeclast 64(%rdx,%rax), %xmm15, %xmm15
     70 
     71 // CHECK: vaesdeclast 64(%rdx,%rax), %xmm6, %xmm6
     72 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x74,0x02,0x40]
     73 vaesdeclast 64(%rdx,%rax), %xmm6, %xmm6
     74 
     75 // CHECK: vaesdeclast 64(%rdx), %xmm15, %xmm15
     76 // CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7a,0x40]
     77 vaesdeclast 64(%rdx), %xmm15, %xmm15
     78 
     79 // CHECK: vaesdeclast 64(%rdx), %xmm6, %xmm6
     80 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x72,0x40]
     81 vaesdeclast 64(%rdx), %xmm6, %xmm6
     82 
     83 // CHECK: vaesdeclast (%rdx), %xmm15, %xmm15
     84 // CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x3a]
     85 vaesdeclast (%rdx), %xmm15, %xmm15
     86 
     87 // CHECK: vaesdeclast (%rdx), %xmm6, %xmm6
     88 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x32]
     89 vaesdeclast (%rdx), %xmm6, %xmm6
     90 
     91 // CHECK: vaesdeclast %xmm15, %xmm15, %xmm15
     92 // CHECK: encoding: [0xc4,0x42,0x01,0xdf,0xff]
     93 vaesdeclast %xmm15, %xmm15, %xmm15
     94 
     95 // CHECK: vaesdeclast %xmm6, %xmm6, %xmm6
     96 // CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0xf6]
     97 vaesdeclast %xmm6, %xmm6, %xmm6
     98 
     99 // CHECK: vaesdec (%rdx), %xmm15, %xmm15
    100 // CHECK: encoding: [0xc4,0x62,0x01,0xde,0x3a]
    101 vaesdec (%rdx), %xmm15, %xmm15
    102 
    103 // CHECK: vaesdec (%rdx), %xmm6, %xmm6
    104 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x32]
    105 vaesdec (%rdx), %xmm6, %xmm6
    106 
    107 // CHECK: vaesdec %xmm15, %xmm15, %xmm15
    108 // CHECK: encoding: [0xc4,0x42,0x01,0xde,0xff]
    109 vaesdec %xmm15, %xmm15, %xmm15
    110 
    111 // CHECK: vaesdec %xmm6, %xmm6, %xmm6
    112 // CHECK: encoding: [0xc4,0xe2,0x49,0xde,0xf6]
    113 vaesdec %xmm6, %xmm6, %xmm6
    114 
    115 // CHECK: vaesenc 485498096, %xmm15, %xmm15
    116 // CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
    117 vaesenc 485498096, %xmm15, %xmm15
    118 
    119 // CHECK: vaesenc 485498096, %xmm6, %xmm6
    120 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
    121 vaesenc 485498096, %xmm6, %xmm6
    122 
    123 // CHECK: vaesenc 64(%rdx,%rax,4), %xmm15, %xmm15
    124 // CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7c,0x82,0x40]
    125 vaesenc 64(%rdx,%rax,4), %xmm15, %xmm15
    126 
    127 // CHECK: vaesenc -64(%rdx,%rax,4), %xmm15, %xmm15
    128 // CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7c,0x82,0xc0]
    129 vaesenc -64(%rdx,%rax,4), %xmm15, %xmm15
    130 
    131 // CHECK: vaesenc 64(%rdx,%rax,4), %xmm6, %xmm6
    132 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x74,0x82,0x40]
    133 vaesenc 64(%rdx,%rax,4), %xmm6, %xmm6
    134 
    135 // CHECK: vaesenc -64(%rdx,%rax,4), %xmm6, %xmm6
    136 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x74,0x82,0xc0]
    137 vaesenc -64(%rdx,%rax,4), %xmm6, %xmm6
    138 
    139 // CHECK: vaesenc 64(%rdx,%rax), %xmm15, %xmm15
    140 // CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7c,0x02,0x40]
    141 vaesenc 64(%rdx,%rax), %xmm15, %xmm15
    142 
    143 // CHECK: vaesenc 64(%rdx,%rax), %xmm6, %xmm6
    144 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x74,0x02,0x40]
    145 vaesenc 64(%rdx,%rax), %xmm6, %xmm6
    146 
    147 // CHECK: vaesenc 64(%rdx), %xmm15, %xmm15
    148 // CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7a,0x40]
    149 vaesenc 64(%rdx), %xmm15, %xmm15
    150 
    151 // CHECK: vaesenc 64(%rdx), %xmm6, %xmm6
    152 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x72,0x40]
    153 vaesenc 64(%rdx), %xmm6, %xmm6
    154 
    155 // CHECK: vaesenclast 485498096, %xmm15, %xmm15
    156 // CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
    157 vaesenclast 485498096, %xmm15, %xmm15
    158 
    159 // CHECK: vaesenclast 485498096, %xmm6, %xmm6
    160 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
    161 vaesenclast 485498096, %xmm6, %xmm6
    162 
    163 // CHECK: vaesenclast 64(%rdx,%rax,4), %xmm15, %xmm15
    164 // CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7c,0x82,0x40]
    165 vaesenclast 64(%rdx,%rax,4), %xmm15, %xmm15
    166 
    167 // CHECK: vaesenclast -64(%rdx,%rax,4), %xmm15, %xmm15
    168 // CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7c,0x82,0xc0]
    169 vaesenclast -64(%rdx,%rax,4), %xmm15, %xmm15
    170 
    171 // CHECK: vaesenclast 64(%rdx,%rax,4), %xmm6, %xmm6
    172 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x74,0x82,0x40]
    173 vaesenclast 64(%rdx,%rax,4), %xmm6, %xmm6
    174 
    175 // CHECK: vaesenclast -64(%rdx,%rax,4), %xmm6, %xmm6
    176 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x74,0x82,0xc0]
    177 vaesenclast -64(%rdx,%rax,4), %xmm6, %xmm6
    178 
    179 // CHECK: vaesenclast 64(%rdx,%rax), %xmm15, %xmm15
    180 // CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7c,0x02,0x40]
    181 vaesenclast 64(%rdx,%rax), %xmm15, %xmm15
    182 
    183 // CHECK: vaesenclast 64(%rdx,%rax), %xmm6, %xmm6
    184 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x74,0x02,0x40]
    185 vaesenclast 64(%rdx,%rax), %xmm6, %xmm6
    186 
    187 // CHECK: vaesenclast 64(%rdx), %xmm15, %xmm15
    188 // CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7a,0x40]
    189 vaesenclast 64(%rdx), %xmm15, %xmm15
    190 
    191 // CHECK: vaesenclast 64(%rdx), %xmm6, %xmm6
    192 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x72,0x40]
    193 vaesenclast 64(%rdx), %xmm6, %xmm6
    194 
    195 // CHECK: vaesenclast (%rdx), %xmm15, %xmm15
    196 // CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x3a]
    197 vaesenclast (%rdx), %xmm15, %xmm15
    198 
    199 // CHECK: vaesenclast (%rdx), %xmm6, %xmm6
    200 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x32]
    201 vaesenclast (%rdx), %xmm6, %xmm6
    202 
    203 // CHECK: vaesenclast %xmm15, %xmm15, %xmm15
    204 // CHECK: encoding: [0xc4,0x42,0x01,0xdd,0xff]
    205 vaesenclast %xmm15, %xmm15, %xmm15
    206 
    207 // CHECK: vaesenclast %xmm6, %xmm6, %xmm6
    208 // CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0xf6]
    209 vaesenclast %xmm6, %xmm6, %xmm6
    210 
    211 // CHECK: vaesenc (%rdx), %xmm15, %xmm15
    212 // CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x3a]
    213 vaesenc (%rdx), %xmm15, %xmm15
    214 
    215 // CHECK: vaesenc (%rdx), %xmm6, %xmm6
    216 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x32]
    217 vaesenc (%rdx), %xmm6, %xmm6
    218 
    219 // CHECK: vaesenc %xmm15, %xmm15, %xmm15
    220 // CHECK: encoding: [0xc4,0x42,0x01,0xdc,0xff]
    221 vaesenc %xmm15, %xmm15, %xmm15
    222 
    223 // CHECK: vaesenc %xmm6, %xmm6, %xmm6
    224 // CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0xf6]
    225 vaesenc %xmm6, %xmm6, %xmm6
    226 
    227 // CHECK: vaesimc 485498096, %xmm15
    228 // CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
    229 vaesimc 485498096, %xmm15
    230 
    231 // CHECK: vaesimc 485498096, %xmm6
    232 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
    233 vaesimc 485498096, %xmm6
    234 
    235 // CHECK: vaesimc 64(%rdx,%rax,4), %xmm15
    236 // CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7c,0x82,0x40]
    237 vaesimc 64(%rdx,%rax,4), %xmm15
    238 
    239 // CHECK: vaesimc -64(%rdx,%rax,4), %xmm15
    240 // CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7c,0x82,0xc0]
    241 vaesimc -64(%rdx,%rax,4), %xmm15
    242 
    243 // CHECK: vaesimc 64(%rdx,%rax,4), %xmm6
    244 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x74,0x82,0x40]
    245 vaesimc 64(%rdx,%rax,4), %xmm6
    246 
    247 // CHECK: vaesimc -64(%rdx,%rax,4), %xmm6
    248 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x74,0x82,0xc0]
    249 vaesimc -64(%rdx,%rax,4), %xmm6
    250 
    251 // CHECK: vaesimc 64(%rdx,%rax), %xmm15
    252 // CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7c,0x02,0x40]
    253 vaesimc 64(%rdx,%rax), %xmm15
    254 
    255 // CHECK: vaesimc 64(%rdx,%rax), %xmm6
    256 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x74,0x02,0x40]
    257 vaesimc 64(%rdx,%rax), %xmm6
    258 
    259 // CHECK: vaesimc 64(%rdx), %xmm15
    260 // CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7a,0x40]
    261 vaesimc 64(%rdx), %xmm15
    262 
    263 // CHECK: vaesimc 64(%rdx), %xmm6
    264 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x72,0x40]
    265 vaesimc 64(%rdx), %xmm6
    266 
    267 // CHECK: vaesimc (%rdx), %xmm15
    268 // CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x3a]
    269 vaesimc (%rdx), %xmm15
    270 
    271 // CHECK: vaesimc (%rdx), %xmm6
    272 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x32]
    273 vaesimc (%rdx), %xmm6
    274 
    275 // CHECK: vaesimc %xmm15, %xmm15
    276 // CHECK: encoding: [0xc4,0x42,0x79,0xdb,0xff]
    277 vaesimc %xmm15, %xmm15
    278 
    279 // CHECK: vaesimc %xmm6, %xmm6
    280 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0xf6]
    281 vaesimc %xmm6, %xmm6
    282 
    283 // CHECK: vaeskeygenassist $0, 485498096, %xmm15
    284 // CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
    285 vaeskeygenassist $0, 485498096, %xmm15
    286 
    287 // CHECK: vaeskeygenassist $0, 485498096, %xmm6
    288 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
    289 vaeskeygenassist $0, 485498096, %xmm6
    290 
    291 // CHECK: vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm15
    292 // CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7c,0x82,0x40,0x00]
    293 vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm15
    294 
    295 // CHECK: vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm15
    296 // CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7c,0x82,0xc0,0x00]
    297 vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm15
    298 
    299 // CHECK: vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm6
    300 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x74,0x82,0x40,0x00]
    301 vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm6
    302 
    303 // CHECK: vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm6
    304 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x74,0x82,0xc0,0x00]
    305 vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm6
    306 
    307 // CHECK: vaeskeygenassist $0, 64(%rdx,%rax), %xmm15
    308 // CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7c,0x02,0x40,0x00]
    309 vaeskeygenassist $0, 64(%rdx,%rax), %xmm15
    310 
    311 // CHECK: vaeskeygenassist $0, 64(%rdx,%rax), %xmm6
    312 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x74,0x02,0x40,0x00]
    313 vaeskeygenassist $0, 64(%rdx,%rax), %xmm6
    314 
    315 // CHECK: vaeskeygenassist $0, 64(%rdx), %xmm15
    316 // CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7a,0x40,0x00]
    317 vaeskeygenassist $0, 64(%rdx), %xmm15
    318 
    319 // CHECK: vaeskeygenassist $0, 64(%rdx), %xmm6
    320 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x72,0x40,0x00]
    321 vaeskeygenassist $0, 64(%rdx), %xmm6
    322 
    323 // CHECK: vaeskeygenassist $0, (%rdx), %xmm15
    324 // CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x3a,0x00]
    325 vaeskeygenassist $0, (%rdx), %xmm15
    326 
    327 // CHECK: vaeskeygenassist $0, (%rdx), %xmm6
    328 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x32,0x00]
    329 vaeskeygenassist $0, (%rdx), %xmm6
    330 
    331 // CHECK: vaeskeygenassist $0, %xmm15, %xmm15
    332 // CHECK: encoding: [0xc4,0x43,0x79,0xdf,0xff,0x00]
    333 vaeskeygenassist $0, %xmm15, %xmm15
    334 
    335 // CHECK: vaeskeygenassist $0, %xmm6, %xmm6
    336 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0xf6,0x00]
    337 vaeskeygenassist $0, %xmm6, %xmm6
    338 
    339