Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
      2 
      3 // vfmadd
      4 // CHECK: vfmaddss  (%rcx), %xmm1, %xmm0, %xmm0
      5 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x01,0x10]
      6           vfmaddss  (%rcx), %xmm1, %xmm0, %xmm0
      7 
      8 // CHECK: vfmaddss   %xmm1, (%rcx), %xmm0, %xmm0
      9 // CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x01,0x10]
     10           vfmaddss   %xmm1, (%rcx),%xmm0, %xmm0
     11 
     12 // CHECK: vfmaddss   %xmm2, %xmm1, %xmm0, %xmm0
     13 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0xc2,0x10]
     14           vfmaddss   %xmm2, %xmm1, %xmm0, %xmm0
     15 
     16 // CHECK: vfmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
     17 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x01,0x10]
     18           vfmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
     19 
     20 // CHECK: vfmaddsd   %xmm1, (%rcx), %xmm0, %xmm0
     21 // CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x01,0x10]
     22           vfmaddsd   %xmm1, (%rcx),%xmm0, %xmm0
     23 
     24 // CHECK: vfmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
     25 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0xc2,0x10]
     26           vfmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
     27 
     28 // CHECK: vfmaddsd   %xmm10, %xmm1, %xmm0, %xmm0
     29 // CHECK: encoding: [0xc4,0xc3,0xf9,0x6b,0xc2,0x10]
     30           vfmaddsd   %xmm10, %xmm1, %xmm0, %xmm0
     31 
     32 // CHECK: vfmaddps  (%rcx), %xmm1, %xmm0, %xmm0
     33 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x01,0x10]
     34           vfmaddps  (%rcx), %xmm1, %xmm0, %xmm0
     35 
     36 // CHECK: vfmaddps   %xmm1, (%rcx), %xmm0, %xmm0
     37 // CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x01,0x10]
     38           vfmaddps   %xmm1, (%rcx),%xmm0, %xmm0
     39 
     40 // CHECK: vfmaddps   %xmm2, %xmm1, %xmm0, %xmm0
     41 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0xc2,0x10]
     42           vfmaddps   %xmm2, %xmm1, %xmm0, %xmm0
     43 
     44 // CHECK: vfmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
     45 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x01,0x10]
     46           vfmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
     47 
     48 // CHECK: vfmaddpd   %xmm1, (%rcx), %xmm0, %xmm0
     49 // CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x01,0x10]
     50           vfmaddpd   %xmm1, (%rcx),%xmm0, %xmm0
     51 
     52 // CHECK: vfmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
     53 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0xc2,0x10]
     54           vfmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
     55 
     56 // CHECK: vfmaddps  (%rcx), %ymm1, %ymm0, %ymm0
     57 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x01,0x10]
     58           vfmaddps  (%rcx), %ymm1, %ymm0, %ymm0
     59 
     60 // CHECK: vfmaddps   %ymm1, (%rcx), %ymm0, %ymm0
     61 // CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x01,0x10]
     62           vfmaddps   %ymm1, (%rcx),%ymm0, %ymm0
     63 
     64 // CHECK: vfmaddps   %ymm2, %ymm1, %ymm0, %ymm0
     65 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0xc2,0x10]
     66           vfmaddps   %ymm2, %ymm1, %ymm0, %ymm0
     67 
     68 // CHECK: vfmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
     69 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x01,0x10]
     70           vfmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
     71 
     72 // CHECK: vfmaddpd   %ymm1, (%rcx), %ymm0, %ymm0
     73 // CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x01,0x10]
     74           vfmaddpd   %ymm1, (%rcx),%ymm0, %ymm0
     75 
     76 // CHECK: vfmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
     77 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0xc2,0x10]
     78           vfmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
     79 
     80 // PR15040
     81 // CHECK: vfmaddss  foo(%rip), %xmm1, %xmm0, %xmm0
     82 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x05,A,A,A,A,0x10]
     83 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
     84           vfmaddss  foo(%rip), %xmm1, %xmm0, %xmm0
     85 
     86 // CHECK: vfmaddss   %xmm1, foo(%rip), %xmm0, %xmm0
     87 // CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x05,A,A,A,A,0x10]
     88 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
     89           vfmaddss   %xmm1, foo(%rip),%xmm0, %xmm0
     90 
     91 // CHECK: vfmaddsd  foo(%rip), %xmm1, %xmm0, %xmm0
     92 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x05,A,A,A,A,0x10]
     93 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
     94           vfmaddsd  foo(%rip), %xmm1, %xmm0, %xmm0
     95 
     96 // CHECK: vfmaddsd   %xmm1, foo(%rip), %xmm0, %xmm0
     97 // CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x05,A,A,A,A,0x10]
     98 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
     99           vfmaddsd   %xmm1, foo(%rip),%xmm0, %xmm0
    100 
    101 // CHECK: vfmaddps  foo(%rip), %xmm1, %xmm0, %xmm0
    102 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x05,A,A,A,A,0x10]
    103 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    104           vfmaddps  foo(%rip), %xmm1, %xmm0, %xmm0
    105 
    106 // CHECK: vfmaddps   %xmm1, foo(%rip), %xmm0, %xmm0
    107 // CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x05,A,A,A,A,0x10]
    108 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    109           vfmaddps   %xmm1, foo(%rip),%xmm0, %xmm0
    110 
    111 // CHECK: vfmaddpd  foo(%rip), %xmm1, %xmm0, %xmm0
    112 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x05,A,A,A,A,0x10]
    113 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    114           vfmaddpd  foo(%rip), %xmm1, %xmm0, %xmm0
    115 
    116 // CHECK: vfmaddpd   %xmm1, foo(%rip), %xmm0, %xmm0
    117 // CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x05,A,A,A,A,0x10]
    118 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    119           vfmaddpd   %xmm1, foo(%rip),%xmm0, %xmm0
    120 
    121 // CHECK: vfmaddps  foo(%rip), %ymm1, %ymm0, %ymm0
    122 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x05,A,A,A,A,0x10]
    123 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    124           vfmaddps  foo(%rip), %ymm1, %ymm0, %ymm0
    125 
    126 // CHECK: vfmaddps   %ymm1, foo(%rip), %ymm0, %ymm0
    127 // CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x05,A,A,A,A,0x10]
    128 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    129           vfmaddps   %ymm1, foo(%rip),%ymm0, %ymm0
    130 
    131 // CHECK: vfmaddpd  foo(%rip), %ymm1, %ymm0, %ymm0
    132 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x05,A,A,A,A,0x10]
    133 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    134           vfmaddpd  foo(%rip), %ymm1, %ymm0, %ymm0
    135 
    136 // CHECK: vfmaddpd   %ymm1, foo(%rip), %ymm0, %ymm0
    137 // CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x05,A,A,A,A,0x10]
    138 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
    139           vfmaddpd   %ymm1, foo(%rip),%ymm0, %ymm0
    140 
    141 // vfmsub
    142 // CHECK: vfmsubss  (%rcx), %xmm1, %xmm0, %xmm0
    143 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0x01,0x10]
    144           vfmsubss  (%rcx), %xmm1, %xmm0, %xmm0
    145 
    146 // CHECK: vfmsubss   %xmm1, (%rcx), %xmm0, %xmm0
    147 // CHECK: encoding: [0xc4,0xe3,0x79,0x6e,0x01,0x10]
    148           vfmsubss   %xmm1, (%rcx),%xmm0, %xmm0
    149 
    150 // CHECK: vfmsubss   %xmm2, %xmm1, %xmm0, %xmm0
    151 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0xc2,0x10]
    152           vfmsubss   %xmm2, %xmm1, %xmm0, %xmm0
    153 
    154 // CHECK: vfmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
    155 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0x01,0x10]
    156           vfmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
    157 
    158 // CHECK: vfmsubsd   %xmm1, (%rcx), %xmm0, %xmm0
    159 // CHECK: encoding: [0xc4,0xe3,0x79,0x6f,0x01,0x10]
    160           vfmsubsd   %xmm1, (%rcx),%xmm0, %xmm0
    161 
    162 // CHECK: vfmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
    163 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0xc2,0x10]
    164           vfmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
    165 
    166 // CHECK: vfmsubps  (%rcx), %xmm1, %xmm0, %xmm0
    167 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0x01,0x10]
    168           vfmsubps  (%rcx), %xmm1, %xmm0, %xmm0
    169 
    170 // CHECK: vfmsubps   %xmm1, (%rcx), %xmm0, %xmm0
    171 // CHECK: encoding: [0xc4,0xe3,0x79,0x6c,0x01,0x10]
    172           vfmsubps   %xmm1, (%rcx),%xmm0, %xmm0
    173 
    174 // CHECK: vfmsubps   %xmm2, %xmm1, %xmm0, %xmm0
    175 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0xc2,0x10]
    176           vfmsubps   %xmm2, %xmm1, %xmm0, %xmm0
    177 
    178 // CHECK: vfmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
    179 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0x01,0x10]
    180           vfmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
    181 
    182 // CHECK: vfmsubpd   %xmm1, (%rcx), %xmm0, %xmm0
    183 // CHECK: encoding: [0xc4,0xe3,0x79,0x6d,0x01,0x10]
    184           vfmsubpd   %xmm1, (%rcx),%xmm0, %xmm0
    185 
    186 // CHECK: vfmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
    187 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0xc2,0x10]
    188           vfmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
    189 
    190 // CHECK: vfmsubps  (%rcx), %ymm1, %ymm0, %ymm0
    191 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0x01,0x10]
    192           vfmsubps  (%rcx), %ymm1, %ymm0, %ymm0
    193 
    194 // CHECK: vfmsubps   %ymm1, (%rcx), %ymm0, %ymm0
    195 // CHECK: encoding: [0xc4,0xe3,0x7d,0x6c,0x01,0x10]
    196           vfmsubps   %ymm1, (%rcx),%ymm0, %ymm0
    197 
    198 // CHECK: vfmsubps   %ymm2, %ymm1, %ymm0, %ymm0
    199 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0xc2,0x10]
    200           vfmsubps   %ymm2, %ymm1, %ymm0, %ymm0
    201 
    202 // CHECK: vfmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
    203 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0x01,0x10]
    204           vfmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
    205 
    206 // CHECK: vfmsubpd   %ymm1, (%rcx), %ymm0, %ymm0
    207 // CHECK: encoding: [0xc4,0xe3,0x7d,0x6d,0x01,0x10]
    208           vfmsubpd   %ymm1, (%rcx),%ymm0, %ymm0
    209 
    210 // CHECK: vfmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
    211 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0xc2,0x10]
    212           vfmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
    213 
    214 // vfnmadd
    215 // CHECK: vfnmaddss  (%rcx), %xmm1, %xmm0, %xmm0
    216 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0x01,0x10]
    217           vfnmaddss  (%rcx), %xmm1, %xmm0, %xmm0
    218 
    219 // CHECK: vfnmaddss   %xmm1, (%rcx), %xmm0, %xmm0
    220 // CHECK: encoding: [0xc4,0xe3,0x79,0x7a,0x01,0x10]
    221           vfnmaddss   %xmm1, (%rcx),%xmm0, %xmm0
    222 
    223 // CHECK: vfnmaddss   %xmm2, %xmm1, %xmm0, %xmm0
    224 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0xc2,0x10]
    225           vfnmaddss   %xmm2, %xmm1, %xmm0, %xmm0
    226 
    227 // CHECK: vfnmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
    228 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0x01,0x10]
    229           vfnmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
    230 
    231 // CHECK: vfnmaddsd   %xmm1, (%rcx), %xmm0, %xmm0
    232 // CHECK: encoding: [0xc4,0xe3,0x79,0x7b,0x01,0x10]
    233           vfnmaddsd   %xmm1, (%rcx),%xmm0, %xmm0
    234 
    235 // CHECK: vfnmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
    236 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0xc2,0x10]
    237           vfnmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
    238 
    239 // CHECK: vfnmaddps  (%rcx), %xmm1, %xmm0, %xmm0
    240 // CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0x01,0x10]
    241           vfnmaddps  (%rcx), %xmm1, %xmm0, %xmm0
    242 
    243 // CHECK: vfnmaddps   %xmm1, (%rcx), %xmm0, %xmm0
    244 // CHECK: encoding: [0xc4,0xe3,0x79,0x78,0x01,0x10]
    245           vfnmaddps   %xmm1, (%rcx),%xmm0, %xmm0
    246 
    247 // CHECK: vfnmaddps   %xmm2, %xmm1, %xmm0, %xmm0
    248 // CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0xc2,0x10]
    249           vfnmaddps   %xmm2, %xmm1, %xmm0, %xmm0
    250 
    251 // CHECK: vfnmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
    252 // CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0x01,0x10]
    253           vfnmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
    254 
    255 // CHECK: vfnmaddpd   %xmm1, (%rcx), %xmm0, %xmm0
    256 // CHECK: encoding: [0xc4,0xe3,0x79,0x79,0x01,0x10]
    257           vfnmaddpd   %xmm1, (%rcx),%xmm0, %xmm0
    258 
    259 // CHECK: vfnmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
    260 // CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0xc2,0x10]
    261           vfnmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
    262 
    263 // CHECK: vfnmaddps  (%rcx), %ymm1, %ymm0, %ymm0
    264 // CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0x01,0x10]
    265           vfnmaddps  (%rcx), %ymm1, %ymm0, %ymm0
    266 
    267 // CHECK: vfnmaddps   %ymm1, (%rcx), %ymm0, %ymm0
    268 // CHECK: encoding: [0xc4,0xe3,0x7d,0x78,0x01,0x10]
    269           vfnmaddps   %ymm1, (%rcx),%ymm0, %ymm0
    270 
    271 // CHECK: vfnmaddps   %ymm2, %ymm1, %ymm0, %ymm0
    272 // CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0xc2,0x10]
    273           vfnmaddps   %ymm2, %ymm1, %ymm0, %ymm0
    274 
    275 // CHECK: vfnmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
    276 // CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0x01,0x10]
    277           vfnmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
    278 
    279 // CHECK: vfnmaddpd   %ymm1, (%rcx), %ymm0, %ymm0
    280 // CHECK: encoding: [0xc4,0xe3,0x7d,0x79,0x01,0x10]
    281           vfnmaddpd   %ymm1, (%rcx),%ymm0, %ymm0
    282 
    283 // CHECK: vfnmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
    284 // CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0xc2,0x10]
    285           vfnmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
    286 
    287 // vfnmsub
    288 // CHECK: vfnmsubss  (%rcx), %xmm1, %xmm0, %xmm0
    289 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0x01,0x10]
    290           vfnmsubss  (%rcx), %xmm1, %xmm0, %xmm0
    291 
    292 // CHECK: vfnmsubss   %xmm1, (%rcx), %xmm0, %xmm0
    293 // CHECK: encoding: [0xc4,0xe3,0x79,0x7e,0x01,0x10]
    294           vfnmsubss   %xmm1, (%rcx),%xmm0, %xmm0
    295 
    296 // CHECK: vfnmsubss   %xmm2, %xmm1, %xmm0, %xmm0
    297 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0xc2,0x10]
    298           vfnmsubss   %xmm2, %xmm1, %xmm0, %xmm0
    299 
    300 // CHECK: vfnmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
    301 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0x01,0x10]
    302           vfnmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
    303 
    304 // CHECK: vfnmsubsd   %xmm1, (%rcx), %xmm0, %xmm0
    305 // CHECK: encoding: [0xc4,0xe3,0x79,0x7f,0x01,0x10]
    306           vfnmsubsd   %xmm1, (%rcx),%xmm0, %xmm0
    307 
    308 // CHECK: vfnmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
    309 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0xc2,0x10]
    310           vfnmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
    311 
    312 // CHECK: vfnmsubps  (%rcx), %xmm1, %xmm0, %xmm0
    313 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0x01,0x10]
    314           vfnmsubps  (%rcx), %xmm1, %xmm0, %xmm0
    315 
    316 // CHECK: vfnmsubps   %xmm1, (%rcx), %xmm0, %xmm0
    317 // CHECK: encoding: [0xc4,0xe3,0x79,0x7c,0x01,0x10]
    318           vfnmsubps   %xmm1, (%rcx),%xmm0, %xmm0
    319 
    320 // CHECK: vfnmsubps   %xmm2, %xmm1, %xmm0, %xmm0
    321 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0xc2,0x10]
    322           vfnmsubps   %xmm2, %xmm1, %xmm0, %xmm0
    323 
    324 // CHECK: vfnmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
    325 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0x01,0x10]
    326           vfnmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
    327 
    328 // CHECK: vfnmsubpd   %xmm1, (%rcx), %xmm0, %xmm0
    329 // CHECK: encoding: [0xc4,0xe3,0x79,0x7d,0x01,0x10]
    330           vfnmsubpd   %xmm1, (%rcx),%xmm0, %xmm0
    331 
    332 // CHECK: vfnmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
    333 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0xc2,0x10]
    334           vfnmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
    335 
    336 // CHECK: vfnmsubps  (%rcx), %ymm1, %ymm0, %ymm0
    337 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0x01,0x10]
    338           vfnmsubps  (%rcx), %ymm1, %ymm0, %ymm0
    339 
    340 // CHECK: vfnmsubps   %ymm1, (%rcx), %ymm0, %ymm0
    341 // CHECK: encoding: [0xc4,0xe3,0x7d,0x7c,0x01,0x10]
    342           vfnmsubps   %ymm1, (%rcx),%ymm0, %ymm0
    343 
    344 // CHECK: vfnmsubps   %ymm2, %ymm1, %ymm0, %ymm0
    345 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0xc2,0x10]
    346           vfnmsubps   %ymm2, %ymm1, %ymm0, %ymm0
    347 
    348 // CHECK: vfnmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
    349 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0x01,0x10]
    350           vfnmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
    351 
    352 // CHECK: vfnmsubpd   %ymm1, (%rcx), %ymm0, %ymm0
    353 // CHECK: encoding: [0xc4,0xe3,0x7d,0x7d,0x01,0x10]
    354           vfnmsubpd   %ymm1, (%rcx),%ymm0, %ymm0
    355 
    356 // CHECK: vfnmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
    357 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0xc2,0x10]
    358           vfnmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
    359 
    360 // vfmaddsub
    361 // CHECK: vfmaddsubps  (%rcx), %xmm1, %xmm0, %xmm0
    362 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0x01,0x10]
    363           vfmaddsubps  (%rcx), %xmm1, %xmm0, %xmm0
    364 
    365 // CHECK: vfmaddsubps   %xmm1, (%rcx), %xmm0, %xmm0
    366 // CHECK: encoding: [0xc4,0xe3,0x79,0x5c,0x01,0x10]
    367           vfmaddsubps   %xmm1, (%rcx),%xmm0, %xmm0
    368 
    369 // CHECK: vfmaddsubps   %xmm2, %xmm1, %xmm0, %xmm0
    370 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0xc2,0x10]
    371           vfmaddsubps   %xmm2, %xmm1, %xmm0, %xmm0
    372 
    373 // CHECK: vfmaddsubpd  (%rcx), %xmm1, %xmm0, %xmm0
    374 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0x01,0x10]
    375           vfmaddsubpd  (%rcx), %xmm1, %xmm0, %xmm0
    376 
    377 // CHECK: vfmaddsubpd   %xmm1, (%rcx), %xmm0, %xmm0
    378 // CHECK: encoding: [0xc4,0xe3,0x79,0x5d,0x01,0x10]
    379           vfmaddsubpd   %xmm1, (%rcx),%xmm0, %xmm0
    380 
    381 // CHECK: vfmaddsubpd   %xmm2, %xmm1, %xmm0, %xmm0
    382 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0xc2,0x10]
    383           vfmaddsubpd   %xmm2, %xmm1, %xmm0, %xmm0
    384 
    385 // CHECK: vfmaddsubps  (%rcx), %ymm1, %ymm0, %ymm0
    386 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0x01,0x10]
    387           vfmaddsubps  (%rcx), %ymm1, %ymm0, %ymm0
    388 
    389 // CHECK: vfmaddsubps   %ymm1, (%rcx), %ymm0, %ymm0
    390 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5c,0x01,0x10]
    391           vfmaddsubps   %ymm1, (%rcx),%ymm0, %ymm0
    392 
    393 // CHECK: vfmaddsubps   %ymm2, %ymm1, %ymm0, %ymm0
    394 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0xc2,0x10]
    395           vfmaddsubps   %ymm2, %ymm1, %ymm0, %ymm0
    396 
    397 // CHECK: vfmaddsubpd  (%rcx), %ymm1, %ymm0, %ymm0
    398 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0x01,0x10]
    399           vfmaddsubpd  (%rcx), %ymm1, %ymm0, %ymm0
    400 
    401 // CHECK: vfmaddsubpd   %ymm1, (%rcx), %ymm0, %ymm0
    402 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5d,0x01,0x10]
    403           vfmaddsubpd   %ymm1, (%rcx),%ymm0, %ymm0
    404 
    405 // CHECK: vfmaddsubpd   %ymm2, %ymm1, %ymm0, %ymm0
    406 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0xc2,0x10]
    407           vfmaddsubpd   %ymm2, %ymm1, %ymm0, %ymm0
    408 
    409 // vfmsubadd
    410 // CHECK: vfmsubaddps  (%rcx), %xmm1, %xmm0, %xmm0
    411 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0x01,0x10]
    412           vfmsubaddps  (%rcx), %xmm1, %xmm0, %xmm0
    413 
    414 // CHECK: vfmsubaddps   %xmm1, (%rcx), %xmm0, %xmm0
    415 // CHECK: encoding: [0xc4,0xe3,0x79,0x5e,0x01,0x10]
    416           vfmsubaddps   %xmm1, (%rcx),%xmm0, %xmm0
    417 
    418 // CHECK: vfmsubaddps   %xmm2, %xmm1, %xmm0, %xmm0
    419 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0xc2,0x10]
    420           vfmsubaddps   %xmm2, %xmm1, %xmm0, %xmm0
    421 
    422 // CHECK: vfmsubaddpd  (%rcx), %xmm1, %xmm0, %xmm0
    423 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0x01,0x10]
    424           vfmsubaddpd  (%rcx), %xmm1, %xmm0, %xmm0
    425 
    426 // CHECK: vfmsubaddpd   %xmm1, (%rcx), %xmm0, %xmm0
    427 // CHECK: encoding: [0xc4,0xe3,0x79,0x5f,0x01,0x10]
    428           vfmsubaddpd   %xmm1, (%rcx),%xmm0, %xmm0
    429 
    430 // CHECK: vfmsubaddpd   %xmm2, %xmm1, %xmm0, %xmm0
    431 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0xc2,0x10]
    432           vfmsubaddpd   %xmm2, %xmm1, %xmm0, %xmm0
    433 
    434 // CHECK: vfmsubaddps  (%rcx), %ymm1, %ymm0, %ymm0
    435 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0x01,0x10]
    436           vfmsubaddps  (%rcx), %ymm1, %ymm0, %ymm0
    437 
    438 // CHECK: vfmsubaddps   %ymm1, (%rcx), %ymm0, %ymm0
    439 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5e,0x01,0x10]
    440           vfmsubaddps   %ymm1, (%rcx),%ymm0, %ymm0
    441 
    442 // CHECK: vfmsubaddps   %ymm2, %ymm1, %ymm0, %ymm0
    443 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0xc2,0x10]
    444           vfmsubaddps   %ymm2, %ymm1, %ymm0, %ymm0
    445 
    446 // CHECK: vfmsubaddpd  (%rcx), %ymm1, %ymm0, %ymm0
    447 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0x01,0x10]
    448           vfmsubaddpd  (%rcx), %ymm1, %ymm0, %ymm0
    449 
    450 // CHECK: vfmsubaddpd   %ymm1, (%rcx), %ymm0, %ymm0
    451 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5f,0x01,0x10]
    452           vfmsubaddpd   %ymm1, (%rcx),%ymm0, %ymm0
    453 
    454 // CHECK: vfmsubaddpd   %ymm2, %ymm1, %ymm0, %ymm0
    455 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0xc2,0x10]
    456           vfmsubaddpd   %ymm2, %ymm1, %ymm0, %ymm0
    457