Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s
      2 
      3 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17
      4 // CHECK:  encoding: [0x62,0x82,0x6d,0x40,0x66,0xc9]
      5           vpblendmb %zmm25, %zmm18, %zmm17
      6 
      7 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5}
      8 // CHECK:  encoding: [0x62,0x82,0x6d,0x45,0x66,0xc9]
      9           vpblendmb %zmm25, %zmm18, %zmm17 {%k5}
     10 
     11 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
     12 // CHECK:  encoding: [0x62,0x82,0x6d,0xc5,0x66,0xc9]
     13           vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
     14 
     15 // CHECK: vpblendmb (%rcx), %zmm18, %zmm17
     16 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x09]
     17           vpblendmb (%rcx), %zmm18, %zmm17
     18 
     19 // CHECK: vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17
     20 // CHECK:  encoding: [0x62,0xa2,0x6d,0x40,0x66,0x8c,0xf0,0x23,0x01,0x00,0x00]
     21           vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17
     22 
     23 // CHECK: vpblendmb 8128(%rdx), %zmm18, %zmm17
     24 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x7f]
     25           vpblendmb 8128(%rdx), %zmm18, %zmm17
     26 
     27 // CHECK: vpblendmb 8192(%rdx), %zmm18, %zmm17
     28 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0x00,0x20,0x00,0x00]
     29           vpblendmb 8192(%rdx), %zmm18, %zmm17
     30 
     31 // CHECK: vpblendmb -8192(%rdx), %zmm18, %zmm17
     32 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x80]
     33           vpblendmb -8192(%rdx), %zmm18, %zmm17
     34 
     35 // CHECK: vpblendmb -8256(%rdx), %zmm18, %zmm17
     36 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0xc0,0xdf,0xff,0xff]
     37           vpblendmb -8256(%rdx), %zmm18, %zmm17
     38 
     39 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26
     40 // CHECK:  encoding: [0x62,0x22,0xdd,0x40,0x66,0xd1]
     41           vpblendmw %zmm17, %zmm20, %zmm26
     42 
     43 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7}
     44 // CHECK:  encoding: [0x62,0x22,0xdd,0x47,0x66,0xd1]
     45           vpblendmw %zmm17, %zmm20, %zmm26 {%k7}
     46 
     47 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z}
     48 // CHECK:  encoding: [0x62,0x22,0xdd,0xc7,0x66,0xd1]
     49           vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z}
     50 
     51 // CHECK: vpblendmw (%rcx), %zmm20, %zmm26
     52 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x11]
     53           vpblendmw (%rcx), %zmm20, %zmm26
     54 
     55 // CHECK: vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26
     56 // CHECK:  encoding: [0x62,0x22,0xdd,0x40,0x66,0x94,0xf0,0x23,0x01,0x00,0x00]
     57           vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26
     58 
     59 // CHECK: vpblendmw 8128(%rdx), %zmm20, %zmm26
     60 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x7f]
     61           vpblendmw 8128(%rdx), %zmm20, %zmm26
     62 
     63 // CHECK: vpblendmw 8192(%rdx), %zmm20, %zmm26
     64 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0x00,0x20,0x00,0x00]
     65           vpblendmw 8192(%rdx), %zmm20, %zmm26
     66 
     67 // CHECK: vpblendmw -8192(%rdx), %zmm20, %zmm26
     68 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x80]
     69           vpblendmw -8192(%rdx), %zmm20, %zmm26
     70 
     71 // CHECK: vpblendmw -8256(%rdx), %zmm20, %zmm26
     72 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0xc0,0xdf,0xff,0xff]
     73           vpblendmw -8256(%rdx), %zmm20, %zmm26
     74 
     75 // CHECK: vptestmb %zmm19, %zmm17, %k5
     76 // CHECK:  encoding: [0x62,0xb2,0x75,0x40,0x26,0xeb]
     77           vptestmb %zmm19, %zmm17, %k5
     78 
     79 // CHECK: vptestmb %zmm19, %zmm17, %k5 {%k3}
     80 // CHECK:  encoding: [0x62,0xb2,0x75,0x43,0x26,0xeb]
     81           vptestmb %zmm19, %zmm17, %k5 {%k3}
     82 
     83 // CHECK: vptestmb (%rcx), %zmm17, %k5
     84 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0x29]
     85           vptestmb (%rcx), %zmm17, %k5
     86 
     87 // CHECK: vptestmb 291(%rax,%r14,8), %zmm17, %k5
     88 // CHECK:  encoding: [0x62,0xb2,0x75,0x40,0x26,0xac,0xf0,0x23,0x01,0x00,0x00]
     89           vptestmb 291(%rax,%r14,8), %zmm17, %k5
     90 
     91 // CHECK: vptestmb 8128(%rdx), %zmm17, %k5
     92 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x7f]
     93           vptestmb 8128(%rdx), %zmm17, %k5
     94 
     95 // CHECK: vptestmb 8192(%rdx), %zmm17, %k5
     96 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0x00,0x20,0x00,0x00]
     97           vptestmb 8192(%rdx), %zmm17, %k5
     98 
     99 // CHECK: vptestmb -8192(%rdx), %zmm17, %k5
    100 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x80]
    101           vptestmb -8192(%rdx), %zmm17, %k5
    102 
    103 // CHECK: vptestmb -8256(%rdx), %zmm17, %k5
    104 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0xc0,0xdf,0xff,0xff]
    105           vptestmb -8256(%rdx), %zmm17, %k5
    106 
    107 // CHECK: vptestmw %zmm19, %zmm29, %k4
    108 // CHECK:  encoding: [0x62,0xb2,0x95,0x40,0x26,0xe3]
    109           vptestmw %zmm19, %zmm29, %k4
    110 
    111 // CHECK: vptestmw %zmm19, %zmm29, %k4 {%k2}
    112 // CHECK:  encoding: [0x62,0xb2,0x95,0x42,0x26,0xe3]
    113           vptestmw %zmm19, %zmm29, %k4 {%k2}
    114 
    115 // CHECK: vptestmw (%rcx), %zmm29, %k4
    116 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0x21]
    117           vptestmw (%rcx), %zmm29, %k4
    118 
    119 // CHECK: vptestmw 291(%rax,%r14,8), %zmm29, %k4
    120 // CHECK:  encoding: [0x62,0xb2,0x95,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00]
    121           vptestmw 291(%rax,%r14,8), %zmm29, %k4
    122 
    123 // CHECK: vptestmw 8128(%rdx), %zmm29, %k4
    124 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x7f]
    125           vptestmw 8128(%rdx), %zmm29, %k4
    126 
    127 // CHECK: vptestmw 8192(%rdx), %zmm29, %k4
    128 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0x00,0x20,0x00,0x00]
    129           vptestmw 8192(%rdx), %zmm29, %k4
    130 
    131 // CHECK: vptestmw -8192(%rdx), %zmm29, %k4
    132 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x80]
    133           vptestmw -8192(%rdx), %zmm29, %k4
    134 
    135 // CHECK: vptestmw -8256(%rdx), %zmm29, %k4
    136 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff]
    137           vptestmw -8256(%rdx), %zmm29, %k4
    138 
    139 // CHECK: vptestnmb %zmm23, %zmm24, %k2
    140 // CHECK:  encoding: [0x62,0xb2,0x3e,0x40,0x26,0xd7]
    141           vptestnmb %zmm23, %zmm24, %k2
    142 
    143 // CHECK: vptestnmb %zmm23, %zmm24, %k2 {%k7}
    144 // CHECK:  encoding: [0x62,0xb2,0x3e,0x47,0x26,0xd7]
    145           vptestnmb %zmm23, %zmm24, %k2 {%k7}
    146 
    147 // CHECK: vptestnmb (%rcx), %zmm24, %k2
    148 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x11]
    149           vptestnmb (%rcx), %zmm24, %k2
    150 
    151 // CHECK: vptestnmb 291(%rax,%r14,8), %zmm24, %k2
    152 // CHECK:  encoding: [0x62,0xb2,0x3e,0x40,0x26,0x94,0xf0,0x23,0x01,0x00,0x00]
    153           vptestnmb 291(%rax,%r14,8), %zmm24, %k2
    154 
    155 // CHECK: vptestnmb 8128(%rdx), %zmm24, %k2
    156 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x7f]
    157           vptestnmb 8128(%rdx), %zmm24, %k2
    158 
    159 // CHECK: vptestnmb 8192(%rdx), %zmm24, %k2
    160 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0x00,0x20,0x00,0x00]
    161           vptestnmb 8192(%rdx), %zmm24, %k2
    162 
    163 // CHECK: vptestnmb -8192(%rdx), %zmm24, %k2
    164 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x80]
    165           vptestnmb -8192(%rdx), %zmm24, %k2
    166 
    167 // CHECK: vptestnmb -8256(%rdx), %zmm24, %k2
    168 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff]
    169           vptestnmb -8256(%rdx), %zmm24, %k2
    170 
    171 // CHECK: vptestnmw %zmm27, %zmm18, %k4
    172 // CHECK:  encoding: [0x62,0x92,0xee,0x40,0x26,0xe3]
    173           vptestnmw %zmm27, %zmm18, %k4
    174 
    175 // CHECK: vptestnmw %zmm27, %zmm18, %k4 {%k5}
    176 // CHECK:  encoding: [0x62,0x92,0xee,0x45,0x26,0xe3]
    177           vptestnmw %zmm27, %zmm18, %k4 {%k5}
    178 
    179 // CHECK: vptestnmw (%rcx), %zmm18, %k4
    180 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0x21]
    181           vptestnmw (%rcx), %zmm18, %k4
    182 
    183 // CHECK: vptestnmw 291(%rax,%r14,8), %zmm18, %k4
    184 // CHECK:  encoding: [0x62,0xb2,0xee,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00]
    185           vptestnmw 291(%rax,%r14,8), %zmm18, %k4
    186 
    187 // CHECK: vptestnmw 8128(%rdx), %zmm18, %k4
    188 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x7f]
    189           vptestnmw 8128(%rdx), %zmm18, %k4
    190 
    191 // CHECK: vptestnmw 8192(%rdx), %zmm18, %k4
    192 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0x00,0x20,0x00,0x00]
    193           vptestnmw 8192(%rdx), %zmm18, %k4
    194 
    195 // CHECK: vptestnmw -8192(%rdx), %zmm18, %k4
    196 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x80]
    197           vptestnmw -8192(%rdx), %zmm18, %k4
    198 
    199 // CHECK: vptestnmw -8256(%rdx), %zmm18, %k4
    200 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff]
    201           vptestnmw -8256(%rdx), %zmm18, %k4
    202 
    203 // CHECK: vptestnmb %zmm19, %zmm27, %k3
    204 // CHECK:  encoding: [0x62,0xb2,0x26,0x40,0x26,0xdb]
    205           vptestnmb %zmm19, %zmm27, %k3
    206 
    207 // CHECK: vptestnmb %zmm19, %zmm27, %k3 {%k2}
    208 // CHECK:  encoding: [0x62,0xb2,0x26,0x42,0x26,0xdb]
    209           vptestnmb %zmm19, %zmm27, %k3 {%k2}
    210 
    211 // CHECK: vptestnmb (%rcx), %zmm27, %k3
    212 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x19]
    213           vptestnmb (%rcx), %zmm27, %k3
    214 
    215 // CHECK: vptestnmb 4660(%rax,%r14,8), %zmm27, %k3
    216 // CHECK:  encoding: [0x62,0xb2,0x26,0x40,0x26,0x9c,0xf0,0x34,0x12,0x00,0x00]
    217           vptestnmb 4660(%rax,%r14,8), %zmm27, %k3
    218 
    219 // CHECK: vptestnmb 8128(%rdx), %zmm27, %k3
    220 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x7f]
    221           vptestnmb 8128(%rdx), %zmm27, %k3
    222 
    223 // CHECK: vptestnmb 8192(%rdx), %zmm27, %k3
    224 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0x00,0x20,0x00,0x00]
    225           vptestnmb 8192(%rdx), %zmm27, %k3
    226 
    227 // CHECK: vptestnmb -8192(%rdx), %zmm27, %k3
    228 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x80]
    229           vptestnmb -8192(%rdx), %zmm27, %k3
    230 
    231 // CHECK: vptestnmb -8256(%rdx), %zmm27, %k3
    232 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0xc0,0xdf,0xff,0xff]
    233           vptestnmb -8256(%rdx), %zmm27, %k3
    234 
    235 // CHECK: vptestnmw %zmm21, %zmm17, %k2
    236 // CHECK:  encoding: [0x62,0xb2,0xf6,0x40,0x26,0xd5]
    237           vptestnmw %zmm21, %zmm17, %k2
    238 
    239 // CHECK: vptestnmw %zmm21, %zmm17, %k2 {%k4}
    240 // CHECK:  encoding: [0x62,0xb2,0xf6,0x44,0x26,0xd5]
    241           vptestnmw %zmm21, %zmm17, %k2 {%k4}
    242 
    243 // CHECK: vptestnmw (%rcx), %zmm17, %k2
    244 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x11]
    245           vptestnmw (%rcx), %zmm17, %k2
    246 
    247 // CHECK: vptestnmw 4660(%rax,%r14,8), %zmm17, %k2
    248 // CHECK:  encoding: [0x62,0xb2,0xf6,0x40,0x26,0x94,0xf0,0x34,0x12,0x00,0x00]
    249           vptestnmw 4660(%rax,%r14,8), %zmm17, %k2
    250 
    251 // CHECK: vptestnmw 8128(%rdx), %zmm17, %k2
    252 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x7f]
    253           vptestnmw 8128(%rdx), %zmm17, %k2
    254 
    255 // CHECK: vptestnmw 8192(%rdx), %zmm17, %k2
    256 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0x00,0x20,0x00,0x00]
    257           vptestnmw 8192(%rdx), %zmm17, %k2
    258 
    259 // CHECK: vptestnmw -8192(%rdx), %zmm17, %k2
    260 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x80]
    261           vptestnmw -8192(%rdx), %zmm17, %k2
    262 
    263 // CHECK: vptestnmw -8256(%rdx), %zmm17, %k2
    264 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff]
    265           vptestnmw -8256(%rdx), %zmm17, %k2
    266 
    267 // CHECK: vpmovb2m %zmm28, %k5
    268 // CHECK:  encoding: [0x62,0x92,0x7e,0x48,0x29,0xec]
    269           vpmovb2m %zmm28, %k5
    270 
    271 // CHECK: vpmovw2m %zmm30, %k3
    272 // CHECK:  encoding: [0x62,0x92,0xfe,0x48,0x29,0xde]
    273           vpmovw2m %zmm30, %k3
    274 
    275 // CHECK: vpmovm2b %k3, %zmm18
    276 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x28,0xd3]
    277           vpmovm2b %k3, %zmm18
    278 
    279 // CHECK: vpmovm2w %k5, %zmm24
    280 // CHECK:  encoding: [0x62,0x62,0xfe,0x48,0x28,0xc5]
    281           vpmovm2w %k5, %zmm24
    282 
    283