Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
      2 
      3   vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7}
      4 //CHECK: vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7}
      5 //CHECK: encoding: [0x62,0xf2,0xd5,0x0f,0xb4,0xf4]
      6 
      7   vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7} {z}
      8 //CHECK: vpmadd52luq %xmm4, %xmm5, %xmm6 {%k7} {z}
      9 //CHECK: encoding: [0x62,0xf2,0xd5,0x8f,0xb4,0xf4]
     10 
     11   vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7}
     12 //CHECK: vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7}
     13 //CHECK: encoding: [0x62,0xf2,0xd5,0x2f,0xb4,0xf4]
     14 
     15   vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7} {z}
     16 //CHECK: vpmadd52luq %ymm4, %ymm5, %ymm6 {%k7} {z}
     17 //CHECK: encoding: [0x62,0xf2,0xd5,0xaf,0xb4,0xf4]
     18 
     19   vpmadd52luq %xmm28, %xmm29, %xmm30
     20 //CHECK: vpmadd52luq %xmm28, %xmm29, %xmm30
     21 //CHECK: encoding: [0x62,0x02,0x95,0x00,0xb4,0xf4]
     22 
     23   vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7}
     24 //CHECK: vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7}
     25 //CHECK: encoding: [0x62,0x02,0x95,0x07,0xb4,0xf4]
     26 
     27   vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7} {z}
     28 //CHECK: vpmadd52luq %xmm28, %xmm29, %xmm30 {%k7} {z}
     29 //CHECK: encoding: [0x62,0x02,0x95,0x87,0xb4,0xf4]
     30 
     31   vpmadd52luq (%rcx), %xmm29, %xmm30
     32 //CHECK: vpmadd52luq (%rcx), %xmm29, %xmm30
     33 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0x31]
     34 
     35   vpmadd52luq 0x123(%rax,%r14,8), %xmm29, %xmm30
     36 //CHECK: vpmadd52luq 291(%rax,%r14,8), %xmm29, %xmm30
     37 //CHECK: encoding: [0x62,0x22,0x95,0x00,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]
     38 
     39   vpmadd52luq (%rcx){1to2}, %xmm29, %xmm30
     40 //CHECK: vpmadd52luq (%rcx){1to2}, %xmm29, %xmm30
     41 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0x31]
     42 
     43   vpmadd52luq 0x7f0(%rdx), %xmm29, %xmm30
     44 //CHECK: vpmadd52luq 2032(%rdx), %xmm29, %xmm30
     45 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0x72,0x7f]
     46 
     47   vpmadd52luq 0x800(%rdx), %xmm29, %xmm30
     48 //CHECK: vpmadd52luq 2048(%rdx), %xmm29, %xmm30
     49 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0xb2,0x00,0x08,0x00,0x00]
     50 
     51   vpmadd52luq -0x800(%rdx), %xmm29, %xmm30
     52 //CHECK: vpmadd52luq -2048(%rdx), %xmm29, %xmm30
     53 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0x72,0x80]
     54 
     55   vpmadd52luq -0x810(%rdx), %xmm29, %xmm30
     56 //CHECK: vpmadd52luq -2064(%rdx), %xmm29, %xmm30
     57 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb4,0xb2,0xf0,0xf7,0xff,0xff]
     58 
     59   vpmadd52luq 0x3f8(%rdx){1to2}, %xmm29, %xmm30
     60 //CHECK: vpmadd52luq 1016(%rdx){1to2}, %xmm29, %xmm30
     61 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0x72,0x7f]
     62 
     63   vpmadd52luq 0x400(%rdx){1to2}, %xmm29, %xmm30
     64 //CHECK: vpmadd52luq 1024(%rdx){1to2}, %xmm29, %xmm30
     65 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0xb2,0x00,0x04,0x00,0x00]
     66 
     67   vpmadd52luq -0x400(%rdx){1to2}, %xmm29, %xmm30
     68 //CHECK: vpmadd52luq -1024(%rdx){1to2}, %xmm29, %xmm30
     69 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0x72,0x80]
     70 
     71   vpmadd52luq -0x408(%rdx){1to2}, %xmm29, %xmm30
     72 //CHECK: vpmadd52luq -1032(%rdx){1to2}, %xmm29, %xmm30
     73 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb4,0xb2,0xf8,0xfb,0xff,0xff]
     74 
     75   vpmadd52luq %ymm28, %ymm29, %ymm30
     76 //CHECK: vpmadd52luq %ymm28, %ymm29, %ymm30
     77 //CHECK: encoding: [0x62,0x02,0x95,0x20,0xb4,0xf4]
     78 
     79   vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7}
     80 //CHECK: vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7}
     81 //CHECK: encoding: [0x62,0x02,0x95,0x27,0xb4,0xf4]
     82 
     83   vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7} {z}
     84 //CHECK: vpmadd52luq %ymm28, %ymm29, %ymm30 {%k7} {z}
     85 //CHECK: encoding: [0x62,0x02,0x95,0xa7,0xb4,0xf4]
     86 
     87   vpmadd52luq (%rcx), %ymm29, %ymm30
     88 //CHECK: vpmadd52luq (%rcx), %ymm29, %ymm30
     89 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0x31]
     90 
     91   vpmadd52luq 0x123(%rax,%r14,8), %ymm29, %ymm30
     92 //CHECK: vpmadd52luq 291(%rax,%r14,8), %ymm29, %ymm30
     93 //CHECK: encoding: [0x62,0x22,0x95,0x20,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]
     94 
     95   vpmadd52luq (%rcx){1to4}, %ymm29, %ymm30
     96 //CHECK: vpmadd52luq (%rcx){1to4}, %ymm29, %ymm30
     97 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0x31]
     98 
     99   vpmadd52luq 0xfe0(%rdx), %ymm29, %ymm30
    100 //CHECK: vpmadd52luq 4064(%rdx), %ymm29, %ymm30
    101 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0x72,0x7f]
    102 
    103   vpmadd52luq 0x1000(%rdx), %ymm29, %ymm30
    104 //CHECK: vpmadd52luq 4096(%rdx), %ymm29, %ymm30
    105 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0xb2,0x00,0x10,0x00,0x00]
    106 
    107   vpmadd52luq -0x1000(%rdx), %ymm29, %ymm30
    108 //CHECK: vpmadd52luq -4096(%rdx), %ymm29, %ymm30
    109 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0x72,0x80]
    110 
    111   vpmadd52luq -0x1020(%rdx), %ymm29, %ymm30
    112 //CHECK: vpmadd52luq -4128(%rdx), %ymm29, %ymm30
    113 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb4,0xb2,0xe0,0xef,0xff,0xff]
    114 
    115   vpmadd52luq 0x3f8(%rdx){1to4}, %ymm29, %ymm30
    116 //CHECK: vpmadd52luq 1016(%rdx){1to4}, %ymm29, %ymm30
    117 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0x72,0x7f]
    118 
    119   vpmadd52luq 0x400(%rdx){1to4}, %ymm29, %ymm30
    120 //CHECK: vpmadd52luq 1024(%rdx){1to4}, %ymm29, %ymm30
    121 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0xb2,0x00,0x04,0x00,0x00]
    122 
    123   vpmadd52luq -0x400(%rdx){1to4}, %ymm29, %ymm30
    124 //CHECK: vpmadd52luq -1024(%rdx){1to4}, %ymm29, %ymm30
    125 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0x72,0x80]
    126 
    127   vpmadd52luq -0x408(%rdx){1to4}, %ymm29, %ymm30
    128 //CHECK: vpmadd52luq -1032(%rdx){1to4}, %ymm29, %ymm30
    129 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb4,0xb2,0xf8,0xfb,0xff,0xff]
    130 
    131   vpmadd52luq 0x1234(%rax,%r14,8), %xmm29, %xmm30
    132 //CHECK: vpmadd52luq 4660(%rax,%r14,8), %xmm29, %xmm30
    133 //CHECK: encoding: [0x62,0x22,0x95,0x00,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]
    134 
    135   vpmadd52luq 0x1234(%rax,%r14,8), %ymm29, %ymm30
    136 //CHECK: vpmadd52luq 4660(%rax,%r14,8), %ymm29, %ymm30
    137 //CHECK: encoding: [0x62,0x22,0x95,0x20,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]
    138 
    139 vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7}
    140 //CHECK: vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7}
    141 //CHECK: encoding: [0x62,0xf2,0xd5,0x0f,0xb5,0xf4]
    142 
    143   vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7} {z}
    144 //CHECK: vpmadd52huq %xmm4, %xmm5, %xmm6 {%k7} {z}
    145 //CHECK: encoding: [0x62,0xf2,0xd5,0x8f,0xb5,0xf4]
    146 
    147   vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7}
    148 //CHECK: vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7}
    149 //CHECK: encoding: [0x62,0xf2,0xd5,0x2f,0xb5,0xf4]
    150 
    151   vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7} {z}
    152 //CHECK: vpmadd52huq %ymm4, %ymm5, %ymm6 {%k7} {z}
    153 //CHECK: encoding: [0x62,0xf2,0xd5,0xaf,0xb5,0xf4]
    154 
    155   vpmadd52huq %xmm28, %xmm29, %xmm30
    156 //CHECK: vpmadd52huq %xmm28, %xmm29, %xmm30
    157 //CHECK: encoding: [0x62,0x02,0x95,0x00,0xb5,0xf4]
    158 
    159   vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7}
    160 //CHECK: vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7}
    161 //CHECK: encoding: [0x62,0x02,0x95,0x07,0xb5,0xf4]
    162 
    163   vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7} {z}
    164 //CHECK: vpmadd52huq %xmm28, %xmm29, %xmm30 {%k7} {z}
    165 //CHECK: encoding: [0x62,0x02,0x95,0x87,0xb5,0xf4]
    166 
    167   vpmadd52huq (%rcx), %xmm29, %xmm30
    168 //CHECK: vpmadd52huq (%rcx), %xmm29, %xmm30
    169 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0x31]
    170 
    171   vpmadd52huq 0x123(%rax,%r14,8), %xmm29, %xmm30
    172 //CHECK: vpmadd52huq 291(%rax,%r14,8), %xmm29, %xmm30
    173 //CHECK: encoding: [0x62,0x22,0x95,0x00,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]
    174 
    175   vpmadd52huq (%rcx){1to2}, %xmm29, %xmm30
    176 //CHECK: vpmadd52huq (%rcx){1to2}, %xmm29, %xmm30
    177 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0x31]
    178 
    179   vpmadd52huq 0x7f0(%rdx), %xmm29, %xmm30
    180 //CHECK: vpmadd52huq 2032(%rdx), %xmm29, %xmm30
    181 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0x72,0x7f]
    182 
    183   vpmadd52huq 0x800(%rdx), %xmm29, %xmm30
    184 //CHECK: vpmadd52huq 2048(%rdx), %xmm29, %xmm30
    185 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0xb2,0x00,0x08,0x00,0x00]
    186 
    187   vpmadd52huq -0x800(%rdx), %xmm29, %xmm30
    188 //CHECK: vpmadd52huq -2048(%rdx), %xmm29, %xmm30
    189 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0x72,0x80]
    190 
    191   vpmadd52huq -0x810(%rdx), %xmm29, %xmm30
    192 //CHECK: vpmadd52huq -2064(%rdx), %xmm29, %xmm30
    193 //CHECK: encoding: [0x62,0x62,0x95,0x00,0xb5,0xb2,0xf0,0xf7,0xff,0xff]
    194 
    195   vpmadd52huq 0x3f8(%rdx){1to2}, %xmm29, %xmm30
    196 //CHECK: vpmadd52huq 1016(%rdx){1to2}, %xmm29, %xmm30
    197 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0x72,0x7f]
    198 
    199   vpmadd52huq 0x400(%rdx){1to2}, %xmm29, %xmm30
    200 //CHECK: vpmadd52huq 1024(%rdx){1to2}, %xmm29, %xmm30
    201 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0xb2,0x00,0x04,0x00,0x00]
    202 
    203   vpmadd52huq -0x400(%rdx){1to2}, %xmm29, %xmm30
    204 //CHECK: vpmadd52huq -1024(%rdx){1to2}, %xmm29, %xmm30
    205 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0x72,0x80]
    206 
    207   vpmadd52huq -0x408(%rdx){1to2}, %xmm29, %xmm30
    208 //CHECK: vpmadd52huq -1032(%rdx){1to2}, %xmm29, %xmm30
    209 //CHECK: encoding: [0x62,0x62,0x95,0x10,0xb5,0xb2,0xf8,0xfb,0xff,0xff]
    210 
    211   vpmadd52huq %ymm28, %ymm29, %ymm30
    212 //CHECK: vpmadd52huq %ymm28, %ymm29, %ymm30
    213 //CHECK: encoding: [0x62,0x02,0x95,0x20,0xb5,0xf4]
    214 
    215   vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7}
    216 //CHECK: vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7}
    217 //CHECK: encoding: [0x62,0x02,0x95,0x27,0xb5,0xf4]
    218 
    219   vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7} {z}
    220 //CHECK: vpmadd52huq %ymm28, %ymm29, %ymm30 {%k7} {z}
    221 //CHECK: encoding: [0x62,0x02,0x95,0xa7,0xb5,0xf4]
    222 
    223   vpmadd52huq (%rcx), %ymm29, %ymm30
    224 //CHECK: vpmadd52huq (%rcx), %ymm29, %ymm30
    225 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0x31]
    226 
    227   vpmadd52huq 0x123(%rax,%r14,8), %ymm29, %ymm30
    228 //CHECK: vpmadd52huq 291(%rax,%r14,8), %ymm29, %ymm30
    229 //CHECK: encoding: [0x62,0x22,0x95,0x20,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]
    230 
    231   vpmadd52huq (%rcx){1to4}, %ymm29, %ymm30
    232 //CHECK: vpmadd52huq (%rcx){1to4}, %ymm29, %ymm30
    233 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0x31]
    234 
    235   vpmadd52huq 0xfe0(%rdx), %ymm29, %ymm30
    236 //CHECK: vpmadd52huq 4064(%rdx), %ymm29, %ymm30
    237 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0x72,0x7f]
    238 
    239   vpmadd52huq 0x1000(%rdx), %ymm29, %ymm30
    240 //CHECK: vpmadd52huq 4096(%rdx), %ymm29, %ymm30
    241 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0xb2,0x00,0x10,0x00,0x00]
    242 
    243   vpmadd52huq -0x1000(%rdx), %ymm29, %ymm30
    244 //CHECK: vpmadd52huq -4096(%rdx), %ymm29, %ymm30
    245 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0x72,0x80]
    246 
    247   vpmadd52huq -0x1020(%rdx), %ymm29, %ymm30
    248 //CHECK: vpmadd52huq -4128(%rdx), %ymm29, %ymm30
    249 //CHECK: encoding: [0x62,0x62,0x95,0x20,0xb5,0xb2,0xe0,0xef,0xff,0xff]
    250 
    251   vpmadd52huq 0x3f8(%rdx){1to4}, %ymm29, %ymm30
    252 //CHECK: vpmadd52huq 1016(%rdx){1to4}, %ymm29, %ymm30
    253 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0x72,0x7f]
    254 
    255   vpmadd52huq 0x400(%rdx){1to4}, %ymm29, %ymm30
    256 //CHECK: vpmadd52huq 1024(%rdx){1to4}, %ymm29, %ymm30
    257 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0xb2,0x00,0x04,0x00,0x00]
    258 
    259   vpmadd52huq -0x400(%rdx){1to4}, %ymm29, %ymm30
    260 //CHECK: vpmadd52huq -1024(%rdx){1to4}, %ymm29, %ymm30
    261 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0x72,0x80]
    262 
    263   vpmadd52huq -0x408(%rdx){1to4}, %ymm29, %ymm30
    264 //CHECK: vpmadd52huq -1032(%rdx){1to4}, %ymm29, %ymm30
    265 //CHECK: encoding: [0x62,0x62,0x95,0x30,0xb5,0xb2,0xf8,0xfb,0xff,0xff]
    266 
    267   vpmadd52huq 0x1234(%rax,%r14,8), %xmm29, %xmm30
    268 //CHECK: vpmadd52huq 4660(%rax,%r14,8), %xmm29, %xmm30
    269 //CHECK: encoding: [0x62,0x22,0x95,0x00,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]
    270 
    271   vpmadd52huq 0x1234(%rax,%r14,8), %ymm29, %ymm30
    272 //CHECK: vpmadd52huq 4660(%rax,%r14,8), %ymm29, %ymm30
    273 //CHECK: encoding: [0x62,0x22,0x95,0x20,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]
    274 
    275