Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
      2 
      3 // CHECK: vaddss  %xmm4, %xmm6, %xmm2
      4 // CHECK:  encoding: [0xc5,0xca,0x58,0xd4]
      5           vaddss  %xmm4, %xmm6, %xmm2
      6 
      7 // CHECK: vmulss  %xmm4, %xmm6, %xmm2
      8 // CHECK:  encoding: [0xc5,0xca,0x59,0xd4]
      9           vmulss  %xmm4, %xmm6, %xmm2
     10 
     11 // CHECK: vsubss  %xmm4, %xmm6, %xmm2
     12 // CHECK:  encoding: [0xc5,0xca,0x5c,0xd4]
     13           vsubss  %xmm4, %xmm6, %xmm2
     14 
     15 // CHECK: vdivss  %xmm4, %xmm6, %xmm2
     16 // CHECK:  encoding: [0xc5,0xca,0x5e,0xd4]
     17           vdivss  %xmm4, %xmm6, %xmm2
     18 
     19 // CHECK: vaddsd  %xmm4, %xmm6, %xmm2
     20 // CHECK:  encoding: [0xc5,0xcb,0x58,0xd4]
     21           vaddsd  %xmm4, %xmm6, %xmm2
     22 
     23 // CHECK: vmulsd  %xmm4, %xmm6, %xmm2
     24 // CHECK:  encoding: [0xc5,0xcb,0x59,0xd4]
     25           vmulsd  %xmm4, %xmm6, %xmm2
     26 
     27 // CHECK: vsubsd  %xmm4, %xmm6, %xmm2
     28 // CHECK:  encoding: [0xc5,0xcb,0x5c,0xd4]
     29           vsubsd  %xmm4, %xmm6, %xmm2
     30 
     31 // CHECK: vdivsd  %xmm4, %xmm6, %xmm2
     32 // CHECK:  encoding: [0xc5,0xcb,0x5e,0xd4]
     33           vdivsd  %xmm4, %xmm6, %xmm2
     34 
     35 // CHECK: vaddss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     36 // CHECK:  encoding: [0xc5,0xea,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
     37           vaddss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     38 
     39 // CHECK: vsubss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     40 // CHECK:  encoding: [0xc5,0xea,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
     41           vsubss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     42 
     43 // CHECK: vmulss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     44 // CHECK:  encoding: [0xc5,0xea,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
     45           vmulss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     46 
     47 // CHECK: vdivss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     48 // CHECK:  encoding: [0xc5,0xea,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
     49           vdivss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     50 
     51 // CHECK: vaddsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     52 // CHECK:  encoding: [0xc5,0xeb,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
     53           vaddsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     54 
     55 // CHECK: vsubsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     56 // CHECK:  encoding: [0xc5,0xeb,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
     57           vsubsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     58 
     59 // CHECK: vmulsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     60 // CHECK:  encoding: [0xc5,0xeb,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
     61           vmulsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     62 
     63 // CHECK: vdivsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     64 // CHECK:  encoding: [0xc5,0xeb,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
     65           vdivsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
     66 
     67 // CHECK: vaddps  %xmm4, %xmm6, %xmm2
     68 // CHECK: encoding: [0xc5,0xc8,0x58,0xd4]
     69           vaddps  %xmm4, %xmm6, %xmm2
     70 
     71 // CHECK: vsubps  %xmm4, %xmm6, %xmm2
     72 // CHECK: encoding: [0xc5,0xc8,0x5c,0xd4]
     73           vsubps  %xmm4, %xmm6, %xmm2
     74 
     75 // CHECK: vmulps  %xmm4, %xmm6, %xmm2
     76 // CHECK: encoding: [0xc5,0xc8,0x59,0xd4]
     77           vmulps  %xmm4, %xmm6, %xmm2
     78 
     79 // CHECK: vdivps  %xmm4, %xmm6, %xmm2
     80 // CHECK: encoding: [0xc5,0xc8,0x5e,0xd4]
     81           vdivps  %xmm4, %xmm6, %xmm2
     82 
     83 // CHECK: vaddpd  %xmm4, %xmm6, %xmm2
     84 // CHECK: encoding: [0xc5,0xc9,0x58,0xd4]
     85           vaddpd  %xmm4, %xmm6, %xmm2
     86 
     87 // CHECK: vsubpd  %xmm4, %xmm6, %xmm2
     88 // CHECK: encoding: [0xc5,0xc9,0x5c,0xd4]
     89           vsubpd  %xmm4, %xmm6, %xmm2
     90 
     91 // CHECK: vmulpd  %xmm4, %xmm6, %xmm2
     92 // CHECK: encoding: [0xc5,0xc9,0x59,0xd4]
     93           vmulpd  %xmm4, %xmm6, %xmm2
     94 
     95 // CHECK: vdivpd  %xmm4, %xmm6, %xmm2
     96 // CHECK: encoding: [0xc5,0xc9,0x5e,0xd4]
     97           vdivpd  %xmm4, %xmm6, %xmm2
     98 
     99 // CHECK: vaddps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    100 // CHECK: encoding: [0xc5,0xe8,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
    101           vaddps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    102 
    103 // CHECK: vsubps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    104 // CHECK: encoding: [0xc5,0xe8,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
    105           vsubps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    106 
    107 // CHECK: vmulps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    108 // CHECK: encoding: [0xc5,0xe8,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
    109           vmulps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    110 
    111 // CHECK: vdivps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    112 // CHECK: encoding: [0xc5,0xe8,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
    113           vdivps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    114 
    115 // CHECK: vaddpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    116 // CHECK: encoding: [0xc5,0xe9,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
    117           vaddpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    118 
    119 // CHECK: vsubpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    120 // CHECK: encoding: [0xc5,0xe9,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
    121           vsubpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    122 
    123 // CHECK: vmulpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    124 // CHECK: encoding: [0xc5,0xe9,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
    125           vmulpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    126 
    127 // CHECK: vdivpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    128 // CHECK: encoding: [0xc5,0xe9,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
    129           vdivpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
    130 // CHECK: vmaxss  %xmm2, %xmm4, %xmm6
    131 // CHECK: encoding: [0xc5,0xda,0x5f,0xf2]
    132           vmaxss  %xmm2, %xmm4, %xmm6
    133 
    134 // CHECK: vmaxsd  %xmm2, %xmm4, %xmm6
    135 // CHECK: encoding: [0xc5,0xdb,0x5f,0xf2]
    136           vmaxsd  %xmm2, %xmm4, %xmm6
    137 
    138 // CHECK: vminss  %xmm2, %xmm4, %xmm6
    139 // CHECK: encoding: [0xc5,0xda,0x5d,0xf2]
    140           vminss  %xmm2, %xmm4, %xmm6
    141 
    142 // CHECK: vminsd  %xmm2, %xmm4, %xmm6
    143 // CHECK: encoding: [0xc5,0xdb,0x5d,0xf2]
    144           vminsd  %xmm2, %xmm4, %xmm6
    145 
    146 // CHECK: vmaxss  -4(%ebx,%ecx,8), %xmm2, %xmm5
    147 // CHECK: encoding: [0xc5,0xea,0x5f,0x6c,0xcb,0xfc]
    148           vmaxss  -4(%ebx,%ecx,8), %xmm2, %xmm5
    149 
    150 // CHECK: vmaxsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    151 // CHECK: encoding: [0xc5,0xeb,0x5f,0x6c,0xcb,0xfc]
    152           vmaxsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    153 
    154 // CHECK: vminss  -4(%ebx,%ecx,8), %xmm2, %xmm5
    155 // CHECK: encoding: [0xc5,0xea,0x5d,0x6c,0xcb,0xfc]
    156           vminss  -4(%ebx,%ecx,8), %xmm2, %xmm5
    157 
    158 // CHECK: vminsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    159 // CHECK: encoding: [0xc5,0xeb,0x5d,0x6c,0xcb,0xfc]
    160           vminsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    161 
    162 // CHECK: vmaxps  %xmm2, %xmm4, %xmm6
    163 // CHECK: encoding: [0xc5,0xd8,0x5f,0xf2]
    164           vmaxps  %xmm2, %xmm4, %xmm6
    165 
    166 // CHECK: vmaxpd  %xmm2, %xmm4, %xmm6
    167 // CHECK: encoding: [0xc5,0xd9,0x5f,0xf2]
    168           vmaxpd  %xmm2, %xmm4, %xmm6
    169 
    170 // CHECK: vminps  %xmm2, %xmm4, %xmm6
    171 // CHECK: encoding: [0xc5,0xd8,0x5d,0xf2]
    172           vminps  %xmm2, %xmm4, %xmm6
    173 
    174 // CHECK: vminpd  %xmm2, %xmm4, %xmm6
    175 // CHECK: encoding: [0xc5,0xd9,0x5d,0xf2]
    176           vminpd  %xmm2, %xmm4, %xmm6
    177 
    178 // CHECK: vmaxps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    179 // CHECK: encoding: [0xc5,0xe8,0x5f,0x6c,0xcb,0xfc]
    180           vmaxps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    181 
    182 // CHECK: vmaxpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    183 // CHECK: encoding: [0xc5,0xe9,0x5f,0x6c,0xcb,0xfc]
    184           vmaxpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    185 
    186 // CHECK: vminps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    187 // CHECK: encoding: [0xc5,0xe8,0x5d,0x6c,0xcb,0xfc]
    188           vminps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    189 
    190 // CHECK: vminpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    191 // CHECK: encoding: [0xc5,0xe9,0x5d,0x6c,0xcb,0xfc]
    192           vminpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    193 
    194 // CHECK: vandps  %xmm2, %xmm4, %xmm6
    195 // CHECK: encoding: [0xc5,0xd8,0x54,0xf2]
    196           vandps  %xmm2, %xmm4, %xmm6
    197 
    198 // CHECK: vandpd  %xmm2, %xmm4, %xmm6
    199 // CHECK: encoding: [0xc5,0xd9,0x54,0xf2]
    200           vandpd  %xmm2, %xmm4, %xmm6
    201 
    202 // CHECK: vandps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    203 // CHECK: encoding: [0xc5,0xe8,0x54,0x6c,0xcb,0xfc]
    204           vandps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    205 
    206 // CHECK: vandpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    207 // CHECK: encoding: [0xc5,0xe9,0x54,0x6c,0xcb,0xfc]
    208           vandpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    209 
    210 // CHECK: vorps  %xmm2, %xmm4, %xmm6
    211 // CHECK: encoding: [0xc5,0xd8,0x56,0xf2]
    212           vorps  %xmm2, %xmm4, %xmm6
    213 
    214 // CHECK: vorpd  %xmm2, %xmm4, %xmm6
    215 // CHECK: encoding: [0xc5,0xd9,0x56,0xf2]
    216           vorpd  %xmm2, %xmm4, %xmm6
    217 
    218 // CHECK: vorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    219 // CHECK: encoding: [0xc5,0xe8,0x56,0x6c,0xcb,0xfc]
    220           vorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    221 
    222 // CHECK: vorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    223 // CHECK: encoding: [0xc5,0xe9,0x56,0x6c,0xcb,0xfc]
    224           vorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    225 
    226 // CHECK: vxorps  %xmm2, %xmm4, %xmm6
    227 // CHECK: encoding: [0xc5,0xd8,0x57,0xf2]
    228           vxorps  %xmm2, %xmm4, %xmm6
    229 
    230 // CHECK: vxorpd  %xmm2, %xmm4, %xmm6
    231 // CHECK: encoding: [0xc5,0xd9,0x57,0xf2]
    232           vxorpd  %xmm2, %xmm4, %xmm6
    233 
    234 // CHECK: vxorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    235 // CHECK: encoding: [0xc5,0xe8,0x57,0x6c,0xcb,0xfc]
    236           vxorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    237 
    238 // CHECK: vxorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    239 // CHECK: encoding: [0xc5,0xe9,0x57,0x6c,0xcb,0xfc]
    240           vxorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    241 
    242 // CHECK: vandnps  %xmm2, %xmm4, %xmm6
    243 // CHECK: encoding: [0xc5,0xd8,0x55,0xf2]
    244           vandnps  %xmm2, %xmm4, %xmm6
    245 
    246 // CHECK: vandnpd  %xmm2, %xmm4, %xmm6
    247 // CHECK: encoding: [0xc5,0xd9,0x55,0xf2]
    248           vandnpd  %xmm2, %xmm4, %xmm6
    249 
    250 // CHECK: vandnps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    251 // CHECK: encoding: [0xc5,0xe8,0x55,0x6c,0xcb,0xfc]
    252           vandnps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    253 
    254 // CHECK: vandnpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    255 // CHECK: encoding: [0xc5,0xe9,0x55,0x6c,0xcb,0xfc]
    256           vandnpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    257 
    258 // CHECK: vmovss  -4(%ebx,%ecx,8), %xmm5
    259 // CHECK: encoding: [0xc5,0xfa,0x10,0x6c,0xcb,0xfc]
    260           vmovss  -4(%ebx,%ecx,8), %xmm5
    261 
    262 // CHECK: vmovss  %xmm4, %xmm2, %xmm5
    263 // CHECK: encoding: [0xc5,0xea,0x10,0xec]
    264           vmovss  %xmm4, %xmm2, %xmm5
    265 
    266 // CHECK: vmovsd  -4(%ebx,%ecx,8), %xmm5
    267 // CHECK: encoding: [0xc5,0xfb,0x10,0x6c,0xcb,0xfc]
    268           vmovsd  -4(%ebx,%ecx,8), %xmm5
    269 
    270 // CHECK: vmovsd  %xmm4, %xmm2, %xmm5
    271 // CHECK: encoding: [0xc5,0xeb,0x10,0xec]
    272           vmovsd  %xmm4, %xmm2, %xmm5
    273 
    274 // CHECK: vunpckhps  %xmm1, %xmm2, %xmm4
    275 // CHECK: encoding: [0xc5,0xe8,0x15,0xe1]
    276           vunpckhps  %xmm1, %xmm2, %xmm4
    277 
    278 // CHECK: vunpckhpd  %xmm1, %xmm2, %xmm4
    279 // CHECK: encoding: [0xc5,0xe9,0x15,0xe1]
    280           vunpckhpd  %xmm1, %xmm2, %xmm4
    281 
    282 // CHECK: vunpcklps  %xmm1, %xmm2, %xmm4
    283 // CHECK: encoding: [0xc5,0xe8,0x14,0xe1]
    284           vunpcklps  %xmm1, %xmm2, %xmm4
    285 
    286 // CHECK: vunpcklpd  %xmm1, %xmm2, %xmm4
    287 // CHECK: encoding: [0xc5,0xe9,0x14,0xe1]
    288           vunpcklpd  %xmm1, %xmm2, %xmm4
    289 
    290 // CHECK: vunpckhps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    291 // CHECK: encoding: [0xc5,0xe8,0x15,0x6c,0xcb,0xfc]
    292           vunpckhps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    293 
    294 // CHECK: vunpckhpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    295 // CHECK: encoding: [0xc5,0xe9,0x15,0x6c,0xcb,0xfc]
    296           vunpckhpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    297 
    298 // CHECK: vunpcklps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    299 // CHECK: encoding: [0xc5,0xe8,0x14,0x6c,0xcb,0xfc]
    300           vunpcklps  -4(%ebx,%ecx,8), %xmm2, %xmm5
    301 
    302 // CHECK: vunpcklpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    303 // CHECK: encoding: [0xc5,0xe9,0x14,0x6c,0xcb,0xfc]
    304           vunpcklpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
    305 
    306 // CHECK: vcmpps  $0, %xmm0, %xmm6, %xmm1
    307 // CHECK: encoding: [0xc5,0xc8,0xc2,0xc8,0x00]
    308           vcmpps  $0, %xmm0, %xmm6, %xmm1
    309 
    310 // CHECK: vcmpps  $0, (%eax), %xmm6, %xmm1
    311 // CHECK: encoding: [0xc5,0xc8,0xc2,0x08,0x00]
    312           vcmpps  $0, (%eax), %xmm6, %xmm1
    313 
    314 // CHECK: vcmpps  $7, %xmm0, %xmm6, %xmm1
    315 // CHECK: encoding: [0xc5,0xc8,0xc2,0xc8,0x07]
    316           vcmpps  $7, %xmm0, %xmm6, %xmm1
    317 
    318 // CHECK: vcmppd  $0, %xmm0, %xmm6, %xmm1
    319 // CHECK: encoding: [0xc5,0xc9,0xc2,0xc8,0x00]
    320           vcmppd  $0, %xmm0, %xmm6, %xmm1
    321 
    322 // CHECK: vcmppd  $0, (%eax), %xmm6, %xmm1
    323 // CHECK: encoding: [0xc5,0xc9,0xc2,0x08,0x00]
    324           vcmppd  $0, (%eax), %xmm6, %xmm1
    325 
    326 // CHECK: vcmppd  $7, %xmm0, %xmm6, %xmm1
    327 // CHECK: encoding: [0xc5,0xc9,0xc2,0xc8,0x07]
    328           vcmppd  $7, %xmm0, %xmm6, %xmm1
    329 
    330 // CHECK: vshufps  $8, %xmm1, %xmm2, %xmm3
    331 // CHECK: encoding: [0xc5,0xe8,0xc6,0xd9,0x08]
    332           vshufps  $8, %xmm1, %xmm2, %xmm3
    333 
    334 // CHECK: vshufps  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
    335 // CHECK: encoding: [0xc5,0xe8,0xc6,0x5c,0xcb,0xfc,0x08]
    336           vshufps  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
    337 
    338 // CHECK: vshufpd  $8, %xmm1, %xmm2, %xmm3
    339 // CHECK: encoding: [0xc5,0xe9,0xc6,0xd9,0x08]
    340           vshufpd  $8, %xmm1, %xmm2, %xmm3
    341 
    342 // CHECK: vshufpd  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
    343 // CHECK: encoding: [0xc5,0xe9,0xc6,0x5c,0xcb,0xfc,0x08]
    344           vshufpd  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
    345 
    346 // CHECK: vcmpeqps  %xmm1, %xmm2, %xmm3
    347 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x00]
    348           vcmpeqps   %xmm1, %xmm2, %xmm3
    349 
    350 // CHECK: vcmpleps  %xmm1, %xmm2, %xmm3
    351 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x02]
    352           vcmpleps   %xmm1, %xmm2, %xmm3
    353 
    354 // CHECK: vcmpltps  %xmm1, %xmm2, %xmm3
    355 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x01]
    356           vcmpltps   %xmm1, %xmm2, %xmm3
    357 
    358 // CHECK: vcmpneqps  %xmm1, %xmm2, %xmm3
    359 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x04]
    360           vcmpneqps   %xmm1, %xmm2, %xmm3
    361 
    362 // CHECK: vcmpnleps  %xmm1, %xmm2, %xmm3
    363 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x06]
    364           vcmpnleps   %xmm1, %xmm2, %xmm3
    365 
    366 // CHECK: vcmpnltps  %xmm1, %xmm2, %xmm3
    367 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x05]
    368           vcmpnltps   %xmm1, %xmm2, %xmm3
    369 
    370 // CHECK: vcmpordps  %xmm1, %xmm2, %xmm3
    371 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x07]
    372           vcmpordps   %xmm1, %xmm2, %xmm3
    373 
    374 // CHECK: vcmpunordps  %xmm1, %xmm2, %xmm3
    375 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x03]
    376           vcmpunordps   %xmm1, %xmm2, %xmm3
    377 
    378 // CHECK: vcmpeqps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    379 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x00]
    380           vcmpeqps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    381 
    382 // CHECK: vcmpleps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    383 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x02]
    384           vcmpleps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    385 
    386 // CHECK: vcmpltps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    387 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x01]
    388           vcmpltps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    389 
    390 // CHECK: vcmpneqps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    391 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x04]
    392           vcmpneqps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    393 
    394 // CHECK: vcmpnleps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    395 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x06]
    396           vcmpnleps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    397 
    398 // CHECK: vcmpnltps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    399 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x05]
    400           vcmpnltps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    401 
    402 // CHECK: vcmpordps  -4(%ebx,%ecx,8), %xmm6, %xmm2
    403 // CHECK: encoding: [0xc5,0xc8,0xc2,0x54,0xcb,0xfc,0x07]
    404           vcmpordps   -4(%ebx,%ecx,8), %xmm6, %xmm2
    405 
    406 // CHECK: vcmpunordps  -4(%ebx,%ecx,8), %xmm2, %xmm3
    407 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x03]
    408           vcmpunordps   -4(%ebx,%ecx,8), %xmm2, %xmm3
    409 
    410 // CHECK: vcmpeqpd  %xmm1, %xmm2, %xmm3
    411 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x00]
    412           vcmpeqpd   %xmm1, %xmm2, %xmm3
    413 
    414 // CHECK: vcmplepd  %xmm1, %xmm2, %xmm3
    415 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x02]
    416           vcmplepd   %xmm1, %xmm2, %xmm3
    417 
    418 // CHECK: vcmpltpd  %xmm1, %xmm2, %xmm3
    419 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x01]
    420           vcmpltpd   %xmm1, %xmm2, %xmm3
    421 
    422 // CHECK: vcmpneqpd  %xmm1, %xmm2, %xmm3
    423 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x04]
    424           vcmpneqpd   %xmm1, %xmm2, %xmm3
    425 
    426 // CHECK: vcmpnlepd  %xmm1, %xmm2, %xmm3
    427 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x06]
    428           vcmpnlepd   %xmm1, %xmm2, %xmm3
    429 
    430 // CHECK: vcmpnltpd  %xmm1, %xmm2, %xmm3
    431 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x05]
    432           vcmpnltpd   %xmm1, %xmm2, %xmm3
    433 
    434 // CHECK: vcmpordpd  %xmm1, %xmm2, %xmm3
    435 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x07]
    436           vcmpordpd   %xmm1, %xmm2, %xmm3
    437 
    438 // CHECK: vcmpunordpd  %xmm1, %xmm2, %xmm3
    439 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x03]
    440           vcmpunordpd   %xmm1, %xmm2, %xmm3
    441 
    442 // CHECK: vcmpeqpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    443 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x00]
    444           vcmpeqpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    445 
    446 // CHECK: vcmplepd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    447 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x02]
    448           vcmplepd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    449 
    450 // CHECK: vcmpltpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    451 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x01]
    452           vcmpltpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    453 
    454 // CHECK: vcmpneqpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    455 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x04]
    456           vcmpneqpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    457 
    458 // CHECK: vcmpnlepd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    459 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x06]
    460           vcmpnlepd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    461 
    462 // CHECK: vcmpnltpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    463 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x05]
    464           vcmpnltpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    465 
    466 // CHECK: vcmpordpd  -4(%ebx,%ecx,8), %xmm6, %xmm2
    467 // CHECK: encoding: [0xc5,0xc9,0xc2,0x54,0xcb,0xfc,0x07]
    468           vcmpordpd   -4(%ebx,%ecx,8), %xmm6, %xmm2
    469 
    470 // CHECK: vcmpunordpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    471 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x03]
    472           vcmpunordpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    473 
    474 // CHECK: vmovmskps  %xmm2, %eax
    475 // CHECK: encoding: [0xc5,0xf8,0x50,0xc2]
    476           vmovmskps  %xmm2, %eax
    477 
    478 // CHECK: vmovmskpd  %xmm2, %eax
    479 // CHECK: encoding: [0xc5,0xf9,0x50,0xc2]
    480           vmovmskpd  %xmm2, %eax
    481 
    482 // CHECK: vmovmskps  %ymm2, %eax
    483 // CHECK: encoding: [0xc5,0xfc,0x50,0xc2]
    484           vmovmskps  %ymm2, %eax
    485 
    486 // CHECK: vmovmskpd  %ymm2, %eax
    487 // CHECK: encoding: [0xc5,0xfd,0x50,0xc2]
    488           vmovmskpd  %ymm2, %eax
    489 
    490 // CHECK: vcmpeqss  %xmm1, %xmm2, %xmm3
    491 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x00]
    492           vcmpeqss   %xmm1, %xmm2, %xmm3
    493 
    494 // CHECK: vcmpless   %xmm1, %xmm2, %xmm3
    495 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x02]
    496           vcmpless   %xmm1, %xmm2, %xmm3
    497 
    498 // CHECK: vcmpltss  %xmm1, %xmm2, %xmm3
    499 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x01]
    500           vcmpltss   %xmm1, %xmm2, %xmm3
    501 
    502 // CHECK: vcmpneqss  %xmm1, %xmm2, %xmm3
    503 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x04]
    504           vcmpneqss   %xmm1, %xmm2, %xmm3
    505 
    506 // CHECK: vcmpnless  %xmm1, %xmm2, %xmm3
    507 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x06]
    508           vcmpnless   %xmm1, %xmm2, %xmm3
    509 
    510 // CHECK: vcmpnltss  %xmm1, %xmm2, %xmm3
    511 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x05]
    512           vcmpnltss   %xmm1, %xmm2, %xmm3
    513 
    514 // CHECK: vcmpordss  %xmm1, %xmm2, %xmm3
    515 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x07]
    516           vcmpordss   %xmm1, %xmm2, %xmm3
    517 
    518 // CHECK: vcmpunordss  %xmm1, %xmm2, %xmm3
    519 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x03]
    520           vcmpunordss   %xmm1, %xmm2, %xmm3
    521 
    522 // CHECK: vcmpeqss  -4(%ebx,%ecx,8), %xmm2, %xmm3
    523 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x00]
    524           vcmpeqss   -4(%ebx,%ecx,8), %xmm2, %xmm3
    525 
    526 // CHECK: vcmpless  -4(%ebx,%ecx,8), %xmm2, %xmm3
    527 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x02]
    528           vcmpless   -4(%ebx,%ecx,8), %xmm2, %xmm3
    529 
    530 // CHECK: vcmpltss  -4(%ebx,%ecx,8), %xmm2, %xmm3
    531 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x01]
    532           vcmpltss   -4(%ebx,%ecx,8), %xmm2, %xmm3
    533 
    534 // CHECK: vcmpneqss  -4(%ebx,%ecx,8), %xmm2, %xmm3
    535 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x04]
    536           vcmpneqss   -4(%ebx,%ecx,8), %xmm2, %xmm3
    537 
    538 // CHECK: vcmpnless  -4(%ebx,%ecx,8), %xmm2, %xmm3
    539 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x06]
    540           vcmpnless   -4(%ebx,%ecx,8), %xmm2, %xmm3
    541 
    542 // CHECK: vcmpnltss  -4(%ebx,%ecx,8), %xmm2, %xmm3
    543 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x05]
    544           vcmpnltss   -4(%ebx,%ecx,8), %xmm2, %xmm3
    545 
    546 // CHECK: vcmpordss  -4(%ebx,%ecx,8), %xmm6, %xmm2
    547 // CHECK: encoding: [0xc5,0xca,0xc2,0x54,0xcb,0xfc,0x07]
    548           vcmpordss   -4(%ebx,%ecx,8), %xmm6, %xmm2
    549 
    550 // CHECK: vcmpunordss  -4(%ebx,%ecx,8), %xmm2, %xmm3
    551 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x03]
    552           vcmpunordss   -4(%ebx,%ecx,8), %xmm2, %xmm3
    553 
    554 // CHECK: vcmpeqsd  %xmm1, %xmm2, %xmm3
    555 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x00]
    556           vcmpeqsd   %xmm1, %xmm2, %xmm3
    557 
    558 // CHECK: vcmplesd  %xmm1, %xmm2, %xmm3
    559 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x02]
    560           vcmplesd   %xmm1, %xmm2, %xmm3
    561 
    562 // CHECK: vcmpltsd  %xmm1, %xmm2, %xmm3
    563 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x01]
    564           vcmpltsd   %xmm1, %xmm2, %xmm3
    565 
    566 // CHECK: vcmpneqsd  %xmm1, %xmm2, %xmm3
    567 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x04]
    568           vcmpneqsd   %xmm1, %xmm2, %xmm3
    569 
    570 // CHECK: vcmpnlesd  %xmm1, %xmm2, %xmm3
    571 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x06]
    572           vcmpnlesd   %xmm1, %xmm2, %xmm3
    573 
    574 // CHECK: vcmpnltsd  %xmm1, %xmm2, %xmm3
    575 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x05]
    576           vcmpnltsd   %xmm1, %xmm2, %xmm3
    577 
    578 // CHECK: vcmpordsd  %xmm1, %xmm2, %xmm3
    579 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x07]
    580           vcmpordsd   %xmm1, %xmm2, %xmm3
    581 
    582 // CHECK: vcmpunordsd  %xmm1, %xmm2, %xmm3
    583 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x03]
    584           vcmpunordsd   %xmm1, %xmm2, %xmm3
    585 
    586 // CHECK: vcmpeqsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    587 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x00]
    588           vcmpeqsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    589 
    590 // CHECK: vcmplesd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    591 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x02]
    592           vcmplesd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    593 
    594 // CHECK: vcmpltsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    595 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x01]
    596           vcmpltsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    597 
    598 // CHECK: vcmpneqsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    599 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x04]
    600           vcmpneqsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    601 
    602 // CHECK: vcmpnlesd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    603 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x06]
    604           vcmpnlesd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    605 
    606 // CHECK: vcmpnltsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    607 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x05]
    608           vcmpnltsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    609 
    610 // CHECK: vcmpordsd  -4(%ebx,%ecx,8), %xmm6, %xmm2
    611 // CHECK: encoding: [0xc5,0xcb,0xc2,0x54,0xcb,0xfc,0x07]
    612           vcmpordsd   -4(%ebx,%ecx,8), %xmm6, %xmm2
    613 
    614 // CHECK: vcmpunordsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
    615 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x03]
    616           vcmpunordsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
    617 
    618 // CHECK: vucomiss  %xmm1, %xmm2
    619 // CHECK: encoding: [0xc5,0xf8,0x2e,0xd1]
    620           vucomiss  %xmm1, %xmm2
    621 
    622 // CHECK: vucomiss  (%eax), %xmm2
    623 // CHECK: encoding: [0xc5,0xf8,0x2e,0x10]
    624           vucomiss  (%eax), %xmm2
    625 
    626 // CHECK: vcomiss  %xmm1, %xmm2
    627 // CHECK: encoding: [0xc5,0xf8,0x2f,0xd1]
    628           vcomiss  %xmm1, %xmm2
    629 
    630 // CHECK: vcomiss  (%eax), %xmm2
    631 // CHECK: encoding: [0xc5,0xf8,0x2f,0x10]
    632           vcomiss  (%eax), %xmm2
    633 
    634 // CHECK: vucomisd  %xmm1, %xmm2
    635 // CHECK: encoding: [0xc5,0xf9,0x2e,0xd1]
    636           vucomisd  %xmm1, %xmm2
    637 
    638 // CHECK: vucomisd  (%eax), %xmm2
    639 // CHECK: encoding: [0xc5,0xf9,0x2e,0x10]
    640           vucomisd  (%eax), %xmm2
    641 
    642 // CHECK: vcomisd  %xmm1, %xmm2
    643 // CHECK: encoding: [0xc5,0xf9,0x2f,0xd1]
    644           vcomisd  %xmm1, %xmm2
    645 
    646 // CHECK: vcomisd  (%eax), %xmm2
    647 // CHECK: encoding: [0xc5,0xf9,0x2f,0x10]
    648           vcomisd  (%eax), %xmm2
    649 
    650 // CHECK: vcvttss2si  %xmm1, %eax
    651 // CHECK: encoding: [0xc5,0xfa,0x2c,0xc1]
    652           vcvttss2si  %xmm1, %eax
    653 
    654 // CHECK: vcvttss2si  (%ecx), %eax
    655 // CHECK: encoding: [0xc5,0xfa,0x2c,0x01]
    656           vcvttss2si  (%ecx), %eax
    657 
    658 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
    659 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
    660           vcvtsi2ss  (%eax), %xmm1, %xmm2
    661 
    662 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
    663 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
    664           vcvtsi2ss  (%eax), %xmm1, %xmm2
    665 
    666 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
    667 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
    668           vcvtsi2ssl  (%eax), %xmm1, %xmm2
    669 
    670 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
    671 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
    672           vcvtsi2ssl  (%eax), %xmm1, %xmm2
    673 
    674 // CHECK: vcvttsd2si  %xmm1, %eax
    675 // CHECK: encoding: [0xc5,0xfb,0x2c,0xc1]
    676           vcvttsd2si  %xmm1, %eax
    677 
    678 // CHECK: vcvttsd2si  (%ecx), %eax
    679 // CHECK: encoding: [0xc5,0xfb,0x2c,0x01]
    680           vcvttsd2si  (%ecx), %eax
    681 
    682 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
    683 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
    684           vcvtsi2sd  (%eax), %xmm1, %xmm2
    685 
    686 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
    687 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
    688           vcvtsi2sd  (%eax), %xmm1, %xmm2
    689 
    690 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
    691 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
    692           vcvtsi2sdl  (%eax), %xmm1, %xmm2
    693 
    694 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
    695 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
    696           vcvtsi2sdl  (%eax), %xmm1, %xmm2
    697 
    698 // CHECK: vmovaps  (%eax), %xmm2
    699 // CHECK: encoding: [0xc5,0xf8,0x28,0x10]
    700           vmovaps  (%eax), %xmm2
    701 
    702 // CHECK: vmovaps  %xmm1, %xmm2
    703 // CHECK: encoding: [0xc5,0xf8,0x28,0xd1]
    704           vmovaps  %xmm1, %xmm2
    705 
    706 // CHECK: vmovaps  %xmm1, (%eax)
    707 // CHECK: encoding: [0xc5,0xf8,0x29,0x08]
    708           vmovaps  %xmm1, (%eax)
    709 
    710 // CHECK: vmovapd  (%eax), %xmm2
    711 // CHECK: encoding: [0xc5,0xf9,0x28,0x10]
    712           vmovapd  (%eax), %xmm2
    713 
    714 // CHECK: vmovapd  %xmm1, %xmm2
    715 // CHECK: encoding: [0xc5,0xf9,0x28,0xd1]
    716           vmovapd  %xmm1, %xmm2
    717 
    718 // CHECK: vmovapd  %xmm1, (%eax)
    719 // CHECK: encoding: [0xc5,0xf9,0x29,0x08]
    720           vmovapd  %xmm1, (%eax)
    721 
    722 // CHECK: vmovups  (%eax), %xmm2
    723 // CHECK: encoding: [0xc5,0xf8,0x10,0x10]
    724           vmovups  (%eax), %xmm2
    725 
    726 // CHECK: vmovups  %xmm1, %xmm2
    727 // CHECK: encoding: [0xc5,0xf8,0x10,0xd1]
    728           vmovups  %xmm1, %xmm2
    729 
    730 // CHECK: vmovups  %xmm1, (%eax)
    731 // CHECK: encoding: [0xc5,0xf8,0x11,0x08]
    732           vmovups  %xmm1, (%eax)
    733 
    734 // CHECK: vmovupd  (%eax), %xmm2
    735 // CHECK: encoding: [0xc5,0xf9,0x10,0x10]
    736           vmovupd  (%eax), %xmm2
    737 
    738 // CHECK: vmovupd  %xmm1, %xmm2
    739 // CHECK: encoding: [0xc5,0xf9,0x10,0xd1]
    740           vmovupd  %xmm1, %xmm2
    741 
    742 // CHECK: vmovupd  %xmm1, (%eax)
    743 // CHECK: encoding: [0xc5,0xf9,0x11,0x08]
    744           vmovupd  %xmm1, (%eax)
    745 
    746 // CHECK: vmovlps  %xmm1, (%eax)
    747 // CHECK: encoding: [0xc5,0xf8,0x13,0x08]
    748           vmovlps  %xmm1, (%eax)
    749 
    750 // CHECK: vmovlps  (%eax), %xmm2, %xmm3
    751 // CHECK: encoding: [0xc5,0xe8,0x12,0x18]
    752           vmovlps  (%eax), %xmm2, %xmm3
    753 
    754 // CHECK: vmovlpd  %xmm1, (%eax)
    755 // CHECK: encoding: [0xc5,0xf9,0x13,0x08]
    756           vmovlpd  %xmm1, (%eax)
    757 
    758 // CHECK: vmovlpd  (%eax), %xmm2, %xmm3
    759 // CHECK: encoding: [0xc5,0xe9,0x12,0x18]
    760           vmovlpd  (%eax), %xmm2, %xmm3
    761 
    762 // CHECK: vmovhps  %xmm1, (%eax)
    763 // CHECK: encoding: [0xc5,0xf8,0x17,0x08]
    764           vmovhps  %xmm1, (%eax)
    765 
    766 // CHECK: vmovhps  (%eax), %xmm2, %xmm3
    767 // CHECK: encoding: [0xc5,0xe8,0x16,0x18]
    768           vmovhps  (%eax), %xmm2, %xmm3
    769 
    770 // CHECK: vmovhpd  %xmm1, (%eax)
    771 // CHECK: encoding: [0xc5,0xf9,0x17,0x08]
    772           vmovhpd  %xmm1, (%eax)
    773 
    774 // CHECK: vmovhpd  (%eax), %xmm2, %xmm3
    775 // CHECK: encoding: [0xc5,0xe9,0x16,0x18]
    776           vmovhpd  (%eax), %xmm2, %xmm3
    777 
    778 // CHECK: vmovlhps  %xmm1, %xmm2, %xmm3
    779 // CHECK: encoding: [0xc5,0xe8,0x16,0xd9]
    780           vmovlhps  %xmm1, %xmm2, %xmm3
    781 
    782 // CHECK: vmovhlps  %xmm1, %xmm2, %xmm3
    783 // CHECK: encoding: [0xc5,0xe8,0x12,0xd9]
    784           vmovhlps  %xmm1, %xmm2, %xmm3
    785 
    786 // CHECK: vcvtss2si  %xmm1, %eax
    787 // CHECK: encoding: [0xc5,0xfa,0x2d,0xc1]
    788           vcvtss2si  %xmm1, %eax
    789 
    790 // CHECK: vcvtss2si  (%eax), %ebx
    791 // CHECK: encoding: [0xc5,0xfa,0x2d,0x18]
    792           vcvtss2si  (%eax), %ebx
    793 
    794 // CHECK: vcvtss2si  %xmm1, %eax
    795 // CHECK: encoding: [0xc5,0xfa,0x2d,0xc1]
    796           vcvtss2sil  %xmm1, %eax
    797 
    798 // CHECK: vcvtss2si  (%eax), %ebx
    799 // CHECK: encoding: [0xc5,0xfa,0x2d,0x18]
    800           vcvtss2sil  (%eax), %ebx
    801 
    802 // CHECK: vcvtdq2ps  %xmm5, %xmm6
    803 // CHECK: encoding: [0xc5,0xf8,0x5b,0xf5]
    804           vcvtdq2ps  %xmm5, %xmm6
    805 
    806 // CHECK: vcvtdq2ps  (%eax), %xmm6
    807 // CHECK: encoding: [0xc5,0xf8,0x5b,0x30]
    808           vcvtdq2ps  (%eax), %xmm6
    809 
    810 // CHECK: vcvtsd2ss  %xmm2, %xmm4, %xmm6
    811 // CHECK: encoding: [0xc5,0xdb,0x5a,0xf2]
    812           vcvtsd2ss  %xmm2, %xmm4, %xmm6
    813 
    814 // CHECK: vcvtsd2ss  (%eax), %xmm4, %xmm6
    815 // CHECK: encoding: [0xc5,0xdb,0x5a,0x30]
    816           vcvtsd2ss  (%eax), %xmm4, %xmm6
    817 
    818 // CHECK: vcvtps2dq  %xmm2, %xmm3
    819 // CHECK: encoding: [0xc5,0xf9,0x5b,0xda]
    820           vcvtps2dq  %xmm2, %xmm3
    821 
    822 // CHECK: vcvtps2dq  (%eax), %xmm3
    823 // CHECK: encoding: [0xc5,0xf9,0x5b,0x18]
    824           vcvtps2dq  (%eax), %xmm3
    825 
    826 // CHECK: vcvtss2sd  %xmm2, %xmm4, %xmm6
    827 // CHECK: encoding: [0xc5,0xda,0x5a,0xf2]
    828           vcvtss2sd  %xmm2, %xmm4, %xmm6
    829 
    830 // CHECK: vcvtss2sd  (%eax), %xmm4, %xmm6
    831 // CHECK: encoding: [0xc5,0xda,0x5a,0x30]
    832           vcvtss2sd  (%eax), %xmm4, %xmm6
    833 
    834 // CHECK: vcvtdq2ps  %xmm4, %xmm6
    835 // CHECK: encoding: [0xc5,0xf8,0x5b,0xf4]
    836           vcvtdq2ps  %xmm4, %xmm6
    837 
    838 // CHECK: vcvtdq2ps  (%ecx), %xmm4
    839 // CHECK: encoding: [0xc5,0xf8,0x5b,0x21]
    840           vcvtdq2ps  (%ecx), %xmm4
    841 
    842 // CHECK: vcvttps2dq  %xmm2, %xmm3
    843 // CHECK: encoding: [0xc5,0xfa,0x5b,0xda]
    844           vcvttps2dq  %xmm2, %xmm3
    845 
    846 // CHECK: vcvttps2dq  (%eax), %xmm3
    847 // CHECK: encoding: [0xc5,0xfa,0x5b,0x18]
    848           vcvttps2dq  (%eax), %xmm3
    849 
    850 // CHECK: vcvtps2pd  %xmm2, %xmm3
    851 // CHECK: encoding: [0xc5,0xf8,0x5a,0xda]
    852           vcvtps2pd  %xmm2, %xmm3
    853 
    854 // CHECK: vcvtps2pd  (%eax), %xmm3
    855 // CHECK: encoding: [0xc5,0xf8,0x5a,0x18]
    856           vcvtps2pd  (%eax), %xmm3
    857 
    858 // CHECK: vcvtpd2ps  %xmm2, %xmm3
    859 // CHECK: encoding: [0xc5,0xf9,0x5a,0xda]
    860           vcvtpd2ps  %xmm2, %xmm3
    861 
    862 // CHECK: vsqrtpd  %xmm1, %xmm2
    863 // CHECK: encoding: [0xc5,0xf9,0x51,0xd1]
    864           vsqrtpd  %xmm1, %xmm2
    865 
    866 // CHECK: vsqrtpd  (%eax), %xmm2
    867 // CHECK: encoding: [0xc5,0xf9,0x51,0x10]
    868           vsqrtpd  (%eax), %xmm2
    869 
    870 // CHECK: vsqrtps  %xmm1, %xmm2
    871 // CHECK: encoding: [0xc5,0xf8,0x51,0xd1]
    872           vsqrtps  %xmm1, %xmm2
    873 
    874 // CHECK: vsqrtps  (%eax), %xmm2
    875 // CHECK: encoding: [0xc5,0xf8,0x51,0x10]
    876           vsqrtps  (%eax), %xmm2
    877 
    878 // CHECK: vsqrtsd  %xmm1, %xmm2, %xmm3
    879 // CHECK: encoding: [0xc5,0xeb,0x51,0xd9]
    880           vsqrtsd  %xmm1, %xmm2, %xmm3
    881 
    882 // CHECK: vsqrtsd  (%eax), %xmm2, %xmm3
    883 // CHECK: encoding: [0xc5,0xeb,0x51,0x18]
    884           vsqrtsd  (%eax), %xmm2, %xmm3
    885 
    886 // CHECK: vsqrtss  %xmm1, %xmm2, %xmm3
    887 // CHECK: encoding: [0xc5,0xea,0x51,0xd9]
    888           vsqrtss  %xmm1, %xmm2, %xmm3
    889 
    890 // CHECK: vsqrtss  (%eax), %xmm2, %xmm3
    891 // CHECK: encoding: [0xc5,0xea,0x51,0x18]
    892           vsqrtss  (%eax), %xmm2, %xmm3
    893 
    894 // CHECK: vrsqrtps  %xmm1, %xmm2
    895 // CHECK: encoding: [0xc5,0xf8,0x52,0xd1]
    896           vrsqrtps  %xmm1, %xmm2
    897 
    898 // CHECK: vrsqrtps  (%eax), %xmm2
    899 // CHECK: encoding: [0xc5,0xf8,0x52,0x10]
    900           vrsqrtps  (%eax), %xmm2
    901 
    902 // CHECK: vrsqrtss  %xmm1, %xmm2, %xmm3
    903 // CHECK: encoding: [0xc5,0xea,0x52,0xd9]
    904           vrsqrtss  %xmm1, %xmm2, %xmm3
    905 
    906 // CHECK: vrsqrtss  (%eax), %xmm2, %xmm3
    907 // CHECK: encoding: [0xc5,0xea,0x52,0x18]
    908           vrsqrtss  (%eax), %xmm2, %xmm3
    909 
    910 // CHECK: vrcpps  %xmm1, %xmm2
    911 // CHECK: encoding: [0xc5,0xf8,0x53,0xd1]
    912           vrcpps  %xmm1, %xmm2
    913 
    914 // CHECK: vrcpps  (%eax), %xmm2
    915 // CHECK: encoding: [0xc5,0xf8,0x53,0x10]
    916           vrcpps  (%eax), %xmm2
    917 
    918 // CHECK: vrcpss  %xmm1, %xmm2, %xmm3
    919 // CHECK: encoding: [0xc5,0xea,0x53,0xd9]
    920           vrcpss  %xmm1, %xmm2, %xmm3
    921 
    922 // CHECK: vrcpss  (%eax), %xmm2, %xmm3
    923 // CHECK: encoding: [0xc5,0xea,0x53,0x18]
    924           vrcpss  (%eax), %xmm2, %xmm3
    925 
    926 // CHECK: vmovntdq  %xmm1, (%eax)
    927 // CHECK: encoding: [0xc5,0xf9,0xe7,0x08]
    928           vmovntdq  %xmm1, (%eax)
    929 
    930 // CHECK: vmovntpd  %xmm1, (%eax)
    931 // CHECK: encoding: [0xc5,0xf9,0x2b,0x08]
    932           vmovntpd  %xmm1, (%eax)
    933 
    934 // CHECK: vmovntps  %xmm1, (%eax)
    935 // CHECK: encoding: [0xc5,0xf8,0x2b,0x08]
    936           vmovntps  %xmm1, (%eax)
    937 
    938 // CHECK: vldmxcsr  (%eax)
    939 // CHECK: encoding: [0xc5,0xf8,0xae,0x10]
    940           vldmxcsr  (%eax)
    941 
    942 // CHECK: vstmxcsr  (%eax)
    943 // CHECK: encoding: [0xc5,0xf8,0xae,0x18]
    944           vstmxcsr  (%eax)
    945 
    946 // CHECK: vldmxcsr  3735928559
    947 // CHECK: encoding: [0xc5,0xf8,0xae,0x15,0xef,0xbe,0xad,0xde]
    948           vldmxcsr  0xdeadbeef
    949 
    950 // CHECK: vstmxcsr  3735928559
    951 // CHECK: encoding: [0xc5,0xf8,0xae,0x1d,0xef,0xbe,0xad,0xde]
    952           vstmxcsr  0xdeadbeef
    953 
    954 // CHECK: vpsubb  %xmm1, %xmm2, %xmm3
    955 // CHECK: encoding: [0xc5,0xe9,0xf8,0xd9]
    956           vpsubb  %xmm1, %xmm2, %xmm3
    957 
    958 // CHECK: vpsubb  (%eax), %xmm2, %xmm3
    959 // CHECK: encoding: [0xc5,0xe9,0xf8,0x18]
    960           vpsubb  (%eax), %xmm2, %xmm3
    961 
    962 // CHECK: vpsubw  %xmm1, %xmm2, %xmm3
    963 // CHECK: encoding: [0xc5,0xe9,0xf9,0xd9]
    964           vpsubw  %xmm1, %xmm2, %xmm3
    965 
    966 // CHECK: vpsubw  (%eax), %xmm2, %xmm3
    967 // CHECK: encoding: [0xc5,0xe9,0xf9,0x18]
    968           vpsubw  (%eax), %xmm2, %xmm3
    969 
    970 // CHECK: vpsubd  %xmm1, %xmm2, %xmm3
    971 // CHECK: encoding: [0xc5,0xe9,0xfa,0xd9]
    972           vpsubd  %xmm1, %xmm2, %xmm3
    973 
    974 // CHECK: vpsubd  (%eax), %xmm2, %xmm3
    975 // CHECK: encoding: [0xc5,0xe9,0xfa,0x18]
    976           vpsubd  (%eax), %xmm2, %xmm3
    977 
    978 // CHECK: vpsubq  %xmm1, %xmm2, %xmm3
    979 // CHECK: encoding: [0xc5,0xe9,0xfb,0xd9]
    980           vpsubq  %xmm1, %xmm2, %xmm3
    981 
    982 // CHECK: vpsubq  (%eax), %xmm2, %xmm3
    983 // CHECK: encoding: [0xc5,0xe9,0xfb,0x18]
    984           vpsubq  (%eax), %xmm2, %xmm3
    985 
    986 // CHECK: vpsubsb  %xmm1, %xmm2, %xmm3
    987 // CHECK: encoding: [0xc5,0xe9,0xe8,0xd9]
    988           vpsubsb  %xmm1, %xmm2, %xmm3
    989 
    990 // CHECK: vpsubsb  (%eax), %xmm2, %xmm3
    991 // CHECK: encoding: [0xc5,0xe9,0xe8,0x18]
    992           vpsubsb  (%eax), %xmm2, %xmm3
    993 
    994 // CHECK: vpsubsw  %xmm1, %xmm2, %xmm3
    995 // CHECK: encoding: [0xc5,0xe9,0xe9,0xd9]
    996           vpsubsw  %xmm1, %xmm2, %xmm3
    997 
    998 // CHECK: vpsubsw  (%eax), %xmm2, %xmm3
    999 // CHECK: encoding: [0xc5,0xe9,0xe9,0x18]
   1000           vpsubsw  (%eax), %xmm2, %xmm3
   1001 
   1002 // CHECK: vpsubusb  %xmm1, %xmm2, %xmm3
   1003 // CHECK: encoding: [0xc5,0xe9,0xd8,0xd9]
   1004           vpsubusb  %xmm1, %xmm2, %xmm3
   1005 
   1006 // CHECK: vpsubusb  (%eax), %xmm2, %xmm3
   1007 // CHECK: encoding: [0xc5,0xe9,0xd8,0x18]
   1008           vpsubusb  (%eax), %xmm2, %xmm3
   1009 
   1010 // CHECK: vpsubusw  %xmm1, %xmm2, %xmm3
   1011 // CHECK: encoding: [0xc5,0xe9,0xd9,0xd9]
   1012           vpsubusw  %xmm1, %xmm2, %xmm3
   1013 
   1014 // CHECK: vpsubusw  (%eax), %xmm2, %xmm3
   1015 // CHECK: encoding: [0xc5,0xe9,0xd9,0x18]
   1016           vpsubusw  (%eax), %xmm2, %xmm3
   1017 
   1018 // CHECK: vpaddb  %xmm1, %xmm2, %xmm3
   1019 // CHECK: encoding: [0xc5,0xe9,0xfc,0xd9]
   1020           vpaddb  %xmm1, %xmm2, %xmm3
   1021 
   1022 // CHECK: vpaddb  (%eax), %xmm2, %xmm3
   1023 // CHECK: encoding: [0xc5,0xe9,0xfc,0x18]
   1024           vpaddb  (%eax), %xmm2, %xmm3
   1025 
   1026 // CHECK: vpaddw  %xmm1, %xmm2, %xmm3
   1027 // CHECK: encoding: [0xc5,0xe9,0xfd,0xd9]
   1028           vpaddw  %xmm1, %xmm2, %xmm3
   1029 
   1030 // CHECK: vpaddw  (%eax), %xmm2, %xmm3
   1031 // CHECK: encoding: [0xc5,0xe9,0xfd,0x18]
   1032           vpaddw  (%eax), %xmm2, %xmm3
   1033 
   1034 // CHECK: vpaddd  %xmm1, %xmm2, %xmm3
   1035 // CHECK: encoding: [0xc5,0xe9,0xfe,0xd9]
   1036           vpaddd  %xmm1, %xmm2, %xmm3
   1037 
   1038 // CHECK: vpaddd  (%eax), %xmm2, %xmm3
   1039 // CHECK: encoding: [0xc5,0xe9,0xfe,0x18]
   1040           vpaddd  (%eax), %xmm2, %xmm3
   1041 
   1042 // CHECK: vpaddq  %xmm1, %xmm2, %xmm3
   1043 // CHECK: encoding: [0xc5,0xe9,0xd4,0xd9]
   1044           vpaddq  %xmm1, %xmm2, %xmm3
   1045 
   1046 // CHECK: vpaddq  (%eax), %xmm2, %xmm3
   1047 // CHECK: encoding: [0xc5,0xe9,0xd4,0x18]
   1048           vpaddq  (%eax), %xmm2, %xmm3
   1049 
   1050 // CHECK: vpaddsb  %xmm1, %xmm2, %xmm3
   1051 // CHECK: encoding: [0xc5,0xe9,0xec,0xd9]
   1052           vpaddsb  %xmm1, %xmm2, %xmm3
   1053 
   1054 // CHECK: vpaddsb  (%eax), %xmm2, %xmm3
   1055 // CHECK: encoding: [0xc5,0xe9,0xec,0x18]
   1056           vpaddsb  (%eax), %xmm2, %xmm3
   1057 
   1058 // CHECK: vpaddsw  %xmm1, %xmm2, %xmm3
   1059 // CHECK: encoding: [0xc5,0xe9,0xed,0xd9]
   1060           vpaddsw  %xmm1, %xmm2, %xmm3
   1061 
   1062 // CHECK: vpaddsw  (%eax), %xmm2, %xmm3
   1063 // CHECK: encoding: [0xc5,0xe9,0xed,0x18]
   1064           vpaddsw  (%eax), %xmm2, %xmm3
   1065 
   1066 // CHECK: vpaddusb  %xmm1, %xmm2, %xmm3
   1067 // CHECK: encoding: [0xc5,0xe9,0xdc,0xd9]
   1068           vpaddusb  %xmm1, %xmm2, %xmm3
   1069 
   1070 // CHECK: vpaddusb  (%eax), %xmm2, %xmm3
   1071 // CHECK: encoding: [0xc5,0xe9,0xdc,0x18]
   1072           vpaddusb  (%eax), %xmm2, %xmm3
   1073 
   1074 // CHECK: vpaddusw  %xmm1, %xmm2, %xmm3
   1075 // CHECK: encoding: [0xc5,0xe9,0xdd,0xd9]
   1076           vpaddusw  %xmm1, %xmm2, %xmm3
   1077 
   1078 // CHECK: vpaddusw  (%eax), %xmm2, %xmm3
   1079 // CHECK: encoding: [0xc5,0xe9,0xdd,0x18]
   1080           vpaddusw  (%eax), %xmm2, %xmm3
   1081 
   1082 // CHECK: vpmulhuw  %xmm1, %xmm2, %xmm3
   1083 // CHECK: encoding: [0xc5,0xe9,0xe4,0xd9]
   1084           vpmulhuw  %xmm1, %xmm2, %xmm3
   1085 
   1086 // CHECK: vpmulhuw  (%eax), %xmm2, %xmm3
   1087 // CHECK: encoding: [0xc5,0xe9,0xe4,0x18]
   1088           vpmulhuw  (%eax), %xmm2, %xmm3
   1089 
   1090 // CHECK: vpmulhw  %xmm1, %xmm2, %xmm3
   1091 // CHECK: encoding: [0xc5,0xe9,0xe5,0xd9]
   1092           vpmulhw  %xmm1, %xmm2, %xmm3
   1093 
   1094 // CHECK: vpmulhw  (%eax), %xmm2, %xmm3
   1095 // CHECK: encoding: [0xc5,0xe9,0xe5,0x18]
   1096           vpmulhw  (%eax), %xmm2, %xmm3
   1097 
   1098 // CHECK: vpmullw  %xmm1, %xmm2, %xmm3
   1099 // CHECK: encoding: [0xc5,0xe9,0xd5,0xd9]
   1100           vpmullw  %xmm1, %xmm2, %xmm3
   1101 
   1102 // CHECK: vpmullw  (%eax), %xmm2, %xmm3
   1103 // CHECK: encoding: [0xc5,0xe9,0xd5,0x18]
   1104           vpmullw  (%eax), %xmm2, %xmm3
   1105 
   1106 // CHECK: vpmuludq  %xmm1, %xmm2, %xmm3
   1107 // CHECK: encoding: [0xc5,0xe9,0xf4,0xd9]
   1108           vpmuludq  %xmm1, %xmm2, %xmm3
   1109 
   1110 // CHECK: vpmuludq  (%eax), %xmm2, %xmm3
   1111 // CHECK: encoding: [0xc5,0xe9,0xf4,0x18]
   1112           vpmuludq  (%eax), %xmm2, %xmm3
   1113 
   1114 // CHECK: vpavgb  %xmm1, %xmm2, %xmm3
   1115 // CHECK: encoding: [0xc5,0xe9,0xe0,0xd9]
   1116           vpavgb  %xmm1, %xmm2, %xmm3
   1117 
   1118 // CHECK: vpavgb  (%eax), %xmm2, %xmm3
   1119 // CHECK: encoding: [0xc5,0xe9,0xe0,0x18]
   1120           vpavgb  (%eax), %xmm2, %xmm3
   1121 
   1122 // CHECK: vpavgw  %xmm1, %xmm2, %xmm3
   1123 // CHECK: encoding: [0xc5,0xe9,0xe3,0xd9]
   1124           vpavgw  %xmm1, %xmm2, %xmm3
   1125 
   1126 // CHECK: vpavgw  (%eax), %xmm2, %xmm3
   1127 // CHECK: encoding: [0xc5,0xe9,0xe3,0x18]
   1128           vpavgw  (%eax), %xmm2, %xmm3
   1129 
   1130 // CHECK: vpminsw  %xmm1, %xmm2, %xmm3
   1131 // CHECK: encoding: [0xc5,0xe9,0xea,0xd9]
   1132           vpminsw  %xmm1, %xmm2, %xmm3
   1133 
   1134 // CHECK: vpminsw  (%eax), %xmm2, %xmm3
   1135 // CHECK: encoding: [0xc5,0xe9,0xea,0x18]
   1136           vpminsw  (%eax), %xmm2, %xmm3
   1137 
   1138 // CHECK: vpminub  %xmm1, %xmm2, %xmm3
   1139 // CHECK: encoding: [0xc5,0xe9,0xda,0xd9]
   1140           vpminub  %xmm1, %xmm2, %xmm3
   1141 
   1142 // CHECK: vpminub  (%eax), %xmm2, %xmm3
   1143 // CHECK: encoding: [0xc5,0xe9,0xda,0x18]
   1144           vpminub  (%eax), %xmm2, %xmm3
   1145 
   1146 // CHECK: vpmaxsw  %xmm1, %xmm2, %xmm3
   1147 // CHECK: encoding: [0xc5,0xe9,0xee,0xd9]
   1148           vpmaxsw  %xmm1, %xmm2, %xmm3
   1149 
   1150 // CHECK: vpmaxsw  (%eax), %xmm2, %xmm3
   1151 // CHECK: encoding: [0xc5,0xe9,0xee,0x18]
   1152           vpmaxsw  (%eax), %xmm2, %xmm3
   1153 
   1154 // CHECK: vpmaxub  %xmm1, %xmm2, %xmm3
   1155 // CHECK: encoding: [0xc5,0xe9,0xde,0xd9]
   1156           vpmaxub  %xmm1, %xmm2, %xmm3
   1157 
   1158 // CHECK: vpmaxub  (%eax), %xmm2, %xmm3
   1159 // CHECK: encoding: [0xc5,0xe9,0xde,0x18]
   1160           vpmaxub  (%eax), %xmm2, %xmm3
   1161 
   1162 // CHECK: vpsadbw  %xmm1, %xmm2, %xmm3
   1163 // CHECK: encoding: [0xc5,0xe9,0xf6,0xd9]
   1164           vpsadbw  %xmm1, %xmm2, %xmm3
   1165 
   1166 // CHECK: vpsadbw  (%eax), %xmm2, %xmm3
   1167 // CHECK: encoding: [0xc5,0xe9,0xf6,0x18]
   1168           vpsadbw  (%eax), %xmm2, %xmm3
   1169 
   1170 // CHECK: vpsllw  %xmm1, %xmm2, %xmm3
   1171 // CHECK: encoding: [0xc5,0xe9,0xf1,0xd9]
   1172           vpsllw  %xmm1, %xmm2, %xmm3
   1173 
   1174 // CHECK: vpsllw  (%eax), %xmm2, %xmm3
   1175 // CHECK: encoding: [0xc5,0xe9,0xf1,0x18]
   1176           vpsllw  (%eax), %xmm2, %xmm3
   1177 
   1178 // CHECK: vpslld  %xmm1, %xmm2, %xmm3
   1179 // CHECK: encoding: [0xc5,0xe9,0xf2,0xd9]
   1180           vpslld  %xmm1, %xmm2, %xmm3
   1181 
   1182 // CHECK: vpslld  (%eax), %xmm2, %xmm3
   1183 // CHECK: encoding: [0xc5,0xe9,0xf2,0x18]
   1184           vpslld  (%eax), %xmm2, %xmm3
   1185 
   1186 // CHECK: vpsllq  %xmm1, %xmm2, %xmm3
   1187 // CHECK: encoding: [0xc5,0xe9,0xf3,0xd9]
   1188           vpsllq  %xmm1, %xmm2, %xmm3
   1189 
   1190 // CHECK: vpsllq  (%eax), %xmm2, %xmm3
   1191 // CHECK: encoding: [0xc5,0xe9,0xf3,0x18]
   1192           vpsllq  (%eax), %xmm2, %xmm3
   1193 
   1194 // CHECK: vpsraw  %xmm1, %xmm2, %xmm3
   1195 // CHECK: encoding: [0xc5,0xe9,0xe1,0xd9]
   1196           vpsraw  %xmm1, %xmm2, %xmm3
   1197 
   1198 // CHECK: vpsraw  (%eax), %xmm2, %xmm3
   1199 // CHECK: encoding: [0xc5,0xe9,0xe1,0x18]
   1200           vpsraw  (%eax), %xmm2, %xmm3
   1201 
   1202 // CHECK: vpsrad  %xmm1, %xmm2, %xmm3
   1203 // CHECK: encoding: [0xc5,0xe9,0xe2,0xd9]
   1204           vpsrad  %xmm1, %xmm2, %xmm3
   1205 
   1206 // CHECK: vpsrad  (%eax), %xmm2, %xmm3
   1207 // CHECK: encoding: [0xc5,0xe9,0xe2,0x18]
   1208           vpsrad  (%eax), %xmm2, %xmm3
   1209 
   1210 // CHECK: vpsrlw  %xmm1, %xmm2, %xmm3
   1211 // CHECK: encoding: [0xc5,0xe9,0xd1,0xd9]
   1212           vpsrlw  %xmm1, %xmm2, %xmm3
   1213 
   1214 // CHECK: vpsrlw  (%eax), %xmm2, %xmm3
   1215 // CHECK: encoding: [0xc5,0xe9,0xd1,0x18]
   1216           vpsrlw  (%eax), %xmm2, %xmm3
   1217 
   1218 // CHECK: vpsrld  %xmm1, %xmm2, %xmm3
   1219 // CHECK: encoding: [0xc5,0xe9,0xd2,0xd9]
   1220           vpsrld  %xmm1, %xmm2, %xmm3
   1221 
   1222 // CHECK: vpsrld  (%eax), %xmm2, %xmm3
   1223 // CHECK: encoding: [0xc5,0xe9,0xd2,0x18]
   1224           vpsrld  (%eax), %xmm2, %xmm3
   1225 
   1226 // CHECK: vpsrlq  %xmm1, %xmm2, %xmm3
   1227 // CHECK: encoding: [0xc5,0xe9,0xd3,0xd9]
   1228           vpsrlq  %xmm1, %xmm2, %xmm3
   1229 
   1230 // CHECK: vpsrlq  (%eax), %xmm2, %xmm3
   1231 // CHECK: encoding: [0xc5,0xe9,0xd3,0x18]
   1232           vpsrlq  (%eax), %xmm2, %xmm3
   1233 
   1234 // CHECK: vpslld  $10, %xmm2, %xmm3
   1235 // CHECK: encoding: [0xc5,0xe1,0x72,0xf2,0x0a]
   1236           vpslld  $10, %xmm2, %xmm3
   1237 
   1238 // CHECK: vpslldq  $10, %xmm2, %xmm3
   1239 // CHECK: encoding: [0xc5,0xe1,0x73,0xfa,0x0a]
   1240           vpslldq  $10, %xmm2, %xmm3
   1241 
   1242 // CHECK: vpsllq  $10, %xmm2, %xmm3
   1243 // CHECK: encoding: [0xc5,0xe1,0x73,0xf2,0x0a]
   1244           vpsllq  $10, %xmm2, %xmm3
   1245 
   1246 // CHECK: vpsllw  $10, %xmm2, %xmm3
   1247 // CHECK: encoding: [0xc5,0xe1,0x71,0xf2,0x0a]
   1248           vpsllw  $10, %xmm2, %xmm3
   1249 
   1250 // CHECK: vpsrad  $10, %xmm2, %xmm3
   1251 // CHECK: encoding: [0xc5,0xe1,0x72,0xe2,0x0a]
   1252           vpsrad  $10, %xmm2, %xmm3
   1253 
   1254 // CHECK: vpsraw  $10, %xmm2, %xmm3
   1255 // CHECK: encoding: [0xc5,0xe1,0x71,0xe2,0x0a]
   1256           vpsraw  $10, %xmm2, %xmm3
   1257 
   1258 // CHECK: vpsrld  $10, %xmm2, %xmm3
   1259 // CHECK: encoding: [0xc5,0xe1,0x72,0xd2,0x0a]
   1260           vpsrld  $10, %xmm2, %xmm3
   1261 
   1262 // CHECK: vpsrldq  $10, %xmm2, %xmm3
   1263 // CHECK: encoding: [0xc5,0xe1,0x73,0xda,0x0a]
   1264           vpsrldq  $10, %xmm2, %xmm3
   1265 
   1266 // CHECK: vpsrlq  $10, %xmm2, %xmm3
   1267 // CHECK: encoding: [0xc5,0xe1,0x73,0xd2,0x0a]
   1268           vpsrlq  $10, %xmm2, %xmm3
   1269 
   1270 // CHECK: vpsrlw  $10, %xmm2, %xmm3
   1271 // CHECK: encoding: [0xc5,0xe1,0x71,0xd2,0x0a]
   1272           vpsrlw  $10, %xmm2, %xmm3
   1273 
   1274 // CHECK: vpslld  $10, %xmm2, %xmm3
   1275 // CHECK: encoding: [0xc5,0xe1,0x72,0xf2,0x0a]
   1276           vpslld  $10, %xmm2, %xmm3
   1277 
   1278 // CHECK: vpand  %xmm1, %xmm2, %xmm3
   1279 // CHECK: encoding: [0xc5,0xe9,0xdb,0xd9]
   1280           vpand  %xmm1, %xmm2, %xmm3
   1281 
   1282 // CHECK: vpand  (%eax), %xmm2, %xmm3
   1283 // CHECK: encoding: [0xc5,0xe9,0xdb,0x18]
   1284           vpand  (%eax), %xmm2, %xmm3
   1285 
   1286 // CHECK: vpor  %xmm1, %xmm2, %xmm3
   1287 // CHECK: encoding: [0xc5,0xe9,0xeb,0xd9]
   1288           vpor  %xmm1, %xmm2, %xmm3
   1289 
   1290 // CHECK: vpor  (%eax), %xmm2, %xmm3
   1291 // CHECK: encoding: [0xc5,0xe9,0xeb,0x18]
   1292           vpor  (%eax), %xmm2, %xmm3
   1293 
   1294 // CHECK: vpxor  %xmm1, %xmm2, %xmm3
   1295 // CHECK: encoding: [0xc5,0xe9,0xef,0xd9]
   1296           vpxor  %xmm1, %xmm2, %xmm3
   1297 
   1298 // CHECK: vpxor  (%eax), %xmm2, %xmm3
   1299 // CHECK: encoding: [0xc5,0xe9,0xef,0x18]
   1300           vpxor  (%eax), %xmm2, %xmm3
   1301 
   1302 // CHECK: vpandn  %xmm1, %xmm2, %xmm3
   1303 // CHECK: encoding: [0xc5,0xe9,0xdf,0xd9]
   1304           vpandn  %xmm1, %xmm2, %xmm3
   1305 
   1306 // CHECK: vpandn  (%eax), %xmm2, %xmm3
   1307 // CHECK: encoding: [0xc5,0xe9,0xdf,0x18]
   1308           vpandn  (%eax), %xmm2, %xmm3
   1309 
   1310 // CHECK: vpcmpeqb  %xmm1, %xmm2, %xmm3
   1311 // CHECK: encoding: [0xc5,0xe9,0x74,0xd9]
   1312           vpcmpeqb  %xmm1, %xmm2, %xmm3
   1313 
   1314 // CHECK: vpcmpeqb  (%eax), %xmm2, %xmm3
   1315 // CHECK: encoding: [0xc5,0xe9,0x74,0x18]
   1316           vpcmpeqb  (%eax), %xmm2, %xmm3
   1317 
   1318 // CHECK: vpcmpeqw  %xmm1, %xmm2, %xmm3
   1319 // CHECK: encoding: [0xc5,0xe9,0x75,0xd9]
   1320           vpcmpeqw  %xmm1, %xmm2, %xmm3
   1321 
   1322 // CHECK: vpcmpeqw  (%eax), %xmm2, %xmm3
   1323 // CHECK: encoding: [0xc5,0xe9,0x75,0x18]
   1324           vpcmpeqw  (%eax), %xmm2, %xmm3
   1325 
   1326 // CHECK: vpcmpeqd  %xmm1, %xmm2, %xmm3
   1327 // CHECK: encoding: [0xc5,0xe9,0x76,0xd9]
   1328           vpcmpeqd  %xmm1, %xmm2, %xmm3
   1329 
   1330 // CHECK: vpcmpeqd  (%eax), %xmm2, %xmm3
   1331 // CHECK: encoding: [0xc5,0xe9,0x76,0x18]
   1332           vpcmpeqd  (%eax), %xmm2, %xmm3
   1333 
   1334 // CHECK: vpcmpgtb  %xmm1, %xmm2, %xmm3
   1335 // CHECK: encoding: [0xc5,0xe9,0x64,0xd9]
   1336           vpcmpgtb  %xmm1, %xmm2, %xmm3
   1337 
   1338 // CHECK: vpcmpgtb  (%eax), %xmm2, %xmm3
   1339 // CHECK: encoding: [0xc5,0xe9,0x64,0x18]
   1340           vpcmpgtb  (%eax), %xmm2, %xmm3
   1341 
   1342 // CHECK: vpcmpgtw  %xmm1, %xmm2, %xmm3
   1343 // CHECK: encoding: [0xc5,0xe9,0x65,0xd9]
   1344           vpcmpgtw  %xmm1, %xmm2, %xmm3
   1345 
   1346 // CHECK: vpcmpgtw  (%eax), %xmm2, %xmm3
   1347 // CHECK: encoding: [0xc5,0xe9,0x65,0x18]
   1348           vpcmpgtw  (%eax), %xmm2, %xmm3
   1349 
   1350 // CHECK: vpcmpgtd  %xmm1, %xmm2, %xmm3
   1351 // CHECK: encoding: [0xc5,0xe9,0x66,0xd9]
   1352           vpcmpgtd  %xmm1, %xmm2, %xmm3
   1353 
   1354 // CHECK: vpcmpgtd  (%eax), %xmm2, %xmm3
   1355 // CHECK: encoding: [0xc5,0xe9,0x66,0x18]
   1356           vpcmpgtd  (%eax), %xmm2, %xmm3
   1357 
   1358 // CHECK: vpacksswb  %xmm1, %xmm2, %xmm3
   1359 // CHECK: encoding: [0xc5,0xe9,0x63,0xd9]
   1360           vpacksswb  %xmm1, %xmm2, %xmm3
   1361 
   1362 // CHECK: vpacksswb  (%eax), %xmm2, %xmm3
   1363 // CHECK: encoding: [0xc5,0xe9,0x63,0x18]
   1364           vpacksswb  (%eax), %xmm2, %xmm3
   1365 
   1366 // CHECK: vpackssdw  %xmm1, %xmm2, %xmm3
   1367 // CHECK: encoding: [0xc5,0xe9,0x6b,0xd9]
   1368           vpackssdw  %xmm1, %xmm2, %xmm3
   1369 
   1370 // CHECK: vpackssdw  (%eax), %xmm2, %xmm3
   1371 // CHECK: encoding: [0xc5,0xe9,0x6b,0x18]
   1372           vpackssdw  (%eax), %xmm2, %xmm3
   1373 
   1374 // CHECK: vpackuswb  %xmm1, %xmm2, %xmm3
   1375 // CHECK: encoding: [0xc5,0xe9,0x67,0xd9]
   1376           vpackuswb  %xmm1, %xmm2, %xmm3
   1377 
   1378 // CHECK: vpackuswb  (%eax), %xmm2, %xmm3
   1379 // CHECK: encoding: [0xc5,0xe9,0x67,0x18]
   1380           vpackuswb  (%eax), %xmm2, %xmm3
   1381 
   1382 // CHECK: vpshufd  $4, %xmm2, %xmm3
   1383 // CHECK: encoding: [0xc5,0xf9,0x70,0xda,0x04]
   1384           vpshufd  $4, %xmm2, %xmm3
   1385 
   1386 // CHECK: vpshufd  $4, (%eax), %xmm3
   1387 // CHECK: encoding: [0xc5,0xf9,0x70,0x18,0x04]
   1388           vpshufd  $4, (%eax), %xmm3
   1389 
   1390 // CHECK: vpshufhw  $4, %xmm2, %xmm3
   1391 // CHECK: encoding: [0xc5,0xfa,0x70,0xda,0x04]
   1392           vpshufhw  $4, %xmm2, %xmm3
   1393 
   1394 // CHECK: vpshufhw  $4, (%eax), %xmm3
   1395 // CHECK: encoding: [0xc5,0xfa,0x70,0x18,0x04]
   1396           vpshufhw  $4, (%eax), %xmm3
   1397 
   1398 // CHECK: vpshuflw  $4, %xmm2, %xmm3
   1399 // CHECK: encoding: [0xc5,0xfb,0x70,0xda,0x04]
   1400           vpshuflw  $4, %xmm2, %xmm3
   1401 
   1402 // CHECK: vpshuflw  $4, (%eax), %xmm3
   1403 // CHECK: encoding: [0xc5,0xfb,0x70,0x18,0x04]
   1404           vpshuflw  $4, (%eax), %xmm3
   1405 
   1406 // CHECK: vpunpcklbw  %xmm1, %xmm2, %xmm3
   1407 // CHECK: encoding: [0xc5,0xe9,0x60,0xd9]
   1408           vpunpcklbw  %xmm1, %xmm2, %xmm3
   1409 
   1410 // CHECK: vpunpcklbw  (%eax), %xmm2, %xmm3
   1411 // CHECK: encoding: [0xc5,0xe9,0x60,0x18]
   1412           vpunpcklbw  (%eax), %xmm2, %xmm3
   1413 
   1414 // CHECK: vpunpcklwd  %xmm1, %xmm2, %xmm3
   1415 // CHECK: encoding: [0xc5,0xe9,0x61,0xd9]
   1416           vpunpcklwd  %xmm1, %xmm2, %xmm3
   1417 
   1418 // CHECK: vpunpcklwd  (%eax), %xmm2, %xmm3
   1419 // CHECK: encoding: [0xc5,0xe9,0x61,0x18]
   1420           vpunpcklwd  (%eax), %xmm2, %xmm3
   1421 
   1422 // CHECK: vpunpckldq  %xmm1, %xmm2, %xmm3
   1423 // CHECK: encoding: [0xc5,0xe9,0x62,0xd9]
   1424           vpunpckldq  %xmm1, %xmm2, %xmm3
   1425 
   1426 // CHECK: vpunpckldq  (%eax), %xmm2, %xmm3
   1427 // CHECK: encoding: [0xc5,0xe9,0x62,0x18]
   1428           vpunpckldq  (%eax), %xmm2, %xmm3
   1429 
   1430 // CHECK: vpunpcklqdq  %xmm1, %xmm2, %xmm3
   1431 // CHECK: encoding: [0xc5,0xe9,0x6c,0xd9]
   1432           vpunpcklqdq  %xmm1, %xmm2, %xmm3
   1433 
   1434 // CHECK: vpunpcklqdq  (%eax), %xmm2, %xmm3
   1435 // CHECK: encoding: [0xc5,0xe9,0x6c,0x18]
   1436           vpunpcklqdq  (%eax), %xmm2, %xmm3
   1437 
   1438 // CHECK: vpunpckhbw  %xmm1, %xmm2, %xmm3
   1439 // CHECK: encoding: [0xc5,0xe9,0x68,0xd9]
   1440           vpunpckhbw  %xmm1, %xmm2, %xmm3
   1441 
   1442 // CHECK: vpunpckhbw  (%eax), %xmm2, %xmm3
   1443 // CHECK: encoding: [0xc5,0xe9,0x68,0x18]
   1444           vpunpckhbw  (%eax), %xmm2, %xmm3
   1445 
   1446 // CHECK: vpunpckhwd  %xmm1, %xmm2, %xmm3
   1447 // CHECK: encoding: [0xc5,0xe9,0x69,0xd9]
   1448           vpunpckhwd  %xmm1, %xmm2, %xmm3
   1449 
   1450 // CHECK: vpunpckhwd  (%eax), %xmm2, %xmm3
   1451 // CHECK: encoding: [0xc5,0xe9,0x69,0x18]
   1452           vpunpckhwd  (%eax), %xmm2, %xmm3
   1453 
   1454 // CHECK: vpunpckhdq  %xmm1, %xmm2, %xmm3
   1455 // CHECK: encoding: [0xc5,0xe9,0x6a,0xd9]
   1456           vpunpckhdq  %xmm1, %xmm2, %xmm3
   1457 
   1458 // CHECK: vpunpckhdq  (%eax), %xmm2, %xmm3
   1459 // CHECK: encoding: [0xc5,0xe9,0x6a,0x18]
   1460           vpunpckhdq  (%eax), %xmm2, %xmm3
   1461 
   1462 // CHECK: vpunpckhqdq  %xmm1, %xmm2, %xmm3
   1463 // CHECK: encoding: [0xc5,0xe9,0x6d,0xd9]
   1464           vpunpckhqdq  %xmm1, %xmm2, %xmm3
   1465 
   1466 // CHECK: vpunpckhqdq  (%eax), %xmm2, %xmm3
   1467 // CHECK: encoding: [0xc5,0xe9,0x6d,0x18]
   1468           vpunpckhqdq  (%eax), %xmm2, %xmm3
   1469 
   1470 // CHECK: vpinsrw  $7, %eax, %xmm2, %xmm3
   1471 // CHECK: encoding: [0xc5,0xe9,0xc4,0xd8,0x07]
   1472           vpinsrw  $7, %eax, %xmm2, %xmm3
   1473 
   1474 // CHECK: vpinsrw  $7, (%eax), %xmm2, %xmm3
   1475 // CHECK: encoding: [0xc5,0xe9,0xc4,0x18,0x07]
   1476           vpinsrw  $7, (%eax), %xmm2, %xmm3
   1477 
   1478 // CHECK: vpextrw  $7, %xmm2, %eax
   1479 // CHECK: encoding: [0xc5,0xf9,0xc5,0xc2,0x07]
   1480           vpextrw  $7, %xmm2, %eax
   1481 
   1482 // CHECK: vpmovmskb  %xmm1, %eax
   1483 // CHECK: encoding: [0xc5,0xf9,0xd7,0xc1]
   1484           vpmovmskb  %xmm1, %eax
   1485 
   1486 // CHECK: vmaskmovdqu  %xmm1, %xmm2
   1487 // CHECK: encoding: [0xc5,0xf9,0xf7,0xd1]
   1488           vmaskmovdqu  %xmm1, %xmm2
   1489 
   1490 // CHECK: vmovd  %xmm1, %eax
   1491 // CHECK: encoding: [0xc5,0xf9,0x7e,0xc8]
   1492           vmovd  %xmm1, %eax
   1493 
   1494 // CHECK: vmovd  %xmm1, (%eax)
   1495 // CHECK: encoding: [0xc5,0xf9,0x7e,0x08]
   1496           vmovd  %xmm1, (%eax)
   1497 
   1498 // CHECK: vmovd  %eax, %xmm1
   1499 // CHECK: encoding: [0xc5,0xf9,0x6e,0xc8]
   1500           vmovd  %eax, %xmm1
   1501 
   1502 // CHECK: vmovd  (%eax), %xmm1
   1503 // CHECK: encoding: [0xc5,0xf9,0x6e,0x08]
   1504           vmovd  (%eax), %xmm1
   1505 
   1506 // CHECK: vmovq  %xmm1, (%eax)
   1507 // CHECK: encoding: [0xc5,0xf9,0xd6,0x08]
   1508           vmovq  %xmm1, (%eax)
   1509 
   1510 // CHECK: vmovq  %xmm1, %xmm2
   1511 // CHECK: encoding: [0xc5,0xfa,0x7e,0xd1]
   1512           vmovq  %xmm1, %xmm2
   1513 
   1514 // CHECK: vmovq  (%eax), %xmm1
   1515 // CHECK: encoding: [0xc5,0xfa,0x7e,0x08]
   1516           vmovq  (%eax), %xmm1
   1517 
   1518 // CHECK: vcvtpd2dq  %xmm1, %xmm2
   1519 // CHECK: encoding: [0xc5,0xfb,0xe6,0xd1]
   1520           vcvtpd2dq  %xmm1, %xmm2
   1521 
   1522 // CHECK: vcvtdq2pd  %xmm1, %xmm2
   1523 // CHECK: encoding: [0xc5,0xfa,0xe6,0xd1]
   1524           vcvtdq2pd  %xmm1, %xmm2
   1525 
   1526 // CHECK: vcvtdq2pd  (%eax), %xmm2
   1527 // CHECK: encoding: [0xc5,0xfa,0xe6,0x10]
   1528           vcvtdq2pd  (%eax), %xmm2
   1529 
   1530 // CHECK: vmovshdup  %xmm1, %xmm2
   1531 // CHECK: encoding: [0xc5,0xfa,0x16,0xd1]
   1532           vmovshdup  %xmm1, %xmm2
   1533 
   1534 // CHECK: vmovshdup  (%eax), %xmm2
   1535 // CHECK: encoding: [0xc5,0xfa,0x16,0x10]
   1536           vmovshdup  (%eax), %xmm2
   1537 
   1538 // CHECK: vmovsldup  %xmm1, %xmm2
   1539 // CHECK: encoding: [0xc5,0xfa,0x12,0xd1]
   1540           vmovsldup  %xmm1, %xmm2
   1541 
   1542 // CHECK: vmovsldup  (%eax), %xmm2
   1543 // CHECK: encoding: [0xc5,0xfa,0x12,0x10]
   1544           vmovsldup  (%eax), %xmm2
   1545 
   1546 // CHECK: vmovddup  %xmm1, %xmm2
   1547 // CHECK: encoding: [0xc5,0xfb,0x12,0xd1]
   1548           vmovddup  %xmm1, %xmm2
   1549 
   1550 // CHECK: vmovddup  (%eax), %xmm2
   1551 // CHECK: encoding: [0xc5,0xfb,0x12,0x10]
   1552           vmovddup  (%eax), %xmm2
   1553 
   1554 // CHECK: vaddsubps  %xmm1, %xmm2, %xmm3
   1555 // CHECK: encoding: [0xc5,0xeb,0xd0,0xd9]
   1556           vaddsubps  %xmm1, %xmm2, %xmm3
   1557 
   1558 // CHECK: vaddsubps  (%eax), %xmm1, %xmm2
   1559 // CHECK: encoding: [0xc5,0xf3,0xd0,0x10]
   1560           vaddsubps  (%eax), %xmm1, %xmm2
   1561 
   1562 // CHECK: vaddsubpd  %xmm1, %xmm2, %xmm3
   1563 // CHECK: encoding: [0xc5,0xe9,0xd0,0xd9]
   1564           vaddsubpd  %xmm1, %xmm2, %xmm3
   1565 
   1566 // CHECK: vaddsubpd  (%eax), %xmm1, %xmm2
   1567 // CHECK: encoding: [0xc5,0xf1,0xd0,0x10]
   1568           vaddsubpd  (%eax), %xmm1, %xmm2
   1569 
   1570 // CHECK: vhaddps  %xmm1, %xmm2, %xmm3
   1571 // CHECK: encoding: [0xc5,0xeb,0x7c,0xd9]
   1572           vhaddps  %xmm1, %xmm2, %xmm3
   1573 
   1574 // CHECK: vhaddps  (%eax), %xmm2, %xmm3
   1575 // CHECK: encoding: [0xc5,0xeb,0x7c,0x18]
   1576           vhaddps  (%eax), %xmm2, %xmm3
   1577 
   1578 // CHECK: vhaddpd  %xmm1, %xmm2, %xmm3
   1579 // CHECK: encoding: [0xc5,0xe9,0x7c,0xd9]
   1580           vhaddpd  %xmm1, %xmm2, %xmm3
   1581 
   1582 // CHECK: vhaddpd  (%eax), %xmm2, %xmm3
   1583 // CHECK: encoding: [0xc5,0xe9,0x7c,0x18]
   1584           vhaddpd  (%eax), %xmm2, %xmm3
   1585 
   1586 // CHECK: vhsubps  %xmm1, %xmm2, %xmm3
   1587 // CHECK: encoding: [0xc5,0xeb,0x7d,0xd9]
   1588           vhsubps  %xmm1, %xmm2, %xmm3
   1589 
   1590 // CHECK: vhsubps  (%eax), %xmm2, %xmm3
   1591 // CHECK: encoding: [0xc5,0xeb,0x7d,0x18]
   1592           vhsubps  (%eax), %xmm2, %xmm3
   1593 
   1594 // CHECK: vhsubpd  %xmm1, %xmm2, %xmm3
   1595 // CHECK: encoding: [0xc5,0xe9,0x7d,0xd9]
   1596           vhsubpd  %xmm1, %xmm2, %xmm3
   1597 
   1598 // CHECK: vhsubpd  (%eax), %xmm2, %xmm3
   1599 // CHECK: encoding: [0xc5,0xe9,0x7d,0x18]
   1600           vhsubpd  (%eax), %xmm2, %xmm3
   1601 
   1602 // CHECK: vpabsb  %xmm1, %xmm2
   1603 // CHECK: encoding: [0xc4,0xe2,0x79,0x1c,0xd1]
   1604           vpabsb  %xmm1, %xmm2
   1605 
   1606 // CHECK: vpabsb  (%eax), %xmm2
   1607 // CHECK: encoding: [0xc4,0xe2,0x79,0x1c,0x10]
   1608           vpabsb  (%eax), %xmm2
   1609 
   1610 // CHECK: vpabsw  %xmm1, %xmm2
   1611 // CHECK: encoding: [0xc4,0xe2,0x79,0x1d,0xd1]
   1612           vpabsw  %xmm1, %xmm2
   1613 
   1614 // CHECK: vpabsw  (%eax), %xmm2
   1615 // CHECK: encoding: [0xc4,0xe2,0x79,0x1d,0x10]
   1616           vpabsw  (%eax), %xmm2
   1617 
   1618 // CHECK: vpabsd  %xmm1, %xmm2
   1619 // CHECK: encoding: [0xc4,0xe2,0x79,0x1e,0xd1]
   1620           vpabsd  %xmm1, %xmm2
   1621 
   1622 // CHECK: vpabsd  (%eax), %xmm2
   1623 // CHECK: encoding: [0xc4,0xe2,0x79,0x1e,0x10]
   1624           vpabsd  (%eax), %xmm2
   1625 
   1626 // CHECK: vphaddw  %xmm1, %xmm2, %xmm3
   1627 // CHECK: encoding: [0xc4,0xe2,0x69,0x01,0xd9]
   1628           vphaddw  %xmm1, %xmm2, %xmm3
   1629 
   1630 // CHECK: vphaddw  (%eax), %xmm2, %xmm3
   1631 // CHECK: encoding: [0xc4,0xe2,0x69,0x01,0x18]
   1632           vphaddw  (%eax), %xmm2, %xmm3
   1633 
   1634 // CHECK: vphaddd  %xmm1, %xmm2, %xmm3
   1635 // CHECK: encoding: [0xc4,0xe2,0x69,0x02,0xd9]
   1636           vphaddd  %xmm1, %xmm2, %xmm3
   1637 
   1638 // CHECK: vphaddd  (%eax), %xmm2, %xmm3
   1639 // CHECK: encoding: [0xc4,0xe2,0x69,0x02,0x18]
   1640           vphaddd  (%eax), %xmm2, %xmm3
   1641 
   1642 // CHECK: vphaddsw  %xmm1, %xmm2, %xmm3
   1643 // CHECK: encoding: [0xc4,0xe2,0x69,0x03,0xd9]
   1644           vphaddsw  %xmm1, %xmm2, %xmm3
   1645 
   1646 // CHECK: vphaddsw  (%eax), %xmm2, %xmm3
   1647 // CHECK: encoding: [0xc4,0xe2,0x69,0x03,0x18]
   1648           vphaddsw  (%eax), %xmm2, %xmm3
   1649 
   1650 // CHECK: vphsubw  %xmm1, %xmm2, %xmm3
   1651 // CHECK: encoding: [0xc4,0xe2,0x69,0x05,0xd9]
   1652           vphsubw  %xmm1, %xmm2, %xmm3
   1653 
   1654 // CHECK: vphsubw  (%eax), %xmm2, %xmm3
   1655 // CHECK: encoding: [0xc4,0xe2,0x69,0x05,0x18]
   1656           vphsubw  (%eax), %xmm2, %xmm3
   1657 
   1658 // CHECK: vphsubd  %xmm1, %xmm2, %xmm3
   1659 // CHECK: encoding: [0xc4,0xe2,0x69,0x06,0xd9]
   1660           vphsubd  %xmm1, %xmm2, %xmm3
   1661 
   1662 // CHECK: vphsubd  (%eax), %xmm2, %xmm3
   1663 // CHECK: encoding: [0xc4,0xe2,0x69,0x06,0x18]
   1664           vphsubd  (%eax), %xmm2, %xmm3
   1665 
   1666 // CHECK: vphsubsw  %xmm1, %xmm2, %xmm3
   1667 // CHECK: encoding: [0xc4,0xe2,0x69,0x07,0xd9]
   1668           vphsubsw  %xmm1, %xmm2, %xmm3
   1669 
   1670 // CHECK: vphsubsw  (%eax), %xmm2, %xmm3
   1671 // CHECK: encoding: [0xc4,0xe2,0x69,0x07,0x18]
   1672           vphsubsw  (%eax), %xmm2, %xmm3
   1673 
   1674 // CHECK: vpmaddubsw  %xmm1, %xmm2, %xmm3
   1675 // CHECK: encoding: [0xc4,0xe2,0x69,0x04,0xd9]
   1676           vpmaddubsw  %xmm1, %xmm2, %xmm3
   1677 
   1678 // CHECK: vpmaddubsw  (%eax), %xmm2, %xmm3
   1679 // CHECK: encoding: [0xc4,0xe2,0x69,0x04,0x18]
   1680           vpmaddubsw  (%eax), %xmm2, %xmm3
   1681 
   1682 // CHECK: vpshufb  %xmm1, %xmm2, %xmm3
   1683 // CHECK: encoding: [0xc4,0xe2,0x69,0x00,0xd9]
   1684           vpshufb  %xmm1, %xmm2, %xmm3
   1685 
   1686 // CHECK: vpshufb  (%eax), %xmm2, %xmm3
   1687 // CHECK: encoding: [0xc4,0xe2,0x69,0x00,0x18]
   1688           vpshufb  (%eax), %xmm2, %xmm3
   1689 
   1690 // CHECK: vpsignb  %xmm1, %xmm2, %xmm3
   1691 // CHECK: encoding: [0xc4,0xe2,0x69,0x08,0xd9]
   1692           vpsignb  %xmm1, %xmm2, %xmm3
   1693 
   1694 // CHECK: vpsignb  (%eax), %xmm2, %xmm3
   1695 // CHECK: encoding: [0xc4,0xe2,0x69,0x08,0x18]
   1696           vpsignb  (%eax), %xmm2, %xmm3
   1697 
   1698 // CHECK: vpsignw  %xmm1, %xmm2, %xmm3
   1699 // CHECK: encoding: [0xc4,0xe2,0x69,0x09,0xd9]
   1700           vpsignw  %xmm1, %xmm2, %xmm3
   1701 
   1702 // CHECK: vpsignw  (%eax), %xmm2, %xmm3
   1703 // CHECK: encoding: [0xc4,0xe2,0x69,0x09,0x18]
   1704           vpsignw  (%eax), %xmm2, %xmm3
   1705 
   1706 // CHECK: vpsignd  %xmm1, %xmm2, %xmm3
   1707 // CHECK: encoding: [0xc4,0xe2,0x69,0x0a,0xd9]
   1708           vpsignd  %xmm1, %xmm2, %xmm3
   1709 
   1710 // CHECK: vpsignd  (%eax), %xmm2, %xmm3
   1711 // CHECK: encoding: [0xc4,0xe2,0x69,0x0a,0x18]
   1712           vpsignd  (%eax), %xmm2, %xmm3
   1713 
   1714 // CHECK: vpmulhrsw  %xmm1, %xmm2, %xmm3
   1715 // CHECK: encoding: [0xc4,0xe2,0x69,0x0b,0xd9]
   1716           vpmulhrsw  %xmm1, %xmm2, %xmm3
   1717 
   1718 // CHECK: vpmulhrsw  (%eax), %xmm2, %xmm3
   1719 // CHECK: encoding: [0xc4,0xe2,0x69,0x0b,0x18]
   1720           vpmulhrsw  (%eax), %xmm2, %xmm3
   1721 
   1722 // CHECK: vpalignr  $7, %xmm1, %xmm2, %xmm3
   1723 // CHECK: encoding: [0xc4,0xe3,0x69,0x0f,0xd9,0x07]
   1724           vpalignr  $7, %xmm1, %xmm2, %xmm3
   1725 
   1726 // CHECK: vpalignr  $7, (%eax), %xmm2, %xmm3
   1727 // CHECK: encoding: [0xc4,0xe3,0x69,0x0f,0x18,0x07]
   1728           vpalignr  $7, (%eax), %xmm2, %xmm3
   1729 
   1730 // CHECK: vroundsd  $7, %xmm1, %xmm2, %xmm3
   1731 // CHECK: encoding: [0xc4,0xe3,0x69,0x0b,0xd9,0x07]
   1732           vroundsd  $7, %xmm1, %xmm2, %xmm3
   1733 
   1734 // CHECK: vroundsd  $7, (%eax), %xmm2, %xmm3
   1735 // CHECK: encoding: [0xc4,0xe3,0x69,0x0b,0x18,0x07]
   1736           vroundsd  $7, (%eax), %xmm2, %xmm3
   1737 
   1738 // CHECK: vroundss  $7, %xmm1, %xmm2, %xmm3
   1739 // CHECK: encoding: [0xc4,0xe3,0x69,0x0a,0xd9,0x07]
   1740           vroundss  $7, %xmm1, %xmm2, %xmm3
   1741 
   1742 // CHECK: vroundss  $7, (%eax), %xmm2, %xmm3
   1743 // CHECK: encoding: [0xc4,0xe3,0x69,0x0a,0x18,0x07]
   1744           vroundss  $7, (%eax), %xmm2, %xmm3
   1745 
   1746 // CHECK: vroundpd  $7, %xmm2, %xmm3
   1747 // CHECK: encoding: [0xc4,0xe3,0x79,0x09,0xda,0x07]
   1748           vroundpd  $7, %xmm2, %xmm3
   1749 
   1750 // CHECK: vroundpd  $7, (%eax), %xmm3
   1751 // CHECK: encoding: [0xc4,0xe3,0x79,0x09,0x18,0x07]
   1752           vroundpd  $7, (%eax), %xmm3
   1753 
   1754 // CHECK: vroundps  $7, %xmm2, %xmm3
   1755 // CHECK: encoding: [0xc4,0xe3,0x79,0x08,0xda,0x07]
   1756           vroundps  $7, %xmm2, %xmm3
   1757 
   1758 // CHECK: vroundps  $7, (%eax), %xmm3
   1759 // CHECK: encoding: [0xc4,0xe3,0x79,0x08,0x18,0x07]
   1760           vroundps  $7, (%eax), %xmm3
   1761 
   1762 // CHECK: vphminposuw  %xmm2, %xmm3
   1763 // CHECK: encoding: [0xc4,0xe2,0x79,0x41,0xda]
   1764           vphminposuw  %xmm2, %xmm3
   1765 
   1766 // CHECK: vphminposuw  (%eax), %xmm2
   1767 // CHECK: encoding: [0xc4,0xe2,0x79,0x41,0x10]
   1768           vphminposuw  (%eax), %xmm2
   1769 
   1770 // CHECK: vpackusdw  %xmm2, %xmm3, %xmm1
   1771 // CHECK: encoding: [0xc4,0xe2,0x61,0x2b,0xca]
   1772           vpackusdw  %xmm2, %xmm3, %xmm1
   1773 
   1774 // CHECK: vpackusdw  (%eax), %xmm2, %xmm3
   1775 // CHECK: encoding: [0xc4,0xe2,0x69,0x2b,0x18]
   1776           vpackusdw  (%eax), %xmm2, %xmm3
   1777 
   1778 // CHECK: vpcmpeqq  %xmm2, %xmm3, %xmm1
   1779 // CHECK: encoding: [0xc4,0xe2,0x61,0x29,0xca]
   1780           vpcmpeqq  %xmm2, %xmm3, %xmm1
   1781 
   1782 // CHECK: vpcmpeqq  (%eax), %xmm2, %xmm3
   1783 // CHECK: encoding: [0xc4,0xe2,0x69,0x29,0x18]
   1784           vpcmpeqq  (%eax), %xmm2, %xmm3
   1785 
   1786 // CHECK: vpminsb  %xmm2, %xmm3, %xmm1
   1787 // CHECK: encoding: [0xc4,0xe2,0x61,0x38,0xca]
   1788           vpminsb  %xmm2, %xmm3, %xmm1
   1789 
   1790 // CHECK: vpminsb  (%eax), %xmm2, %xmm3
   1791 // CHECK: encoding: [0xc4,0xe2,0x69,0x38,0x18]
   1792           vpminsb  (%eax), %xmm2, %xmm3
   1793 
   1794 // CHECK: vpminsd  %xmm2, %xmm3, %xmm1
   1795 // CHECK: encoding: [0xc4,0xe2,0x61,0x39,0xca]
   1796           vpminsd  %xmm2, %xmm3, %xmm1
   1797 
   1798 // CHECK: vpminsd  (%eax), %xmm2, %xmm3
   1799 // CHECK: encoding: [0xc4,0xe2,0x69,0x39,0x18]
   1800           vpminsd  (%eax), %xmm2, %xmm3
   1801 
   1802 // CHECK: vpminud  %xmm2, %xmm3, %xmm1
   1803 // CHECK: encoding: [0xc4,0xe2,0x61,0x3b,0xca]
   1804           vpminud  %xmm2, %xmm3, %xmm1
   1805 
   1806 // CHECK: vpminud  (%eax), %xmm2, %xmm3
   1807 // CHECK: encoding: [0xc4,0xe2,0x69,0x3b,0x18]
   1808           vpminud  (%eax), %xmm2, %xmm3
   1809 
   1810 // CHECK: vpminuw  %xmm2, %xmm3, %xmm1
   1811 // CHECK: encoding: [0xc4,0xe2,0x61,0x3a,0xca]
   1812           vpminuw  %xmm2, %xmm3, %xmm1
   1813 
   1814 // CHECK: vpminuw  (%eax), %xmm2, %xmm3
   1815 // CHECK: encoding: [0xc4,0xe2,0x69,0x3a,0x18]
   1816           vpminuw  (%eax), %xmm2, %xmm3
   1817 
   1818 // CHECK: vpmaxsb  %xmm2, %xmm3, %xmm1
   1819 // CHECK: encoding: [0xc4,0xe2,0x61,0x3c,0xca]
   1820           vpmaxsb  %xmm2, %xmm3, %xmm1
   1821 
   1822 // CHECK: vpmaxsb  (%eax), %xmm2, %xmm3
   1823 // CHECK: encoding: [0xc4,0xe2,0x69,0x3c,0x18]
   1824           vpmaxsb  (%eax), %xmm2, %xmm3
   1825 
   1826 // CHECK: vpmaxsd  %xmm2, %xmm3, %xmm1
   1827 // CHECK: encoding: [0xc4,0xe2,0x61,0x3d,0xca]
   1828           vpmaxsd  %xmm2, %xmm3, %xmm1
   1829 
   1830 // CHECK: vpmaxsd  (%eax), %xmm2, %xmm3
   1831 // CHECK: encoding: [0xc4,0xe2,0x69,0x3d,0x18]
   1832           vpmaxsd  (%eax), %xmm2, %xmm3
   1833 
   1834 // CHECK: vpmaxud  %xmm2, %xmm3, %xmm1
   1835 // CHECK: encoding: [0xc4,0xe2,0x61,0x3f,0xca]
   1836           vpmaxud  %xmm2, %xmm3, %xmm1
   1837 
   1838 // CHECK: vpmaxud  (%eax), %xmm2, %xmm3
   1839 // CHECK: encoding: [0xc4,0xe2,0x69,0x3f,0x18]
   1840           vpmaxud  (%eax), %xmm2, %xmm3
   1841 
   1842 // CHECK: vpmaxuw  %xmm2, %xmm3, %xmm1
   1843 // CHECK: encoding: [0xc4,0xe2,0x61,0x3e,0xca]
   1844           vpmaxuw  %xmm2, %xmm3, %xmm1
   1845 
   1846 // CHECK: vpmaxuw  (%eax), %xmm2, %xmm3
   1847 // CHECK: encoding: [0xc4,0xe2,0x69,0x3e,0x18]
   1848           vpmaxuw  (%eax), %xmm2, %xmm3
   1849 
   1850 // CHECK: vpmuldq  %xmm2, %xmm3, %xmm1
   1851 // CHECK: encoding: [0xc4,0xe2,0x61,0x28,0xca]
   1852           vpmuldq  %xmm2, %xmm3, %xmm1
   1853 
   1854 // CHECK: vpmuldq  (%eax), %xmm2, %xmm3
   1855 // CHECK: encoding: [0xc4,0xe2,0x69,0x28,0x18]
   1856           vpmuldq  (%eax), %xmm2, %xmm3
   1857 
   1858 // CHECK: vpmulld  %xmm2, %xmm5, %xmm1
   1859 // CHECK: encoding: [0xc4,0xe2,0x51,0x40,0xca]
   1860           vpmulld  %xmm2, %xmm5, %xmm1
   1861 
   1862 // CHECK: vpmulld  (%eax), %xmm5, %xmm3
   1863 // CHECK: encoding: [0xc4,0xe2,0x51,0x40,0x18]
   1864           vpmulld  (%eax), %xmm5, %xmm3
   1865 
   1866 // CHECK: vblendps  $3, %xmm2, %xmm5, %xmm1
   1867 // CHECK: encoding: [0xc4,0xe3,0x51,0x0c,0xca,0x03]
   1868           vblendps  $3, %xmm2, %xmm5, %xmm1
   1869 
   1870 // CHECK: vblendps  $3, (%eax), %xmm5, %xmm1
   1871 // CHECK: encoding: [0xc4,0xe3,0x51,0x0c,0x08,0x03]
   1872           vblendps  $3, (%eax), %xmm5, %xmm1
   1873 
   1874 // CHECK: vblendpd  $3, %xmm2, %xmm5, %xmm1
   1875 // CHECK: encoding: [0xc4,0xe3,0x51,0x0d,0xca,0x03]
   1876           vblendpd  $3, %xmm2, %xmm5, %xmm1
   1877 
   1878 // CHECK: vblendpd  $3, (%eax), %xmm5, %xmm1
   1879 // CHECK: encoding: [0xc4,0xe3,0x51,0x0d,0x08,0x03]
   1880           vblendpd  $3, (%eax), %xmm5, %xmm1
   1881 
   1882 // CHECK: vpblendw  $3, %xmm2, %xmm5, %xmm1
   1883 // CHECK: encoding: [0xc4,0xe3,0x51,0x0e,0xca,0x03]
   1884           vpblendw  $3, %xmm2, %xmm5, %xmm1
   1885 
   1886 // CHECK: vpblendw  $3, (%eax), %xmm5, %xmm1
   1887 // CHECK: encoding: [0xc4,0xe3,0x51,0x0e,0x08,0x03]
   1888           vpblendw  $3, (%eax), %xmm5, %xmm1
   1889 
   1890 // CHECK: vmpsadbw  $3, %xmm2, %xmm5, %xmm1
   1891 // CHECK: encoding: [0xc4,0xe3,0x51,0x42,0xca,0x03]
   1892           vmpsadbw  $3, %xmm2, %xmm5, %xmm1
   1893 
   1894 // CHECK: vmpsadbw  $3, (%eax), %xmm5, %xmm1
   1895 // CHECK: encoding: [0xc4,0xe3,0x51,0x42,0x08,0x03]
   1896           vmpsadbw  $3, (%eax), %xmm5, %xmm1
   1897 
   1898 // CHECK: vdpps  $3, %xmm2, %xmm5, %xmm1
   1899 // CHECK: encoding: [0xc4,0xe3,0x51,0x40,0xca,0x03]
   1900           vdpps  $3, %xmm2, %xmm5, %xmm1
   1901 
   1902 // CHECK: vdpps  $3, (%eax), %xmm5, %xmm1
   1903 // CHECK: encoding: [0xc4,0xe3,0x51,0x40,0x08,0x03]
   1904           vdpps  $3, (%eax), %xmm5, %xmm1
   1905 
   1906 // CHECK: vdppd  $3, %xmm2, %xmm5, %xmm1
   1907 // CHECK: encoding: [0xc4,0xe3,0x51,0x41,0xca,0x03]
   1908           vdppd  $3, %xmm2, %xmm5, %xmm1
   1909 
   1910 // CHECK: vdppd  $3, (%eax), %xmm5, %xmm1
   1911 // CHECK: encoding: [0xc4,0xe3,0x51,0x41,0x08,0x03]
   1912           vdppd  $3, (%eax), %xmm5, %xmm1
   1913 
   1914 // CHECK: vblendvpd  %xmm2, %xmm5, %xmm1, %xmm3
   1915 // CHECK: encoding: [0xc4,0xe3,0x71,0x4b,0xdd,0x20]
   1916           vblendvpd  %xmm2, %xmm5, %xmm1, %xmm3
   1917 
   1918 // CHECK: vblendvpd  %xmm2, (%eax), %xmm1, %xmm3
   1919 // CHECK: encoding: [0xc4,0xe3,0x71,0x4b,0x18,0x20]
   1920           vblendvpd  %xmm2, (%eax), %xmm1, %xmm3
   1921 
   1922 // CHECK: vblendvps  %xmm2, %xmm5, %xmm1, %xmm3
   1923 // CHECK: encoding: [0xc4,0xe3,0x71,0x4a,0xdd,0x20]
   1924           vblendvps  %xmm2, %xmm5, %xmm1, %xmm3
   1925 
   1926 // CHECK: vblendvps  %xmm2, (%eax), %xmm1, %xmm3
   1927 // CHECK: encoding: [0xc4,0xe3,0x71,0x4a,0x18,0x20]
   1928           vblendvps  %xmm2, (%eax), %xmm1, %xmm3
   1929 
   1930 // CHECK: vpblendvb  %xmm2, %xmm5, %xmm1, %xmm3
   1931 // CHECK: encoding: [0xc4,0xe3,0x71,0x4c,0xdd,0x20]
   1932           vpblendvb  %xmm2, %xmm5, %xmm1, %xmm3
   1933 
   1934 // CHECK: vpblendvb  %xmm2, (%eax), %xmm1, %xmm3
   1935 // CHECK: encoding: [0xc4,0xe3,0x71,0x4c,0x18,0x20]
   1936           vpblendvb  %xmm2, (%eax), %xmm1, %xmm3
   1937 
   1938 // CHECK: vpmovsxbw  %xmm2, %xmm5
   1939 // CHECK: encoding: [0xc4,0xe2,0x79,0x20,0xea]
   1940           vpmovsxbw  %xmm2, %xmm5
   1941 
   1942 // CHECK: vpmovsxbw  (%eax), %xmm2
   1943 // CHECK: encoding: [0xc4,0xe2,0x79,0x20,0x10]
   1944           vpmovsxbw  (%eax), %xmm2
   1945 
   1946 // CHECK: vpmovsxwd  %xmm2, %xmm5
   1947 // CHECK: encoding: [0xc4,0xe2,0x79,0x23,0xea]
   1948           vpmovsxwd  %xmm2, %xmm5
   1949 
   1950 // CHECK: vpmovsxwd  (%eax), %xmm2
   1951 // CHECK: encoding: [0xc4,0xe2,0x79,0x23,0x10]
   1952           vpmovsxwd  (%eax), %xmm2
   1953 
   1954 // CHECK: vpmovsxdq  %xmm2, %xmm5
   1955 // CHECK: encoding: [0xc4,0xe2,0x79,0x25,0xea]
   1956           vpmovsxdq  %xmm2, %xmm5
   1957 
   1958 // CHECK: vpmovsxdq  (%eax), %xmm2
   1959 // CHECK: encoding: [0xc4,0xe2,0x79,0x25,0x10]
   1960           vpmovsxdq  (%eax), %xmm2
   1961 
   1962 // CHECK: vpmovzxbw  %xmm2, %xmm5
   1963 // CHECK: encoding: [0xc4,0xe2,0x79,0x30,0xea]
   1964           vpmovzxbw  %xmm2, %xmm5
   1965 
   1966 // CHECK: vpmovzxbw  (%eax), %xmm2
   1967 // CHECK: encoding: [0xc4,0xe2,0x79,0x30,0x10]
   1968           vpmovzxbw  (%eax), %xmm2
   1969 
   1970 // CHECK: vpmovzxwd  %xmm2, %xmm5
   1971 // CHECK: encoding: [0xc4,0xe2,0x79,0x33,0xea]
   1972           vpmovzxwd  %xmm2, %xmm5
   1973 
   1974 // CHECK: vpmovzxwd  (%eax), %xmm2
   1975 // CHECK: encoding: [0xc4,0xe2,0x79,0x33,0x10]
   1976           vpmovzxwd  (%eax), %xmm2
   1977 
   1978 // CHECK: vpmovzxdq  %xmm2, %xmm5
   1979 // CHECK: encoding: [0xc4,0xe2,0x79,0x35,0xea]
   1980           vpmovzxdq  %xmm2, %xmm5
   1981 
   1982 // CHECK: vpmovzxdq  (%eax), %xmm2
   1983 // CHECK: encoding: [0xc4,0xe2,0x79,0x35,0x10]
   1984           vpmovzxdq  (%eax), %xmm2
   1985 
   1986 // CHECK: vpmovsxbq  %xmm2, %xmm5
   1987 // CHECK: encoding: [0xc4,0xe2,0x79,0x22,0xea]
   1988           vpmovsxbq  %xmm2, %xmm5
   1989 
   1990 // CHECK: vpmovsxbq  (%eax), %xmm2
   1991 // CHECK: encoding: [0xc4,0xe2,0x79,0x22,0x10]
   1992           vpmovsxbq  (%eax), %xmm2
   1993 
   1994 // CHECK: vpmovzxbq  %xmm2, %xmm5
   1995 // CHECK: encoding: [0xc4,0xe2,0x79,0x32,0xea]
   1996           vpmovzxbq  %xmm2, %xmm5
   1997 
   1998 // CHECK: vpmovzxbq  (%eax), %xmm2
   1999 // CHECK: encoding: [0xc4,0xe2,0x79,0x32,0x10]
   2000           vpmovzxbq  (%eax), %xmm2
   2001 
   2002 // CHECK: vpmovsxbd  %xmm2, %xmm5
   2003 // CHECK: encoding: [0xc4,0xe2,0x79,0x21,0xea]
   2004           vpmovsxbd  %xmm2, %xmm5
   2005 
   2006 // CHECK: vpmovsxbd  (%eax), %xmm2
   2007 // CHECK: encoding: [0xc4,0xe2,0x79,0x21,0x10]
   2008           vpmovsxbd  (%eax), %xmm2
   2009 
   2010 // CHECK: vpmovsxwq  %xmm2, %xmm5
   2011 // CHECK: encoding: [0xc4,0xe2,0x79,0x24,0xea]
   2012           vpmovsxwq  %xmm2, %xmm5
   2013 
   2014 // CHECK: vpmovsxwq  (%eax), %xmm2
   2015 // CHECK: encoding: [0xc4,0xe2,0x79,0x24,0x10]
   2016           vpmovsxwq  (%eax), %xmm2
   2017 
   2018 // CHECK: vpmovzxbd  %xmm2, %xmm5
   2019 // CHECK: encoding: [0xc4,0xe2,0x79,0x31,0xea]
   2020           vpmovzxbd  %xmm2, %xmm5
   2021 
   2022 // CHECK: vpmovzxbd  (%eax), %xmm2
   2023 // CHECK: encoding: [0xc4,0xe2,0x79,0x31,0x10]
   2024           vpmovzxbd  (%eax), %xmm2
   2025 
   2026 // CHECK: vpmovzxwq  %xmm2, %xmm5
   2027 // CHECK: encoding: [0xc4,0xe2,0x79,0x34,0xea]
   2028           vpmovzxwq  %xmm2, %xmm5
   2029 
   2030 // CHECK: vpmovzxwq  (%eax), %xmm2
   2031 // CHECK: encoding: [0xc4,0xe2,0x79,0x34,0x10]
   2032           vpmovzxwq  (%eax), %xmm2
   2033 
   2034 // CHECK: vpextrw  $7, %xmm2, %eax
   2035 // CHECK: encoding: [0xc5,0xf9,0xc5,0xc2,0x07]
   2036           vpextrw  $7, %xmm2, %eax
   2037 
   2038 // CHECK: vpextrw  $7, %xmm2, (%eax)
   2039 // CHECK: encoding: [0xc4,0xe3,0x79,0x15,0x10,0x07]
   2040           vpextrw  $7, %xmm2, (%eax)
   2041 
   2042 // CHECK: vpextrd  $7, %xmm2, %eax
   2043 // CHECK: encoding: [0xc4,0xe3,0x79,0x16,0xd0,0x07]
   2044           vpextrd  $7, %xmm2, %eax
   2045 
   2046 // CHECK: vpextrd  $7, %xmm2, (%eax)
   2047 // CHECK: encoding: [0xc4,0xe3,0x79,0x16,0x10,0x07]
   2048           vpextrd  $7, %xmm2, (%eax)
   2049 
   2050 // CHECK: vpextrb  $7, %xmm2, %eax
   2051 // CHECK: encoding: [0xc4,0xe3,0x79,0x14,0xd0,0x07]
   2052           vpextrb  $7, %xmm2, %eax
   2053 
   2054 // CHECK: vpextrb  $7, %xmm2, (%eax)
   2055 // CHECK: encoding: [0xc4,0xe3,0x79,0x14,0x10,0x07]
   2056           vpextrb  $7, %xmm2, (%eax)
   2057 
   2058 // CHECK: vextractps  $7, %xmm2, (%eax)
   2059 // CHECK: encoding: [0xc4,0xe3,0x79,0x17,0x10,0x07]
   2060           vextractps  $7, %xmm2, (%eax)
   2061 
   2062 // CHECK: vextractps  $7, %xmm2, %eax
   2063 // CHECK: encoding: [0xc4,0xe3,0x79,0x17,0xd0,0x07]
   2064           vextractps  $7, %xmm2, %eax
   2065 
   2066 // CHECK: vpinsrw  $7, %eax, %xmm2, %xmm5
   2067 // CHECK: encoding: [0xc5,0xe9,0xc4,0xe8,0x07]
   2068           vpinsrw  $7, %eax, %xmm2, %xmm5
   2069 
   2070 // CHECK: vpinsrw  $7, (%eax), %xmm2, %xmm5
   2071 // CHECK: encoding: [0xc5,0xe9,0xc4,0x28,0x07]
   2072           vpinsrw  $7, (%eax), %xmm2, %xmm5
   2073 
   2074 // CHECK: vpinsrb  $7, %eax, %xmm2, %xmm5
   2075 // CHECK: encoding: [0xc4,0xe3,0x69,0x20,0xe8,0x07]
   2076           vpinsrb  $7, %eax, %xmm2, %xmm5
   2077 
   2078 // CHECK: vpinsrb  $7, (%eax), %xmm2, %xmm5
   2079 // CHECK: encoding: [0xc4,0xe3,0x69,0x20,0x28,0x07]
   2080           vpinsrb  $7, (%eax), %xmm2, %xmm5
   2081 
   2082 // CHECK: vpinsrd  $7, %eax, %xmm2, %xmm5
   2083 // CHECK: encoding: [0xc4,0xe3,0x69,0x22,0xe8,0x07]
   2084           vpinsrd  $7, %eax, %xmm2, %xmm5
   2085 
   2086 // CHECK: vpinsrd  $7, (%eax), %xmm2, %xmm5
   2087 // CHECK: encoding: [0xc4,0xe3,0x69,0x22,0x28,0x07]
   2088           vpinsrd  $7, (%eax), %xmm2, %xmm5
   2089 
   2090 // CHECK: vinsertps  $7, %xmm2, %xmm5, %xmm1
   2091 // CHECK: encoding: [0xc4,0xe3,0x51,0x21,0xca,0x07]
   2092           vinsertps  $7, %xmm2, %xmm5, %xmm1
   2093 
   2094 // CHECK: vinsertps  $7, (%eax), %xmm5, %xmm1
   2095 // CHECK: encoding: [0xc4,0xe3,0x51,0x21,0x08,0x07]
   2096           vinsertps  $7, (%eax), %xmm5, %xmm1
   2097 
   2098 // CHECK: vptest  %xmm2, %xmm5
   2099 // CHECK: encoding: [0xc4,0xe2,0x79,0x17,0xea]
   2100           vptest  %xmm2, %xmm5
   2101 
   2102 // CHECK: vptest  (%eax), %xmm2
   2103 // CHECK: encoding: [0xc4,0xe2,0x79,0x17,0x10]
   2104           vptest  (%eax), %xmm2
   2105 
   2106 // CHECK: vmovntdqa  (%eax), %xmm2
   2107 // CHECK: encoding: [0xc4,0xe2,0x79,0x2a,0x10]
   2108           vmovntdqa  (%eax), %xmm2
   2109 
   2110 // CHECK: vpcmpgtq  %xmm2, %xmm5, %xmm1
   2111 // CHECK: encoding: [0xc4,0xe2,0x51,0x37,0xca]
   2112           vpcmpgtq  %xmm2, %xmm5, %xmm1
   2113 
   2114 // CHECK: vpcmpgtq  (%eax), %xmm5, %xmm3
   2115 // CHECK: encoding: [0xc4,0xe2,0x51,0x37,0x18]
   2116           vpcmpgtq  (%eax), %xmm5, %xmm3
   2117 
   2118 // CHECK: vpcmpistrm  $7, %xmm2, %xmm5
   2119 // CHECK: encoding: [0xc4,0xe3,0x79,0x62,0xea,0x07]
   2120           vpcmpistrm  $7, %xmm2, %xmm5
   2121 
   2122 // CHECK: vpcmpistrm  $7, (%eax), %xmm5
   2123 // CHECK: encoding: [0xc4,0xe3,0x79,0x62,0x28,0x07]
   2124           vpcmpistrm  $7, (%eax), %xmm5
   2125 
   2126 // CHECK: vpcmpestrm  $7, %xmm2, %xmm5
   2127 // CHECK: encoding: [0xc4,0xe3,0x79,0x60,0xea,0x07]
   2128           vpcmpestrm  $7, %xmm2, %xmm5
   2129 
   2130 // CHECK: vpcmpestrm  $7, (%eax), %xmm5
   2131 // CHECK: encoding: [0xc4,0xe3,0x79,0x60,0x28,0x07]
   2132           vpcmpestrm  $7, (%eax), %xmm5
   2133 
   2134 // CHECK: vpcmpistri  $7, %xmm2, %xmm5
   2135 // CHECK: encoding: [0xc4,0xe3,0x79,0x63,0xea,0x07]
   2136           vpcmpistri  $7, %xmm2, %xmm5
   2137 
   2138 // CHECK: vpcmpistri  $7, (%eax), %xmm5
   2139 // CHECK: encoding: [0xc4,0xe3,0x79,0x63,0x28,0x07]
   2140           vpcmpistri  $7, (%eax), %xmm5
   2141 
   2142 // CHECK: vpcmpestri  $7, %xmm2, %xmm5
   2143 // CHECK: encoding: [0xc4,0xe3,0x79,0x61,0xea,0x07]
   2144           vpcmpestri  $7, %xmm2, %xmm5
   2145 
   2146 // CHECK: vpcmpestri  $7, (%eax), %xmm5
   2147 // CHECK: encoding: [0xc4,0xe3,0x79,0x61,0x28,0x07]
   2148           vpcmpestri  $7, (%eax), %xmm5
   2149 
   2150 // CHECK: vaesimc  %xmm2, %xmm5
   2151 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0xea]
   2152           vaesimc  %xmm2, %xmm5
   2153 
   2154 // CHECK: vaesimc  (%eax), %xmm2
   2155 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x10]
   2156           vaesimc  (%eax), %xmm2
   2157 
   2158 // CHECK: vaesenc  %xmm2, %xmm5, %xmm1
   2159 // CHECK: encoding: [0xc4,0xe2,0x51,0xdc,0xca]
   2160           vaesenc  %xmm2, %xmm5, %xmm1
   2161 
   2162 // CHECK: vaesenc  (%eax), %xmm5, %xmm3
   2163 // CHECK: encoding: [0xc4,0xe2,0x51,0xdc,0x18]
   2164           vaesenc  (%eax), %xmm5, %xmm3
   2165 
   2166 // CHECK: vaesenclast  %xmm2, %xmm5, %xmm1
   2167 // CHECK: encoding: [0xc4,0xe2,0x51,0xdd,0xca]
   2168           vaesenclast  %xmm2, %xmm5, %xmm1
   2169 
   2170 // CHECK: vaesenclast  (%eax), %xmm5, %xmm3
   2171 // CHECK: encoding: [0xc4,0xe2,0x51,0xdd,0x18]
   2172           vaesenclast  (%eax), %xmm5, %xmm3
   2173 
   2174 // CHECK: vaesdec  %xmm2, %xmm5, %xmm1
   2175 // CHECK: encoding: [0xc4,0xe2,0x51,0xde,0xca]
   2176           vaesdec  %xmm2, %xmm5, %xmm1
   2177 
   2178 // CHECK: vaesdec  (%eax), %xmm5, %xmm3
   2179 // CHECK: encoding: [0xc4,0xe2,0x51,0xde,0x18]
   2180           vaesdec  (%eax), %xmm5, %xmm3
   2181 
   2182 // CHECK: vaesdeclast  %xmm2, %xmm5, %xmm1
   2183 // CHECK: encoding: [0xc4,0xe2,0x51,0xdf,0xca]
   2184           vaesdeclast  %xmm2, %xmm5, %xmm1
   2185 
   2186 // CHECK: vaesdeclast  (%eax), %xmm5, %xmm3
   2187 // CHECK: encoding: [0xc4,0xe2,0x51,0xdf,0x18]
   2188           vaesdeclast  (%eax), %xmm5, %xmm3
   2189 
   2190 // CHECK: vaeskeygenassist  $7, %xmm2, %xmm5
   2191 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0xea,0x07]
   2192           vaeskeygenassist  $7, %xmm2, %xmm5
   2193 
   2194 // CHECK: vaeskeygenassist  $7, (%eax), %xmm5
   2195 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x28,0x07]
   2196           vaeskeygenassist  $7, (%eax), %xmm5
   2197 
   2198 // CHECK: vcmpeq_uqps  %xmm1, %xmm2, %xmm3
   2199 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x08]
   2200           vcmpeq_uqps %xmm1, %xmm2, %xmm3
   2201 
   2202 // CHECK: vcmpngeps  %xmm1, %xmm2, %xmm3
   2203 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x09]
   2204           vcmpngeps %xmm1, %xmm2, %xmm3
   2205 
   2206 // CHECK: vcmpngtps  %xmm1, %xmm2, %xmm3
   2207 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0a]
   2208           vcmpngtps %xmm1, %xmm2, %xmm3
   2209 
   2210 // CHECK: vcmpfalseps  %xmm1, %xmm2, %xmm3
   2211 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0b]
   2212           vcmpfalseps %xmm1, %xmm2, %xmm3
   2213 
   2214 // CHECK: vcmpneq_oqps  %xmm1, %xmm2, %xmm3
   2215 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0c]
   2216           vcmpneq_oqps %xmm1, %xmm2, %xmm3
   2217 
   2218 // CHECK: vcmpgeps  %xmm1, %xmm2, %xmm3
   2219 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0d]
   2220           vcmpgeps %xmm1, %xmm2, %xmm3
   2221 
   2222 // CHECK: vcmpgtps  %xmm1, %xmm2, %xmm3
   2223 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0e]
   2224           vcmpgtps %xmm1, %xmm2, %xmm3
   2225 
   2226 // CHECK: vcmptrueps  %xmm1, %xmm2, %xmm3
   2227 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0f]
   2228           vcmptrueps %xmm1, %xmm2, %xmm3
   2229 
   2230 // CHECK: vcmpeq_osps  %xmm1, %xmm2, %xmm3
   2231 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x10]
   2232           vcmpeq_osps %xmm1, %xmm2, %xmm3
   2233 
   2234 // CHECK: vcmplt_oqps  %xmm1, %xmm2, %xmm3
   2235 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x11]
   2236           vcmplt_oqps %xmm1, %xmm2, %xmm3
   2237 
   2238 // CHECK: vcmple_oqps  %xmm1, %xmm2, %xmm3
   2239 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x12]
   2240           vcmple_oqps %xmm1, %xmm2, %xmm3
   2241 
   2242 // CHECK: vcmpunord_sps  %xmm1, %xmm2, %xmm3
   2243 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x13]
   2244           vcmpunord_sps %xmm1, %xmm2, %xmm3
   2245 
   2246 // CHECK: vcmpneq_usps  %xmm1, %xmm2, %xmm3
   2247 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x14]
   2248           vcmpneq_usps %xmm1, %xmm2, %xmm3
   2249 
   2250 // CHECK: vcmpnlt_uqps   %xmm1, %xmm2, %xmm3
   2251 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x15]
   2252           vcmpnlt_uqps %xmm1, %xmm2, %xmm3
   2253 
   2254 // CHECK: vcmpnle_uqps   %xmm1, %xmm2, %xmm3
   2255 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x16]
   2256           vcmpnle_uqps %xmm1, %xmm2, %xmm3
   2257 
   2258 // CHECK: vcmpord_sps  %xmm1, %xmm2, %xmm3
   2259 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x17]
   2260           vcmpord_sps %xmm1, %xmm2, %xmm3
   2261 
   2262 // CHECK: vcmpeq_usps  %xmm1, %xmm2, %xmm3
   2263 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x18]
   2264           vcmpeq_usps %xmm1, %xmm2, %xmm3
   2265 
   2266 // CHECK: vcmpnge_uqps  %xmm1, %xmm2, %xmm3
   2267 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x19]
   2268           vcmpnge_uqps %xmm1, %xmm2, %xmm3
   2269 
   2270 // CHECK: vcmpngt_uqps  %xmm1, %xmm2, %xmm3
   2271 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1a]
   2272           vcmpngt_uqps %xmm1, %xmm2, %xmm3
   2273 
   2274 // CHECK: vcmpfalse_osps  %xmm1, %xmm2, %xmm3
   2275 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1b]
   2276           vcmpfalse_osps %xmm1, %xmm2, %xmm3
   2277 
   2278 // CHECK: vcmpneq_osps  %xmm1, %xmm2, %xmm3
   2279 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1c]
   2280           vcmpneq_osps %xmm1, %xmm2, %xmm3
   2281 
   2282 // CHECK: vcmpge_oqps  %xmm1, %xmm2, %xmm3
   2283 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1d]
   2284           vcmpge_oqps %xmm1, %xmm2, %xmm3
   2285 
   2286 // CHECK: vcmpgt_oqps  %xmm1, %xmm2, %xmm3
   2287 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1e]
   2288           vcmpgt_oqps %xmm1, %xmm2, %xmm3
   2289 
   2290 // CHECK: vcmptrue_usps  %xmm1, %xmm2, %xmm3
   2291 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1f]
   2292           vcmptrue_usps %xmm1, %xmm2, %xmm3
   2293 
   2294 // CHECK: vmovaps  (%eax), %ymm2
   2295 // CHECK: encoding: [0xc5,0xfc,0x28,0x10]
   2296           vmovaps  (%eax), %ymm2
   2297 
   2298 // CHECK: vmovaps  %ymm1, %ymm2
   2299 // CHECK: encoding: [0xc5,0xfc,0x28,0xd1]
   2300           vmovaps  %ymm1, %ymm2
   2301 
   2302 // CHECK: vmovaps  %ymm1, (%eax)
   2303 // CHECK: encoding: [0xc5,0xfc,0x29,0x08]
   2304           vmovaps  %ymm1, (%eax)
   2305 
   2306 // CHECK: vmovapd  (%eax), %ymm2
   2307 // CHECK: encoding: [0xc5,0xfd,0x28,0x10]
   2308           vmovapd  (%eax), %ymm2
   2309 
   2310 // CHECK: vmovapd  %ymm1, %ymm2
   2311 // CHECK: encoding: [0xc5,0xfd,0x28,0xd1]
   2312           vmovapd  %ymm1, %ymm2
   2313 
   2314 // CHECK: vmovapd  %ymm1, (%eax)
   2315 // CHECK: encoding: [0xc5,0xfd,0x29,0x08]
   2316           vmovapd  %ymm1, (%eax)
   2317 
   2318 // CHECK: vmovups  (%eax), %ymm2
   2319 // CHECK: encoding: [0xc5,0xfc,0x10,0x10]
   2320           vmovups  (%eax), %ymm2
   2321 
   2322 // CHECK: vmovups  %ymm1, %ymm2
   2323 // CHECK: encoding: [0xc5,0xfc,0x10,0xd1]
   2324           vmovups  %ymm1, %ymm2
   2325 
   2326 // CHECK: vmovups  %ymm1, (%eax)
   2327 // CHECK: encoding: [0xc5,0xfc,0x11,0x08]
   2328           vmovups  %ymm1, (%eax)
   2329 
   2330 // CHECK: vmovupd  (%eax), %ymm2
   2331 // CHECK: encoding: [0xc5,0xfd,0x10,0x10]
   2332           vmovupd  (%eax), %ymm2
   2333 
   2334 // CHECK: vmovupd  %ymm1, %ymm2
   2335 // CHECK: encoding: [0xc5,0xfd,0x10,0xd1]
   2336           vmovupd  %ymm1, %ymm2
   2337 
   2338 // CHECK: vmovupd  %ymm1, (%eax)
   2339 // CHECK: encoding: [0xc5,0xfd,0x11,0x08]
   2340           vmovupd  %ymm1, (%eax)
   2341 
   2342 // CHECK: vunpckhps  %ymm1, %ymm2, %ymm4
   2343 // CHECK: encoding: [0xc5,0xec,0x15,0xe1]
   2344           vunpckhps  %ymm1, %ymm2, %ymm4
   2345 
   2346 // CHECK: vunpckhpd  %ymm1, %ymm2, %ymm4
   2347 // CHECK: encoding: [0xc5,0xed,0x15,0xe1]
   2348           vunpckhpd  %ymm1, %ymm2, %ymm4
   2349 
   2350 // CHECK: vunpcklps  %ymm1, %ymm2, %ymm4
   2351 // CHECK: encoding: [0xc5,0xec,0x14,0xe1]
   2352           vunpcklps  %ymm1, %ymm2, %ymm4
   2353 
   2354 // CHECK: vunpcklpd  %ymm1, %ymm2, %ymm4
   2355 // CHECK: encoding: [0xc5,0xed,0x14,0xe1]
   2356           vunpcklpd  %ymm1, %ymm2, %ymm4
   2357 
   2358 // CHECK: vunpckhps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2359 // CHECK: encoding: [0xc5,0xec,0x15,0x6c,0xcb,0xfc]
   2360           vunpckhps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2361 
   2362 // CHECK: vunpckhpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2363 // CHECK: encoding: [0xc5,0xed,0x15,0x6c,0xcb,0xfc]
   2364           vunpckhpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2365 
   2366 // CHECK: vunpcklps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2367 // CHECK: encoding: [0xc5,0xec,0x14,0x6c,0xcb,0xfc]
   2368           vunpcklps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2369 
   2370 // CHECK: vunpcklpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2371 // CHECK: encoding: [0xc5,0xed,0x14,0x6c,0xcb,0xfc]
   2372           vunpcklpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2373 
   2374 // CHECK: vmovntdq  %ymm1, (%eax)
   2375 // CHECK: encoding: [0xc5,0xfd,0xe7,0x08]
   2376           vmovntdq  %ymm1, (%eax)
   2377 
   2378 // CHECK: vmovntpd  %ymm1, (%eax)
   2379 // CHECK: encoding: [0xc5,0xfd,0x2b,0x08]
   2380           vmovntpd  %ymm1, (%eax)
   2381 
   2382 // CHECK: vmovntps  %ymm1, (%eax)
   2383 // CHECK: encoding: [0xc5,0xfc,0x2b,0x08]
   2384           vmovntps  %ymm1, (%eax)
   2385 
   2386 // CHECK: vmovmskps  %xmm2, %eax
   2387 // CHECK: encoding: [0xc5,0xf8,0x50,0xc2]
   2388           vmovmskps  %xmm2, %eax
   2389 
   2390 // CHECK: vmovmskpd  %xmm2, %eax
   2391 // CHECK: encoding: [0xc5,0xf9,0x50,0xc2]
   2392           vmovmskpd  %xmm2, %eax
   2393 
   2394 // CHECK: vmaxps  %ymm2, %ymm4, %ymm6
   2395 // CHECK: encoding: [0xc5,0xdc,0x5f,0xf2]
   2396           vmaxps  %ymm2, %ymm4, %ymm6
   2397 
   2398 // CHECK: vmaxpd  %ymm2, %ymm4, %ymm6
   2399 // CHECK: encoding: [0xc5,0xdd,0x5f,0xf2]
   2400           vmaxpd  %ymm2, %ymm4, %ymm6
   2401 
   2402 // CHECK: vminps  %ymm2, %ymm4, %ymm6
   2403 // CHECK: encoding: [0xc5,0xdc,0x5d,0xf2]
   2404           vminps  %ymm2, %ymm4, %ymm6
   2405 
   2406 // CHECK: vminpd  %ymm2, %ymm4, %ymm6
   2407 // CHECK: encoding: [0xc5,0xdd,0x5d,0xf2]
   2408           vminpd  %ymm2, %ymm4, %ymm6
   2409 
   2410 // CHECK: vsubps  %ymm2, %ymm4, %ymm6
   2411 // CHECK: encoding: [0xc5,0xdc,0x5c,0xf2]
   2412           vsubps  %ymm2, %ymm4, %ymm6
   2413 
   2414 // CHECK: vsubpd  %ymm2, %ymm4, %ymm6
   2415 // CHECK: encoding: [0xc5,0xdd,0x5c,0xf2]
   2416           vsubpd  %ymm2, %ymm4, %ymm6
   2417 
   2418 // CHECK: vdivps  %ymm2, %ymm4, %ymm6
   2419 // CHECK: encoding: [0xc5,0xdc,0x5e,0xf2]
   2420           vdivps  %ymm2, %ymm4, %ymm6
   2421 
   2422 // CHECK: vdivpd  %ymm2, %ymm4, %ymm6
   2423 // CHECK: encoding: [0xc5,0xdd,0x5e,0xf2]
   2424           vdivpd  %ymm2, %ymm4, %ymm6
   2425 
   2426 // CHECK: vaddps  %ymm2, %ymm4, %ymm6
   2427 // CHECK: encoding: [0xc5,0xdc,0x58,0xf2]
   2428           vaddps  %ymm2, %ymm4, %ymm6
   2429 
   2430 // CHECK: vaddpd  %ymm2, %ymm4, %ymm6
   2431 // CHECK: encoding: [0xc5,0xdd,0x58,0xf2]
   2432           vaddpd  %ymm2, %ymm4, %ymm6
   2433 
   2434 // CHECK: vmulps  %ymm2, %ymm4, %ymm6
   2435 // CHECK: encoding: [0xc5,0xdc,0x59,0xf2]
   2436           vmulps  %ymm2, %ymm4, %ymm6
   2437 
   2438 // CHECK: vmulpd  %ymm2, %ymm4, %ymm6
   2439 // CHECK: encoding: [0xc5,0xdd,0x59,0xf2]
   2440           vmulpd  %ymm2, %ymm4, %ymm6
   2441 
   2442 // CHECK: vmaxps  (%eax), %ymm4, %ymm6
   2443 // CHECK: encoding: [0xc5,0xdc,0x5f,0x30]
   2444           vmaxps  (%eax), %ymm4, %ymm6
   2445 
   2446 // CHECK: vmaxpd  (%eax), %ymm4, %ymm6
   2447 // CHECK: encoding: [0xc5,0xdd,0x5f,0x30]
   2448           vmaxpd  (%eax), %ymm4, %ymm6
   2449 
   2450 // CHECK: vminps  (%eax), %ymm4, %ymm6
   2451 // CHECK: encoding: [0xc5,0xdc,0x5d,0x30]
   2452           vminps  (%eax), %ymm4, %ymm6
   2453 
   2454 // CHECK: vminpd  (%eax), %ymm4, %ymm6
   2455 // CHECK: encoding: [0xc5,0xdd,0x5d,0x30]
   2456           vminpd  (%eax), %ymm4, %ymm6
   2457 
   2458 // CHECK: vsubps  (%eax), %ymm4, %ymm6
   2459 // CHECK: encoding: [0xc5,0xdc,0x5c,0x30]
   2460           vsubps  (%eax), %ymm4, %ymm6
   2461 
   2462 // CHECK: vsubpd  (%eax), %ymm4, %ymm6
   2463 // CHECK: encoding: [0xc5,0xdd,0x5c,0x30]
   2464           vsubpd  (%eax), %ymm4, %ymm6
   2465 
   2466 // CHECK: vdivps  (%eax), %ymm4, %ymm6
   2467 // CHECK: encoding: [0xc5,0xdc,0x5e,0x30]
   2468           vdivps  (%eax), %ymm4, %ymm6
   2469 
   2470 // CHECK: vdivpd  (%eax), %ymm4, %ymm6
   2471 // CHECK: encoding: [0xc5,0xdd,0x5e,0x30]
   2472           vdivpd  (%eax), %ymm4, %ymm6
   2473 
   2474 // CHECK: vaddps  (%eax), %ymm4, %ymm6
   2475 // CHECK: encoding: [0xc5,0xdc,0x58,0x30]
   2476           vaddps  (%eax), %ymm4, %ymm6
   2477 
   2478 // CHECK: vaddpd  (%eax), %ymm4, %ymm6
   2479 // CHECK: encoding: [0xc5,0xdd,0x58,0x30]
   2480           vaddpd  (%eax), %ymm4, %ymm6
   2481 
   2482 // CHECK: vmulps  (%eax), %ymm4, %ymm6
   2483 // CHECK: encoding: [0xc5,0xdc,0x59,0x30]
   2484           vmulps  (%eax), %ymm4, %ymm6
   2485 
   2486 // CHECK: vmulpd  (%eax), %ymm4, %ymm6
   2487 // CHECK: encoding: [0xc5,0xdd,0x59,0x30]
   2488           vmulpd  (%eax), %ymm4, %ymm6
   2489 
   2490 // CHECK: vsqrtpd  %ymm1, %ymm2
   2491 // CHECK: encoding: [0xc5,0xfd,0x51,0xd1]
   2492           vsqrtpd  %ymm1, %ymm2
   2493 
   2494 // CHECK: vsqrtpd  (%eax), %ymm2
   2495 // CHECK: encoding: [0xc5,0xfd,0x51,0x10]
   2496           vsqrtpd  (%eax), %ymm2
   2497 
   2498 // CHECK: vsqrtps  %ymm1, %ymm2
   2499 // CHECK: encoding: [0xc5,0xfc,0x51,0xd1]
   2500           vsqrtps  %ymm1, %ymm2
   2501 
   2502 // CHECK: vsqrtps  (%eax), %ymm2
   2503 // CHECK: encoding: [0xc5,0xfc,0x51,0x10]
   2504           vsqrtps  (%eax), %ymm2
   2505 
   2506 // CHECK: vrsqrtps  %ymm1, %ymm2
   2507 // CHECK: encoding: [0xc5,0xfc,0x52,0xd1]
   2508           vrsqrtps  %ymm1, %ymm2
   2509 
   2510 // CHECK: vrsqrtps  (%eax), %ymm2
   2511 // CHECK: encoding: [0xc5,0xfc,0x52,0x10]
   2512           vrsqrtps  (%eax), %ymm2
   2513 
   2514 // CHECK: vrcpps  %ymm1, %ymm2
   2515 // CHECK: encoding: [0xc5,0xfc,0x53,0xd1]
   2516           vrcpps  %ymm1, %ymm2
   2517 
   2518 // CHECK: vrcpps  (%eax), %ymm2
   2519 // CHECK: encoding: [0xc5,0xfc,0x53,0x10]
   2520           vrcpps  (%eax), %ymm2
   2521 
   2522 // CHECK: vandps  %ymm2, %ymm4, %ymm6
   2523 // CHECK: encoding: [0xc5,0xdc,0x54,0xf2]
   2524           vandps  %ymm2, %ymm4, %ymm6
   2525 
   2526 // CHECK: vandpd  %ymm2, %ymm4, %ymm6
   2527 // CHECK: encoding: [0xc5,0xdd,0x54,0xf2]
   2528           vandpd  %ymm2, %ymm4, %ymm6
   2529 
   2530 // CHECK: vandps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2531 // CHECK: encoding: [0xc5,0xec,0x54,0x6c,0xcb,0xfc]
   2532           vandps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2533 
   2534 // CHECK: vandpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2535 // CHECK: encoding: [0xc5,0xed,0x54,0x6c,0xcb,0xfc]
   2536           vandpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2537 
   2538 // CHECK: vorps  %ymm2, %ymm4, %ymm6
   2539 // CHECK: encoding: [0xc5,0xdc,0x56,0xf2]
   2540           vorps  %ymm2, %ymm4, %ymm6
   2541 
   2542 // CHECK: vorpd  %ymm2, %ymm4, %ymm6
   2543 // CHECK: encoding: [0xc5,0xdd,0x56,0xf2]
   2544           vorpd  %ymm2, %ymm4, %ymm6
   2545 
   2546 // CHECK: vorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2547 // CHECK: encoding: [0xc5,0xec,0x56,0x6c,0xcb,0xfc]
   2548           vorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2549 
   2550 // CHECK: vorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2551 // CHECK: encoding: [0xc5,0xed,0x56,0x6c,0xcb,0xfc]
   2552           vorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2553 
   2554 // CHECK: vxorps  %ymm2, %ymm4, %ymm6
   2555 // CHECK: encoding: [0xc5,0xdc,0x57,0xf2]
   2556           vxorps  %ymm2, %ymm4, %ymm6
   2557 
   2558 // CHECK: vxorpd  %ymm2, %ymm4, %ymm6
   2559 // CHECK: encoding: [0xc5,0xdd,0x57,0xf2]
   2560           vxorpd  %ymm2, %ymm4, %ymm6
   2561 
   2562 // CHECK: vxorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2563 // CHECK: encoding: [0xc5,0xec,0x57,0x6c,0xcb,0xfc]
   2564           vxorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2565 
   2566 // CHECK: vxorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2567 // CHECK: encoding: [0xc5,0xed,0x57,0x6c,0xcb,0xfc]
   2568           vxorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2569 
   2570 // CHECK: vandnps  %ymm2, %ymm4, %ymm6
   2571 // CHECK: encoding: [0xc5,0xdc,0x55,0xf2]
   2572           vandnps  %ymm2, %ymm4, %ymm6
   2573 
   2574 // CHECK: vandnpd  %ymm2, %ymm4, %ymm6
   2575 // CHECK: encoding: [0xc5,0xdd,0x55,0xf2]
   2576           vandnpd  %ymm2, %ymm4, %ymm6
   2577 
   2578 // CHECK: vandnps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2579 // CHECK: encoding: [0xc5,0xec,0x55,0x6c,0xcb,0xfc]
   2580           vandnps  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2581 
   2582 // CHECK: vandnpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2583 // CHECK: encoding: [0xc5,0xed,0x55,0x6c,0xcb,0xfc]
   2584           vandnpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
   2585 
   2586 // CHECK: vcvtps2pd  %xmm3, %ymm2
   2587 // CHECK: encoding: [0xc5,0xfc,0x5a,0xd3]
   2588           vcvtps2pd  %xmm3, %ymm2
   2589 
   2590 // CHECK: vcvtps2pd  (%eax), %ymm2
   2591 // CHECK: encoding: [0xc5,0xfc,0x5a,0x10]
   2592           vcvtps2pd  (%eax), %ymm2
   2593 
   2594 // CHECK: vcvtdq2pd  %xmm3, %ymm2
   2595 // CHECK: encoding: [0xc5,0xfe,0xe6,0xd3]
   2596           vcvtdq2pd  %xmm3, %ymm2
   2597 
   2598 // CHECK: vcvtdq2pd  (%eax), %ymm2
   2599 // CHECK: encoding: [0xc5,0xfe,0xe6,0x10]
   2600           vcvtdq2pd  (%eax), %ymm2
   2601 
   2602 // CHECK: vcvtdq2ps  %ymm2, %ymm5
   2603 // CHECK: encoding: [0xc5,0xfc,0x5b,0xea]
   2604           vcvtdq2ps  %ymm2, %ymm5
   2605 
   2606 // CHECK: vcvtdq2ps  (%eax), %ymm2
   2607 // CHECK: encoding: [0xc5,0xfc,0x5b,0x10]
   2608           vcvtdq2ps  (%eax), %ymm2
   2609 
   2610 // CHECK: vcvtps2dq  %ymm2, %ymm5
   2611 // CHECK: encoding: [0xc5,0xfd,0x5b,0xea]
   2612           vcvtps2dq  %ymm2, %ymm5
   2613 
   2614 // CHECK: vcvtps2dq  (%eax), %ymm5
   2615 // CHECK: encoding: [0xc5,0xfd,0x5b,0x28]
   2616           vcvtps2dq  (%eax), %ymm5
   2617 
   2618 // CHECK: vcvttps2dq  %ymm2, %ymm5
   2619 // CHECK: encoding: [0xc5,0xfe,0x5b,0xea]
   2620           vcvttps2dq  %ymm2, %ymm5
   2621 
   2622 // CHECK: vcvttps2dq  (%eax), %ymm5
   2623 // CHECK: encoding: [0xc5,0xfe,0x5b,0x28]
   2624           vcvttps2dq  (%eax), %ymm5
   2625 
   2626 // CHECK: vcvttpd2dq  %xmm1, %xmm5
   2627 // CHECK: encoding: [0xc5,0xf9,0xe6,0xe9]
   2628           vcvttpd2dq  %xmm1, %xmm5
   2629 
   2630 // CHECK: vcvttpd2dqy %ymm2, %xmm5
   2631 // CHECK: encoding: [0xc5,0xfd,0xe6,0xea]
   2632           vcvttpd2dq  %ymm2, %xmm5
   2633 
   2634 // CHECK: vcvttpd2dq   %xmm1, %xmm5
   2635 // CHECK: encoding: [0xc5,0xf9,0xe6,0xe9]
   2636           vcvttpd2dqx  %xmm1, %xmm5
   2637 
   2638 // CHECK: vcvttpd2dqx  (%eax), %xmm1
   2639 // CHECK: encoding: [0xc5,0xf9,0xe6,0x08]
   2640           vcvttpd2dqx  (%eax), %xmm1
   2641 
   2642 // CHECK: vcvttpd2dqy  %ymm2, %xmm1
   2643 // CHECK: encoding: [0xc5,0xfd,0xe6,0xca]
   2644           vcvttpd2dqy  %ymm2, %xmm1
   2645 
   2646 // CHECK: vcvttpd2dqy  (%eax), %xmm1
   2647 // CHECK: encoding: [0xc5,0xfd,0xe6,0x08]
   2648           vcvttpd2dqy  (%eax), %xmm1
   2649 
   2650 // CHECK: vcvtpd2psy %ymm2, %xmm5
   2651 // CHECK: encoding: [0xc5,0xfd,0x5a,0xea]
   2652           vcvtpd2ps  %ymm2, %xmm5
   2653 
   2654 // CHECK: vcvtpd2ps   %xmm1, %xmm5
   2655 // CHECK: encoding: [0xc5,0xf9,0x5a,0xe9]
   2656           vcvtpd2psx  %xmm1, %xmm5
   2657 
   2658 // CHECK: vcvtpd2psx  (%eax), %xmm1
   2659 // CHECK: encoding: [0xc5,0xf9,0x5a,0x08]
   2660           vcvtpd2psx  (%eax), %xmm1
   2661 
   2662 // CHECK: vcvtpd2psy  %ymm2, %xmm1
   2663 // CHECK: encoding: [0xc5,0xfd,0x5a,0xca]
   2664           vcvtpd2psy  %ymm2, %xmm1
   2665 
   2666 // CHECK: vcvtpd2psy  (%eax), %xmm1
   2667 // CHECK: encoding: [0xc5,0xfd,0x5a,0x08]
   2668           vcvtpd2psy  (%eax), %xmm1
   2669 
   2670 // CHECK: vcvtpd2dqy %ymm2, %xmm5
   2671 // CHECK: encoding: [0xc5,0xff,0xe6,0xea]
   2672           vcvtpd2dq  %ymm2, %xmm5
   2673 
   2674 // CHECK: vcvtpd2dqy  %ymm2, %xmm1
   2675 // CHECK: encoding: [0xc5,0xff,0xe6,0xca]
   2676           vcvtpd2dqy  %ymm2, %xmm1
   2677 
   2678 // CHECK: vcvtpd2dqy  (%eax), %xmm1
   2679 // CHECK: encoding: [0xc5,0xff,0xe6,0x08]
   2680           vcvtpd2dqy  (%eax), %xmm1
   2681 
   2682 // CHECK: vcvtpd2dq   %xmm1, %xmm5
   2683 // CHECK: encoding: [0xc5,0xfb,0xe6,0xe9]
   2684           vcvtpd2dqx  %xmm1, %xmm5
   2685 
   2686 // CHECK: vcvtpd2dqx  (%eax), %xmm1
   2687 // CHECK: encoding: [0xc5,0xfb,0xe6,0x08]
   2688           vcvtpd2dqx  (%eax), %xmm1
   2689 
   2690 // CHECK: vcmpeqps  %ymm1, %ymm2, %ymm3
   2691 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x00]
   2692           vcmpeqps %ymm1, %ymm2, %ymm3
   2693 
   2694 // CHECK: vcmpleps  %ymm1, %ymm2, %ymm3
   2695 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x02]
   2696           vcmpleps %ymm1, %ymm2, %ymm3
   2697 
   2698 // CHECK: vcmpltps  %ymm1, %ymm2, %ymm3
   2699 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x01]
   2700           vcmpltps %ymm1, %ymm2, %ymm3
   2701 
   2702 // CHECK: vcmpneqps  %ymm1, %ymm2, %ymm3
   2703 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x04]
   2704           vcmpneqps %ymm1, %ymm2, %ymm3
   2705 
   2706 // CHECK: vcmpnleps  %ymm1, %ymm2, %ymm3
   2707 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x06]
   2708           vcmpnleps %ymm1, %ymm2, %ymm3
   2709 
   2710 // CHECK: vcmpnltps  %ymm1, %ymm2, %ymm3
   2711 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x05]
   2712           vcmpnltps %ymm1, %ymm2, %ymm3
   2713 
   2714 // CHECK: vcmpordps  %ymm1, %ymm2, %ymm3
   2715 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x07]
   2716           vcmpordps %ymm1, %ymm2, %ymm3
   2717 
   2718 // CHECK: vcmpunordps  %ymm1, %ymm2, %ymm3
   2719 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x03]
   2720           vcmpunordps %ymm1, %ymm2, %ymm3
   2721 
   2722 // CHECK: vcmpeqps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2723 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x00]
   2724           vcmpeqps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2725 
   2726 // CHECK: vcmpleps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2727 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x02]
   2728           vcmpleps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2729 
   2730 // CHECK: vcmpltps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2731 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x01]
   2732           vcmpltps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2733 
   2734 // CHECK: vcmpneqps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2735 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x04]
   2736           vcmpneqps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2737 
   2738 // CHECK: vcmpnleps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2739 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x06]
   2740           vcmpnleps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2741 
   2742 // CHECK: vcmpnltps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2743 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x05]
   2744           vcmpnltps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2745 
   2746 // CHECK: vcmpordps  -4(%ebx,%ecx,8), %ymm6, %ymm2
   2747 // CHECK: encoding: [0xc5,0xcc,0xc2,0x54,0xcb,0xfc,0x07]
   2748           vcmpordps -4(%ebx,%ecx,8), %ymm6, %ymm2
   2749 
   2750 // CHECK: vcmpunordps  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2751 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x03]
   2752           vcmpunordps -4(%ebx,%ecx,8), %ymm2, %ymm3
   2753 
   2754 // CHECK: vcmpeqpd  %ymm1, %ymm2, %ymm3
   2755 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x00]
   2756           vcmpeqpd %ymm1, %ymm2, %ymm3
   2757 
   2758 // CHECK: vcmplepd  %ymm1, %ymm2, %ymm3
   2759 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x02]
   2760           vcmplepd %ymm1, %ymm2, %ymm3
   2761 
   2762 // CHECK: vcmpltpd  %ymm1, %ymm2, %ymm3
   2763 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x01]
   2764           vcmpltpd %ymm1, %ymm2, %ymm3
   2765 
   2766 // CHECK: vcmpneqpd  %ymm1, %ymm2, %ymm3
   2767 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x04]
   2768           vcmpneqpd %ymm1, %ymm2, %ymm3
   2769 
   2770 // CHECK: vcmpnlepd  %ymm1, %ymm2, %ymm3
   2771 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x06]
   2772           vcmpnlepd %ymm1, %ymm2, %ymm3
   2773 
   2774 // CHECK: vcmpnltpd  %ymm1, %ymm2, %ymm3
   2775 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x05]
   2776           vcmpnltpd %ymm1, %ymm2, %ymm3
   2777 
   2778 // CHECK: vcmpordpd  %ymm1, %ymm2, %ymm3
   2779 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x07]
   2780           vcmpordpd %ymm1, %ymm2, %ymm3
   2781 
   2782 // CHECK: vcmpunordpd  %ymm1, %ymm2, %ymm3
   2783 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x03]
   2784           vcmpunordpd %ymm1, %ymm2, %ymm3
   2785 
   2786 // CHECK: vcmpeqpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2787 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x00]
   2788           vcmpeqpd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2789 
   2790 // CHECK: vcmplepd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2791 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x02]
   2792           vcmplepd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2793 
   2794 // CHECK: vcmpltpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2795 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x01]
   2796           vcmpltpd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2797 
   2798 // CHECK: vcmpneqpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2799 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x04]
   2800           vcmpneqpd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2801 
   2802 // CHECK: vcmpnlepd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2803 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x06]
   2804           vcmpnlepd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2805 
   2806 // CHECK: vcmpnltpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2807 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x05]
   2808           vcmpnltpd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2809 
   2810 // CHECK: vcmpordpd  -4(%ebx,%ecx,8), %ymm6, %ymm2
   2811 // CHECK: encoding: [0xc5,0xcd,0xc2,0x54,0xcb,0xfc,0x07]
   2812           vcmpordpd -4(%ebx,%ecx,8), %ymm6, %ymm2
   2813 
   2814 // CHECK: vcmpunordpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
   2815 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x03]
   2816           vcmpunordpd -4(%ebx,%ecx,8), %ymm2, %ymm3
   2817 
   2818 // CHECK: vcmpeq_uqps  %ymm1, %ymm2, %ymm3
   2819 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x08]
   2820           vcmpeq_uqps %ymm1, %ymm2, %ymm3
   2821 
   2822 // CHECK: vcmpngeps  %ymm1, %ymm2, %ymm3
   2823 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x09]
   2824           vcmpngeps %ymm1, %ymm2, %ymm3
   2825 
   2826 // CHECK: vcmpngtps  %ymm1, %ymm2, %ymm3
   2827 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0a]
   2828           vcmpngtps %ymm1, %ymm2, %ymm3
   2829 
   2830 // CHECK: vcmpfalseps  %ymm1, %ymm2, %ymm3
   2831 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0b]
   2832           vcmpfalseps %ymm1, %ymm2, %ymm3
   2833 
   2834 // CHECK: vcmpneq_oqps  %ymm1, %ymm2, %ymm3
   2835 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0c]
   2836           vcmpneq_oqps %ymm1, %ymm2, %ymm3
   2837 
   2838 // CHECK: vcmpgeps  %ymm1, %ymm2, %ymm3
   2839 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0d]
   2840           vcmpgeps %ymm1, %ymm2, %ymm3
   2841 
   2842 // CHECK: vcmpgtps  %ymm1, %ymm2, %ymm3
   2843 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0e]
   2844           vcmpgtps %ymm1, %ymm2, %ymm3
   2845 
   2846 // CHECK: vcmptrueps  %ymm1, %ymm2, %ymm3
   2847 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0f]
   2848           vcmptrueps %ymm1, %ymm2, %ymm3
   2849 
   2850 // CHECK: vcmpeq_osps  %ymm1, %ymm2, %ymm3
   2851 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x10]
   2852           vcmpeq_osps %ymm1, %ymm2, %ymm3
   2853 
   2854 // CHECK: vcmplt_oqps  %ymm1, %ymm2, %ymm3
   2855 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x11]
   2856           vcmplt_oqps %ymm1, %ymm2, %ymm3
   2857 
   2858 // CHECK: vcmple_oqps  %ymm1, %ymm2, %ymm3
   2859 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x12]
   2860           vcmple_oqps %ymm1, %ymm2, %ymm3
   2861 
   2862 // CHECK: vcmpunord_sps  %ymm1, %ymm2, %ymm3
   2863 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x13]
   2864           vcmpunord_sps %ymm1, %ymm2, %ymm3
   2865 
   2866 // CHECK: vcmpneq_usps  %ymm1, %ymm2, %ymm3
   2867 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x14]
   2868           vcmpneq_usps %ymm1, %ymm2, %ymm3
   2869 
   2870 // CHECK: vcmpnlt_uqps  %ymm1, %ymm2, %ymm3
   2871 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x15]
   2872           vcmpnlt_uqps %ymm1, %ymm2, %ymm3
   2873 
   2874 // CHECK: vcmpnle_uqps  %ymm1, %ymm2, %ymm3
   2875 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x16]
   2876           vcmpnle_uqps %ymm1, %ymm2, %ymm3
   2877 
   2878 // CHECK: vcmpord_sps  %ymm1, %ymm2, %ymm3
   2879 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x17]
   2880           vcmpord_sps %ymm1, %ymm2, %ymm3
   2881 
   2882 // CHECK: vcmpeq_usps  %ymm1, %ymm2, %ymm3
   2883 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x18]
   2884           vcmpeq_usps %ymm1, %ymm2, %ymm3
   2885 
   2886 // CHECK: vcmpnge_uqps  %ymm1, %ymm2, %ymm3
   2887 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x19]
   2888           vcmpnge_uqps %ymm1, %ymm2, %ymm3
   2889 
   2890 // CHECK: vcmpngt_uqps  %ymm1, %ymm2, %ymm3
   2891 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1a]
   2892           vcmpngt_uqps %ymm1, %ymm2, %ymm3
   2893 
   2894 // CHECK: vcmpfalse_osps  %ymm1, %ymm2, %ymm3
   2895 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1b]
   2896           vcmpfalse_osps %ymm1, %ymm2, %ymm3
   2897 
   2898 // CHECK: vcmpneq_osps  %ymm1, %ymm2, %ymm3
   2899 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1c]
   2900           vcmpneq_osps %ymm1, %ymm2, %ymm3
   2901 
   2902 // CHECK: vcmpge_oqps  %ymm1, %ymm2, %ymm3
   2903 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1d]
   2904           vcmpge_oqps %ymm1, %ymm2, %ymm3
   2905 
   2906 // CHECK: vcmpgt_oqps  %ymm1, %ymm2, %ymm3
   2907 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1e]
   2908           vcmpgt_oqps %ymm1, %ymm2, %ymm3
   2909 
   2910 // CHECK: vcmptrue_usps  %ymm1, %ymm2, %ymm3
   2911 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1f]
   2912           vcmptrue_usps %ymm1, %ymm2, %ymm3
   2913 
   2914 // CHECK: vaddsubps  %ymm1, %ymm2, %ymm3
   2915 // CHECK: encoding: [0xc5,0xef,0xd0,0xd9]
   2916           vaddsubps  %ymm1, %ymm2, %ymm3
   2917 
   2918 // CHECK: vaddsubps  (%eax), %ymm1, %ymm2
   2919 // CHECK: encoding: [0xc5,0xf7,0xd0,0x10]
   2920           vaddsubps  (%eax), %ymm1, %ymm2
   2921 
   2922 // CHECK: vaddsubpd  %ymm1, %ymm2, %ymm3
   2923 // CHECK: encoding: [0xc5,0xed,0xd0,0xd9]
   2924           vaddsubpd  %ymm1, %ymm2, %ymm3
   2925 
   2926 // CHECK: vaddsubpd  (%eax), %ymm1, %ymm2
   2927 // CHECK: encoding: [0xc5,0xf5,0xd0,0x10]
   2928           vaddsubpd  (%eax), %ymm1, %ymm2
   2929 
   2930 // CHECK: vhaddps  %ymm1, %ymm2, %ymm3
   2931 // CHECK: encoding: [0xc5,0xef,0x7c,0xd9]
   2932           vhaddps  %ymm1, %ymm2, %ymm3
   2933 
   2934 // CHECK: vhaddps  (%eax), %ymm2, %ymm3
   2935 // CHECK: encoding: [0xc5,0xef,0x7c,0x18]
   2936           vhaddps  (%eax), %ymm2, %ymm3
   2937 
   2938 // CHECK: vhaddpd  %ymm1, %ymm2, %ymm3
   2939 // CHECK: encoding: [0xc5,0xed,0x7c,0xd9]
   2940           vhaddpd  %ymm1, %ymm2, %ymm3
   2941 
   2942 // CHECK: vhaddpd  (%eax), %ymm2, %ymm3
   2943 // CHECK: encoding: [0xc5,0xed,0x7c,0x18]
   2944           vhaddpd  (%eax), %ymm2, %ymm3
   2945 
   2946 // CHECK: vhsubps  %ymm1, %ymm2, %ymm3
   2947 // CHECK: encoding: [0xc5,0xef,0x7d,0xd9]
   2948           vhsubps  %ymm1, %ymm2, %ymm3
   2949 
   2950 // CHECK: vhsubps  (%eax), %ymm2, %ymm3
   2951 // CHECK: encoding: [0xc5,0xef,0x7d,0x18]
   2952           vhsubps  (%eax), %ymm2, %ymm3
   2953 
   2954 // CHECK: vhsubpd  %ymm1, %ymm2, %ymm3
   2955 // CHECK: encoding: [0xc5,0xed,0x7d,0xd9]
   2956           vhsubpd  %ymm1, %ymm2, %ymm3
   2957 
   2958 // CHECK: vhsubpd  (%eax), %ymm2, %ymm3
   2959 // CHECK: encoding: [0xc5,0xed,0x7d,0x18]
   2960           vhsubpd  (%eax), %ymm2, %ymm3
   2961 
   2962 // CHECK: vblendps  $3, %ymm2, %ymm5, %ymm1
   2963 // CHECK: encoding: [0xc4,0xe3,0x55,0x0c,0xca,0x03]
   2964           vblendps  $3, %ymm2, %ymm5, %ymm1
   2965 
   2966 // CHECK: vblendps  $3, (%eax), %ymm5, %ymm1
   2967 // CHECK: encoding: [0xc4,0xe3,0x55,0x0c,0x08,0x03]
   2968           vblendps  $3, (%eax), %ymm5, %ymm1
   2969 
   2970 // CHECK: vblendpd  $3, %ymm2, %ymm5, %ymm1
   2971 // CHECK: encoding: [0xc4,0xe3,0x55,0x0d,0xca,0x03]
   2972           vblendpd  $3, %ymm2, %ymm5, %ymm1
   2973 
   2974 // CHECK: vblendpd  $3, (%eax), %ymm5, %ymm1
   2975 // CHECK: encoding: [0xc4,0xe3,0x55,0x0d,0x08,0x03]
   2976           vblendpd  $3, (%eax), %ymm5, %ymm1
   2977 
   2978 // CHECK: vdpps  $3, %ymm2, %ymm5, %ymm1
   2979 // CHECK: encoding: [0xc4,0xe3,0x55,0x40,0xca,0x03]
   2980           vdpps  $3, %ymm2, %ymm5, %ymm1
   2981 
   2982 // CHECK: vdpps  $3, (%eax), %ymm5, %ymm1
   2983 // CHECK: encoding: [0xc4,0xe3,0x55,0x40,0x08,0x03]
   2984           vdpps  $3, (%eax), %ymm5, %ymm1
   2985 
   2986 // CHECK: vbroadcastf128  (%eax), %ymm2
   2987 // CHECK: encoding: [0xc4,0xe2,0x7d,0x1a,0x10]
   2988           vbroadcastf128  (%eax), %ymm2
   2989 
   2990 // CHECK: vbroadcastsd  (%eax), %ymm2
   2991 // CHECK: encoding: [0xc4,0xe2,0x7d,0x19,0x10]
   2992           vbroadcastsd  (%eax), %ymm2
   2993 
   2994 // CHECK: vbroadcastss  (%eax), %xmm2
   2995 // CHECK: encoding: [0xc4,0xe2,0x79,0x18,0x10]
   2996           vbroadcastss  (%eax), %xmm2
   2997 
   2998 // CHECK: vbroadcastss  (%eax), %ymm2
   2999 // CHECK: encoding: [0xc4,0xe2,0x7d,0x18,0x10]
   3000           vbroadcastss  (%eax), %ymm2
   3001 
   3002 // CHECK: vinsertf128  $7, %xmm2, %ymm2, %ymm5
   3003 // CHECK: encoding: [0xc4,0xe3,0x6d,0x18,0xea,0x07]
   3004           vinsertf128  $7, %xmm2, %ymm2, %ymm5
   3005 
   3006 // CHECK: vinsertf128  $7, (%eax), %ymm2, %ymm5
   3007 // CHECK: encoding: [0xc4,0xe3,0x6d,0x18,0x28,0x07]
   3008           vinsertf128  $7, (%eax), %ymm2, %ymm5
   3009 
   3010 // CHECK: vextractf128  $7, %ymm2, %xmm2
   3011 // CHECK: encoding: [0xc4,0xe3,0x7d,0x19,0xd2,0x07]
   3012           vextractf128  $7, %ymm2, %xmm2
   3013 
   3014 // CHECK: vextractf128  $7, %ymm2, (%eax)
   3015 // CHECK: encoding: [0xc4,0xe3,0x7d,0x19,0x10,0x07]
   3016           vextractf128  $7, %ymm2, (%eax)
   3017 
   3018 // CHECK: vmaskmovpd  %xmm2, %xmm5, (%eax)
   3019 // CHECK: encoding: [0xc4,0xe2,0x51,0x2f,0x10]
   3020           vmaskmovpd  %xmm2, %xmm5, (%eax)
   3021 
   3022 // CHECK: vmaskmovpd  %ymm2, %ymm5, (%eax)
   3023 // CHECK: encoding: [0xc4,0xe2,0x55,0x2f,0x10]
   3024           vmaskmovpd  %ymm2, %ymm5, (%eax)
   3025 
   3026 // CHECK: vmaskmovpd  (%eax), %xmm2, %xmm5
   3027 // CHECK: encoding: [0xc4,0xe2,0x69,0x2d,0x28]
   3028           vmaskmovpd  (%eax), %xmm2, %xmm5
   3029 
   3030 // CHECK: vmaskmovpd  (%eax), %ymm2, %ymm5
   3031 // CHECK: encoding: [0xc4,0xe2,0x6d,0x2d,0x28]
   3032           vmaskmovpd  (%eax), %ymm2, %ymm5
   3033 
   3034 // CHECK: vmaskmovps  %xmm2, %xmm5, (%eax)
   3035 // CHECK: encoding: [0xc4,0xe2,0x51,0x2e,0x10]
   3036           vmaskmovps  %xmm2, %xmm5, (%eax)
   3037 
   3038 // CHECK: vmaskmovps  %ymm2, %ymm5, (%eax)
   3039 // CHECK: encoding: [0xc4,0xe2,0x55,0x2e,0x10]
   3040           vmaskmovps  %ymm2, %ymm5, (%eax)
   3041 
   3042 // CHECK: vmaskmovps  (%eax), %xmm2, %xmm5
   3043 // CHECK: encoding: [0xc4,0xe2,0x69,0x2c,0x28]
   3044           vmaskmovps  (%eax), %xmm2, %xmm5
   3045 
   3046 // CHECK: vmaskmovps  (%eax), %ymm2, %ymm5
   3047 // CHECK: encoding: [0xc4,0xe2,0x6d,0x2c,0x28]
   3048           vmaskmovps  (%eax), %ymm2, %ymm5
   3049 
   3050 // CHECK: vpermilps  $7, %xmm1, %xmm5
   3051 // CHECK: encoding: [0xc4,0xe3,0x79,0x04,0xe9,0x07]
   3052           vpermilps  $7, %xmm1, %xmm5
   3053 
   3054 // CHECK: vpermilps  $7, %ymm5, %ymm1
   3055 // CHECK: encoding: [0xc4,0xe3,0x7d,0x04,0xcd,0x07]
   3056           vpermilps  $7, %ymm5, %ymm1
   3057 
   3058 // CHECK: vpermilps  $7, (%eax), %xmm5
   3059 // CHECK: encoding: [0xc4,0xe3,0x79,0x04,0x28,0x07]
   3060           vpermilps  $7, (%eax), %xmm5
   3061 
   3062 // CHECK: vpermilps  $7, (%eax), %ymm5
   3063 // CHECK: encoding: [0xc4,0xe3,0x7d,0x04,0x28,0x07]
   3064           vpermilps  $7, (%eax), %ymm5
   3065 
   3066 // CHECK: vpermilps  %xmm1, %xmm5, %xmm1
   3067 // CHECK: encoding: [0xc4,0xe2,0x51,0x0c,0xc9]
   3068           vpermilps  %xmm1, %xmm5, %xmm1
   3069 
   3070 // CHECK: vpermilps  %ymm1, %ymm5, %ymm1
   3071 // CHECK: encoding: [0xc4,0xe2,0x55,0x0c,0xc9]
   3072           vpermilps  %ymm1, %ymm5, %ymm1
   3073 
   3074 // CHECK: vpermilps  (%eax), %xmm5, %xmm3
   3075 // CHECK: encoding: [0xc4,0xe2,0x51,0x0c,0x18]
   3076           vpermilps  (%eax), %xmm5, %xmm3
   3077 
   3078 // CHECK: vpermilps  (%eax), %ymm5, %ymm1
   3079 // CHECK: encoding: [0xc4,0xe2,0x55,0x0c,0x08]
   3080           vpermilps  (%eax), %ymm5, %ymm1
   3081 
   3082 // CHECK: vpermilpd  $7, %xmm1, %xmm5
   3083 // CHECK: encoding: [0xc4,0xe3,0x79,0x05,0xe9,0x07]
   3084           vpermilpd  $7, %xmm1, %xmm5
   3085 
   3086 // CHECK: vpermilpd  $7, %ymm5, %ymm1
   3087 // CHECK: encoding: [0xc4,0xe3,0x7d,0x05,0xcd,0x07]
   3088           vpermilpd  $7, %ymm5, %ymm1
   3089 
   3090 // CHECK: vpermilpd  $7, (%eax), %xmm5
   3091 // CHECK: encoding: [0xc4,0xe3,0x79,0x05,0x28,0x07]
   3092           vpermilpd  $7, (%eax), %xmm5
   3093 
   3094 // CHECK: vpermilpd  $7, (%eax), %ymm5
   3095 // CHECK: encoding: [0xc4,0xe3,0x7d,0x05,0x28,0x07]
   3096           vpermilpd  $7, (%eax), %ymm5
   3097 
   3098 // CHECK: vpermilpd  %xmm1, %xmm5, %xmm1
   3099 // CHECK: encoding: [0xc4,0xe2,0x51,0x0d,0xc9]
   3100           vpermilpd  %xmm1, %xmm5, %xmm1
   3101 
   3102 // CHECK: vpermilpd  %ymm1, %ymm5, %ymm1
   3103 // CHECK: encoding: [0xc4,0xe2,0x55,0x0d,0xc9]
   3104           vpermilpd  %ymm1, %ymm5, %ymm1
   3105 
   3106 // CHECK: vpermilpd  (%eax), %xmm5, %xmm3
   3107 // CHECK: encoding: [0xc4,0xe2,0x51,0x0d,0x18]
   3108           vpermilpd  (%eax), %xmm5, %xmm3
   3109 
   3110 // CHECK: vpermilpd  (%eax), %ymm5, %ymm1
   3111 // CHECK: encoding: [0xc4,0xe2,0x55,0x0d,0x08]
   3112           vpermilpd  (%eax), %ymm5, %ymm1
   3113 
   3114 // CHECK: vperm2f128  $7, %ymm2, %ymm5, %ymm1
   3115 // CHECK: encoding: [0xc4,0xe3,0x55,0x06,0xca,0x07]
   3116           vperm2f128  $7, %ymm2, %ymm5, %ymm1
   3117 
   3118 // CHECK: vperm2f128  $7, (%eax), %ymm5, %ymm1
   3119 // CHECK: encoding: [0xc4,0xe3,0x55,0x06,0x08,0x07]
   3120           vperm2f128  $7, (%eax), %ymm5, %ymm1
   3121 
   3122 // CHECK: vzeroall
   3123 // CHECK: encoding: [0xc5,0xfc,0x77]
   3124           vzeroall
   3125 
   3126 // CHECK: vzeroupper
   3127 // CHECK: encoding: [0xc5,0xf8,0x77]
   3128           vzeroupper
   3129 
   3130 // CHECK: vcvtsd2si  %xmm4, %ecx
   3131 // CHECK: encoding: [0xc5,0xfb,0x2d,0xcc]
   3132           vcvtsd2sil  %xmm4, %ecx
   3133 
   3134 // CHECK: vcvtsd2si  (%ecx), %ecx
   3135 // CHECK: encoding: [0xc5,0xfb,0x2d,0x09]
   3136           vcvtsd2sil  (%ecx), %ecx
   3137 
   3138 // CHECK: vcvtsd2si  %xmm4, %ecx
   3139 // CHECK: encoding: [0xc5,0xfb,0x2d,0xcc]
   3140           vcvtsd2si  %xmm4, %ecx
   3141 
   3142 // CHECK: vcvtsd2si  (%ecx), %ecx
   3143 // CHECK: encoding: [0xc5,0xfb,0x2d,0x09]
   3144           vcvtsd2si  (%ecx), %ecx
   3145 
   3146 // CHECK: vcvtsi2sdl  (%ebp), %xmm0, %xmm7
   3147 // CHECK: encoding: [0xc5,0xfb,0x2a,0x7d,0x00]
   3148           vcvtsi2sdl  (%ebp), %xmm0, %xmm7
   3149 
   3150 // CHECK: vcvtsi2sdl  (%esp), %xmm0, %xmm7
   3151 // CHECK: encoding: [0xc5,0xfb,0x2a,0x3c,0x24]
   3152           vcvtsi2sdl  (%esp), %xmm0, %xmm7
   3153 
   3154 // CHECK: vcvtsi2sdl  (%ebp), %xmm0, %xmm7
   3155 // CHECK: encoding: [0xc5,0xfb,0x2a,0x7d,0x00]
   3156           vcvtsi2sd  (%ebp), %xmm0, %xmm7
   3157 
   3158 // CHECK: vcvtsi2sdl  (%esp), %xmm0, %xmm7
   3159 // CHECK: encoding: [0xc5,0xfb,0x2a,0x3c,0x24]
   3160           vcvtsi2sd  (%esp), %xmm0, %xmm7
   3161 
   3162 // CHECK: vlddqu  (%eax), %ymm2
   3163 // CHECK: encoding: [0xc5,0xff,0xf0,0x10]
   3164           vlddqu  (%eax), %ymm2
   3165 
   3166 // CHECK: vmovddup  %ymm2, %ymm5
   3167 // CHECK: encoding: [0xc5,0xff,0x12,0xea]
   3168           vmovddup  %ymm2, %ymm5
   3169 
   3170 // CHECK: vmovddup  (%eax), %ymm2
   3171 // CHECK: encoding: [0xc5,0xff,0x12,0x10]
   3172           vmovddup  (%eax), %ymm2
   3173 
   3174 // CHECK: vmovdqa  %ymm2, %ymm5
   3175 // CHECK: encoding: [0xc5,0xfd,0x6f,0xea]
   3176           vmovdqa  %ymm2, %ymm5
   3177 
   3178 // CHECK: vmovdqa  %ymm2, (%eax)
   3179 // CHECK: encoding: [0xc5,0xfd,0x7f,0x10]
   3180           vmovdqa  %ymm2, (%eax)
   3181 
   3182 // CHECK: vmovdqa  (%eax), %ymm2
   3183 // CHECK: encoding: [0xc5,0xfd,0x6f,0x10]
   3184           vmovdqa  (%eax), %ymm2
   3185 
   3186 // CHECK: vmovdqu  %ymm2, %ymm5
   3187 // CHECK: encoding: [0xc5,0xfe,0x6f,0xea]
   3188           vmovdqu  %ymm2, %ymm5
   3189 
   3190 // CHECK: vmovdqu  %ymm2, (%eax)
   3191 // CHECK: encoding: [0xc5,0xfe,0x7f,0x10]
   3192           vmovdqu  %ymm2, (%eax)
   3193 
   3194 // CHECK: vmovdqu  (%eax), %ymm2
   3195 // CHECK: encoding: [0xc5,0xfe,0x6f,0x10]
   3196           vmovdqu  (%eax), %ymm2
   3197 
   3198 // CHECK: vmovshdup  %ymm2, %ymm5
   3199 // CHECK: encoding: [0xc5,0xfe,0x16,0xea]
   3200           vmovshdup  %ymm2, %ymm5
   3201 
   3202 // CHECK: vmovshdup  (%eax), %ymm2
   3203 // CHECK: encoding: [0xc5,0xfe,0x16,0x10]
   3204           vmovshdup  (%eax), %ymm2
   3205 
   3206 // CHECK: vmovsldup  %ymm2, %ymm5
   3207 // CHECK: encoding: [0xc5,0xfe,0x12,0xea]
   3208           vmovsldup  %ymm2, %ymm5
   3209 
   3210 // CHECK: vmovsldup  (%eax), %ymm2
   3211 // CHECK: encoding: [0xc5,0xfe,0x12,0x10]
   3212           vmovsldup  (%eax), %ymm2
   3213 
   3214 // CHECK: vptest  %ymm2, %ymm5
   3215 // CHECK: encoding: [0xc4,0xe2,0x7d,0x17,0xea]
   3216           vptest  %ymm2, %ymm5
   3217 
   3218 // CHECK: vptest  (%eax), %ymm2
   3219 // CHECK: encoding: [0xc4,0xe2,0x7d,0x17,0x10]
   3220           vptest  (%eax), %ymm2
   3221 
   3222 // CHECK: vroundpd  $7, %ymm5, %ymm1
   3223 // CHECK: encoding: [0xc4,0xe3,0x7d,0x09,0xcd,0x07]
   3224           vroundpd  $7, %ymm5, %ymm1
   3225 
   3226 // CHECK: vroundpd  $7, (%eax), %ymm5
   3227 // CHECK: encoding: [0xc4,0xe3,0x7d,0x09,0x28,0x07]
   3228           vroundpd  $7, (%eax), %ymm5
   3229 
   3230 // CHECK: vroundps  $7, %ymm5, %ymm1
   3231 // CHECK: encoding: [0xc4,0xe3,0x7d,0x08,0xcd,0x07]
   3232           vroundps  $7, %ymm5, %ymm1
   3233 
   3234 // CHECK: vroundps  $7, (%eax), %ymm5
   3235 // CHECK: encoding: [0xc4,0xe3,0x7d,0x08,0x28,0x07]
   3236           vroundps  $7, (%eax), %ymm5
   3237 
   3238 // CHECK: vshufpd  $7, %ymm2, %ymm5, %ymm1
   3239 // CHECK: encoding: [0xc5,0xd5,0xc6,0xca,0x07]
   3240           vshufpd  $7, %ymm2, %ymm5, %ymm1
   3241 
   3242 // CHECK: vshufpd  $7, (%eax), %ymm5, %ymm1
   3243 // CHECK: encoding: [0xc5,0xd5,0xc6,0x08,0x07]
   3244           vshufpd  $7, (%eax), %ymm5, %ymm1
   3245 
   3246 // CHECK: vshufps  $7, %ymm2, %ymm5, %ymm1
   3247 // CHECK: encoding: [0xc5,0xd4,0xc6,0xca,0x07]
   3248           vshufps  $7, %ymm2, %ymm5, %ymm1
   3249 
   3250 // CHECK: vshufps  $7, (%eax), %ymm5, %ymm1
   3251 // CHECK: encoding: [0xc5,0xd4,0xc6,0x08,0x07]
   3252           vshufps  $7, (%eax), %ymm5, %ymm1
   3253 
   3254 // CHECK: vtestpd  %xmm2, %xmm5
   3255 // CHECK: encoding: [0xc4,0xe2,0x79,0x0f,0xea]
   3256           vtestpd  %xmm2, %xmm5
   3257 
   3258 // CHECK: vtestpd  %ymm2, %ymm5
   3259 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0f,0xea]
   3260           vtestpd  %ymm2, %ymm5
   3261 
   3262 // CHECK: vtestpd  (%eax), %xmm2
   3263 // CHECK: encoding: [0xc4,0xe2,0x79,0x0f,0x10]
   3264           vtestpd  (%eax), %xmm2
   3265 
   3266 // CHECK: vtestpd  (%eax), %ymm2
   3267 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0f,0x10]
   3268           vtestpd  (%eax), %ymm2
   3269 
   3270 // CHECK: vtestps  %xmm2, %xmm5
   3271 // CHECK: encoding: [0xc4,0xe2,0x79,0x0e,0xea]
   3272           vtestps  %xmm2, %xmm5
   3273 
   3274 // CHECK: vtestps  %ymm2, %ymm5
   3275 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0e,0xea]
   3276           vtestps  %ymm2, %ymm5
   3277 
   3278 // CHECK: vtestps  (%eax), %xmm2
   3279 // CHECK: encoding: [0xc4,0xe2,0x79,0x0e,0x10]
   3280           vtestps  (%eax), %xmm2
   3281 
   3282 // CHECK: vtestps  (%eax), %ymm2
   3283 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0e,0x10]
   3284           vtestps  (%eax), %ymm2
   3285 
   3286 // CHECK: vblendvpd  %ymm0, 57005(%eax,%eiz), %ymm1, %ymm2
   3287 // CHECK: encoding: [0xc4,0xe3,0x75,0x4b,0x94,0x20,0xad,0xde,0x00,0x00,0x00]
   3288           vblendvpd  %ymm0, 0xdead(%eax,%eiz), %ymm1, %ymm2
   3289 
   3290 
   3291 
   3292 // CHECK: vpclmulqdq  $17, %xmm2, %xmm5, %xmm1
   3293 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x11]
   3294           vpclmulhqhqdq %xmm2, %xmm5, %xmm1
   3295 
   3296 // CHECK: vpclmulqdq  $17, (%eax), %xmm5, %xmm3
   3297 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x11]
   3298           vpclmulhqhqdq (%eax), %xmm5, %xmm3
   3299 
   3300 // CHECK: vpclmulqdq  $1, %xmm2, %xmm5, %xmm1
   3301 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x01]
   3302           vpclmulhqlqdq %xmm2, %xmm5, %xmm1
   3303 
   3304 // CHECK: vpclmulqdq  $1, (%eax), %xmm5, %xmm3
   3305 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x01]
   3306           vpclmulhqlqdq (%eax), %xmm5, %xmm3
   3307 
   3308 // CHECK: vpclmulqdq  $16, %xmm2, %xmm5, %xmm1
   3309 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x10]
   3310           vpclmullqhqdq %xmm2, %xmm5, %xmm1
   3311 
   3312 // CHECK: vpclmulqdq  $16, (%eax), %xmm5, %xmm3
   3313 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x10]
   3314           vpclmullqhqdq (%eax), %xmm5, %xmm3
   3315 
   3316 // CHECK: vpclmulqdq  $0, %xmm2, %xmm5, %xmm1
   3317 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x00]
   3318           vpclmullqlqdq %xmm2, %xmm5, %xmm1
   3319 
   3320 // CHECK: vpclmulqdq  $0, (%eax), %xmm5, %xmm3
   3321 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x00]
   3322           vpclmullqlqdq (%eax), %xmm5, %xmm3
   3323 
   3324 // CHECK: vpclmulqdq  $17, %xmm2, %xmm5, %xmm1
   3325 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x11]
   3326           vpclmulqdq  $17, %xmm2, %xmm5, %xmm1
   3327 
   3328 // CHECK: vpclmulqdq  $17, (%eax), %xmm5, %xmm3
   3329 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x11]
   3330           vpclmulqdq  $17, (%eax), %xmm5, %xmm3
   3331 
   3332 // rdar://9795008
   3333 // These instructions take a mask not an 8-bit sign extended value.
   3334 // CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
   3335           vblendps $0x81, %ymm2, %ymm5, %ymm1
   3336 // CHECK: vblendps $129, (%eax), %ymm5, %ymm1
   3337           vblendps $0x81, (%eax), %ymm5, %ymm1
   3338 // CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
   3339           vblendpd $0x81, %ymm2, %ymm5, %ymm1
   3340 // CHECK: vblendpd $129, (%eax), %ymm5, %ymm1
   3341           vblendpd $0x81, (%eax), %ymm5, %ymm1
   3342 // CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
   3343           vpblendw $0x81, %xmm2, %xmm5, %xmm1
   3344 // CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
   3345           vmpsadbw $0x81, %xmm2, %xmm5, %xmm1
   3346 // CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
   3347           vdpps $0x81, %ymm2, %ymm5, %ymm1
   3348 // CHECK: vdpps $129, (%eax), %ymm5, %ymm1
   3349           vdpps $0x81, (%eax), %ymm5, %ymm1
   3350 // CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
   3351           vdppd $0x81, %xmm2, %xmm5, %xmm1
   3352 // CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
   3353           vinsertps $0x81, %xmm3, %xmm2, %xmm1
   3354 
   3355 // CHECK: vcmpps $128, %xmm2, %xmm1, %xmm0
   3356 // CHECK: encoding: [0xc5,0xf0,0xc2,0xc2,0x80]
   3357 vcmpps $-128, %xmm2, %xmm1, %xmm0
   3358 
   3359 // CHECK: vcmpps $128, %xmm2, %xmm1, %xmm0
   3360 // CHECK: encoding: [0xc5,0xf0,0xc2,0xc2,0x80]
   3361 vcmpps $128, %xmm2, %xmm1, %xmm0
   3362 
   3363 // CHECK: vcmpps $255, %xmm2, %xmm1, %xmm0
   3364 // CHECK: encoding: [0xc5,0xf0,0xc2,0xc2,0xff]
   3365 vcmpps $255, %xmm2, %xmm1, %xmm0
   3366