Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512vl -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
      2 
      3 // CHECK:  vcmppd k3 , xmm27, xmm23, 171
      4 // CHECK:  encoding: [0x62,0xb1,0xa5,0x00,0xc2,0xdf,0xab]
      5           vcmppd k3,xmm27,xmm23,0xab
      6 
      7 // CHECK:  vcmppd k3 {k5}, xmm27, xmm23, 171
      8 // CHECK:  encoding: [0x62,0xb1,0xa5,0x05,0xc2,0xdf,0xab]
      9           vcmppd k3{k5},xmm27,xmm23,0xab
     10 
     11 // CHECK:  vcmppd k3 , xmm27, xmm23, 123
     12 // CHECK:  encoding: [0x62,0xb1,0xa5,0x00,0xc2,0xdf,0x7b]
     13           vcmppd k3,xmm27,xmm23,0x7b
     14 
     15 // CHECK:  vcmppd k3 , xmm27, xmmword ptr [rcx], 123
     16 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x19,0x7b]
     17           vcmppd k3,xmm27,XMMWORD PTR [rcx],0x7b
     18 
     19 // CHECK:  vcmppd k3 , xmm27, xmmword ptr [rax + 8*r14 + 291], 123
     20 // CHECK:  encoding: [0x62,0xb1,0xa5,0x00,0xc2,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
     21           vcmppd k3,xmm27,XMMWORD PTR [rax+r14*8+0x123],0x7b
     22 
     23 // CHECK:  vcmppd k3 , xmm27, qword ptr [rcx]{1to2}, 123
     24 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x19,0x7b]
     25           vcmppd k3,xmm27,QWORD PTR [rcx]{1to2},0x7b
     26 
     27 // CHECK:  vcmppd k3 , xmm27, xmmword ptr [rdx + 2032], 123
     28 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x5a,0x7f,0x7b]
     29           vcmppd k3,xmm27,XMMWORD PTR [rdx+0x7f0],0x7b
     30 
     31 // CHECK:  vcmppd k3 , xmm27, xmmword ptr [rdx + 2048], 123
     32 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x9a,0x00,0x08,0x00,0x00,0x7b]
     33           vcmppd k3,xmm27,XMMWORD PTR [rdx+0x800],0x7b
     34 
     35 // CHECK:  vcmppd k3 , xmm27, xmmword ptr [rdx - 2048], 123
     36 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x5a,0x80,0x7b]
     37           vcmppd k3,xmm27,XMMWORD PTR [rdx-0x800],0x7b
     38 
     39 // CHECK:  vcmppd k3 , xmm27, xmmword ptr [rdx - 2064], 123
     40 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x9a,0xf0,0xf7,0xff,0xff,0x7b]
     41           vcmppd k3,xmm27,XMMWORD PTR [rdx-0x810],0x7b
     42 
     43 // CHECK:  vcmppd k3 , xmm27, qword ptr [rdx + 1016]{1to2}, 123
     44 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x5a,0x7f,0x7b]
     45           vcmppd k3,xmm27,QWORD PTR [rdx+0x3f8]{1to2},0x7b
     46 
     47 // CHECK:  vcmppd k3 , xmm27, qword ptr [rdx + 1024]{1to2}, 123
     48 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x9a,0x00,0x04,0x00,0x00,0x7b]
     49           vcmppd k3,xmm27,QWORD PTR [rdx+0x400]{1to2},0x7b
     50 
     51 // CHECK:  vcmppd k3 , xmm27, qword ptr [rdx - 1024]{1to2}, 123
     52 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x5a,0x80,0x7b]
     53           vcmppd k3,xmm27,QWORD PTR [rdx-0x400]{1to2},0x7b
     54 
     55 // CHECK:  vcmppd k3 , xmm27, qword ptr [rdx - 1032]{1to2}, 123
     56 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x9a,0xf8,0xfb,0xff,0xff,0x7b]
     57           vcmppd k3,xmm27,QWORD PTR [rdx-0x408]{1to2},0x7b
     58 
     59 // CHECK:  vcmppd k4 , ymm17, ymm27, 171
     60 // CHECK:  encoding: [0x62,0x91,0xf5,0x20,0xc2,0xe3,0xab]
     61           vcmppd k4,ymm17,ymm27,0xab
     62 
     63 // CHECK:  vcmppd k4 {k7}, ymm17, ymm27, 171
     64 // CHECK:  encoding: [0x62,0x91,0xf5,0x27,0xc2,0xe3,0xab]
     65           vcmppd k4{k7},ymm17,ymm27,0xab
     66 
     67 // CHECK:  vcmppd k4 , ymm17, ymm27, 123
     68 // CHECK:  encoding: [0x62,0x91,0xf5,0x20,0xc2,0xe3,0x7b]
     69           vcmppd k4,ymm17,ymm27,0x7b
     70 
     71 // CHECK:  vcmppd k4 , ymm17, ymmword ptr [rcx], 123
     72 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x21,0x7b]
     73           vcmppd k4,ymm17,YMMWORD PTR [rcx],0x7b
     74 
     75 // CHECK:  vcmppd k4 , ymm17, ymmword ptr [rax + 8*r14 + 291], 123
     76 // CHECK:  encoding: [0x62,0xb1,0xf5,0x20,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
     77           vcmppd k4,ymm17,YMMWORD PTR [rax+r14*8+0x123],0x7b
     78 
     79 // CHECK:  vcmppd k4 , ymm17, qword ptr [rcx]{1to4}, 123
     80 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x21,0x7b]
     81           vcmppd k4,ymm17,QWORD PTR [rcx]{1to4},0x7b
     82 
     83 // CHECK:  vcmppd k4 , ymm17, ymmword ptr [rdx + 4064], 123
     84 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x62,0x7f,0x7b]
     85           vcmppd k4,ymm17,YMMWORD PTR [rdx+0xfe0],0x7b
     86 
     87 // CHECK:  vcmppd k4 , ymm17, ymmword ptr [rdx + 4096], 123
     88 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0xa2,0x00,0x10,0x00,0x00,0x7b]
     89           vcmppd k4,ymm17,YMMWORD PTR [rdx+0x1000],0x7b
     90 
     91 // CHECK:  vcmppd k4 , ymm17, ymmword ptr [rdx - 4096], 123
     92 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x62,0x80,0x7b]
     93           vcmppd k4,ymm17,YMMWORD PTR [rdx-0x1000],0x7b
     94 
     95 // CHECK:  vcmppd k4 , ymm17, ymmword ptr [rdx - 4128], 123
     96 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0xa2,0xe0,0xef,0xff,0xff,0x7b]
     97           vcmppd k4,ymm17,YMMWORD PTR [rdx-0x1020],0x7b
     98 
     99 // CHECK:  vcmppd k4 , ymm17, qword ptr [rdx + 1016]{1to4}, 123
    100 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x62,0x7f,0x7b]
    101           vcmppd k4,ymm17,QWORD PTR [rdx+0x3f8]{1to4},0x7b
    102 
    103 // CHECK:  vcmppd k4 , ymm17, qword ptr [rdx + 1024]{1to4}, 123
    104 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0xa2,0x00,0x04,0x00,0x00,0x7b]
    105           vcmppd k4,ymm17,QWORD PTR [rdx+0x400]{1to4},0x7b
    106 
    107 // CHECK:  vcmppd k4 , ymm17, qword ptr [rdx - 1024]{1to4}, 123
    108 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x62,0x80,0x7b]
    109           vcmppd k4,ymm17,QWORD PTR [rdx-0x400]{1to4},0x7b
    110 
    111 // CHECK:  vcmppd k4 , ymm17, qword ptr [rdx - 1032]{1to4}, 123
    112 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0xa2,0xf8,0xfb,0xff,0xff,0x7b]
    113           vcmppd k4,ymm17,QWORD PTR [rdx-0x408]{1to4},0x7b
    114 
    115 // CHECK:  vcmpps k4 , xmm29, xmm28, 171
    116 // CHECK:  encoding: [0x62,0x91,0x14,0x00,0xc2,0xe4,0xab]
    117           vcmpps k4,xmm29,xmm28,0xab
    118 
    119 // CHECK:  vcmpps k4 {k2}, xmm29, xmm28, 171
    120 // CHECK:  encoding: [0x62,0x91,0x14,0x02,0xc2,0xe4,0xab]
    121           vcmpps k4{k2},xmm29,xmm28,0xab
    122 
    123 // CHECK:  vcmpps k4 , xmm29, xmm28, 123
    124 // CHECK:  encoding: [0x62,0x91,0x14,0x00,0xc2,0xe4,0x7b]
    125           vcmpps k4,xmm29,xmm28,0x7b
    126 
    127 // CHECK:  vcmpps k4 , xmm29, xmmword ptr [rcx], 123
    128 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0x21,0x7b]
    129           vcmpps k4,xmm29,XMMWORD PTR [rcx],0x7b
    130 
    131 // CHECK:  vcmpps k4 , xmm29, xmmword ptr [rax + 8*r14 + 291], 123
    132 // CHECK:  encoding: [0x62,0xb1,0x14,0x00,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
    133           vcmpps k4,xmm29,XMMWORD PTR [rax+r14*8+0x123],0x7b
    134 
    135 // CHECK:  vcmpps k4 , xmm29, dword ptr [rcx]{1to4}, 123
    136 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0x21,0x7b]
    137           vcmpps k4,xmm29,DWORD PTR [rcx]{1to4},0x7b
    138 
    139 // CHECK:  vcmpps k4 , xmm29, xmmword ptr [rdx + 2032], 123
    140 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0x62,0x7f,0x7b]
    141           vcmpps k4,xmm29,XMMWORD PTR [rdx+0x7f0],0x7b
    142 
    143 // CHECK:  vcmpps k4 , xmm29, xmmword ptr [rdx + 2048], 123
    144 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0xa2,0x00,0x08,0x00,0x00,0x7b]
    145           vcmpps k4,xmm29,XMMWORD PTR [rdx+0x800],0x7b
    146 
    147 // CHECK:  vcmpps k4 , xmm29, xmmword ptr [rdx - 2048], 123
    148 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0x62,0x80,0x7b]
    149           vcmpps k4,xmm29,XMMWORD PTR [rdx-0x800],0x7b
    150 
    151 // CHECK:  vcmpps k4 , xmm29, xmmword ptr [rdx - 2064], 123
    152 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0xa2,0xf0,0xf7,0xff,0xff,0x7b]
    153           vcmpps k4,xmm29,XMMWORD PTR [rdx-0x810],0x7b
    154 
    155 // CHECK:  vcmpps k4 , xmm29, dword ptr [rdx + 508]{1to4}, 123
    156 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0x62,0x7f,0x7b]
    157           vcmpps k4,xmm29,DWORD PTR [rdx+0x1fc]{1to4},0x7b
    158 
    159 // CHECK:  vcmpps k4 , xmm29, dword ptr [rdx + 512]{1to4}, 123
    160 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0xa2,0x00,0x02,0x00,0x00,0x7b]
    161           vcmpps k4,xmm29,DWORD PTR [rdx+0x200]{1to4},0x7b
    162 
    163 // CHECK:  vcmpps k4 , xmm29, dword ptr [rdx - 512]{1to4}, 123
    164 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0x62,0x80,0x7b]
    165           vcmpps k4,xmm29,DWORD PTR [rdx-0x200]{1to4},0x7b
    166 
    167 // CHECK:  vcmpps k4 , xmm29, dword ptr [rdx - 516]{1to4}, 123
    168 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0xa2,0xfc,0xfd,0xff,0xff,0x7b]
    169           vcmpps k4,xmm29,DWORD PTR [rdx-0x204]{1to4},0x7b
    170 
    171 // CHECK:  vcmpps k4 , ymm19, ymm18, 171
    172 // CHECK:  encoding: [0x62,0xb1,0x64,0x20,0xc2,0xe2,0xab]
    173           vcmpps k4,ymm19,ymm18,0xab
    174 
    175 // CHECK:  vcmpps k4 {k1}, ymm19, ymm18, 171
    176 // CHECK:  encoding: [0x62,0xb1,0x64,0x21,0xc2,0xe2,0xab]
    177           vcmpps k4{k1},ymm19,ymm18,0xab
    178 
    179 // CHECK:  vcmpps k4 , ymm19, ymm18, 123
    180 // CHECK:  encoding: [0x62,0xb1,0x64,0x20,0xc2,0xe2,0x7b]
    181           vcmpps k4,ymm19,ymm18,0x7b
    182 
    183 // CHECK:  vcmpps k4 , ymm19, ymmword ptr [rcx], 123
    184 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0x21,0x7b]
    185           vcmpps k4,ymm19,YMMWORD PTR [rcx],0x7b
    186 
    187 // CHECK:  vcmpps k4 , ymm19, ymmword ptr [rax + 8*r14 + 291], 123
    188 // CHECK:  encoding: [0x62,0xb1,0x64,0x20,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
    189           vcmpps k4,ymm19,YMMWORD PTR [rax+r14*8+0x123],0x7b
    190 
    191 // CHECK: vcmpps k4 , ymm19, dword ptr [rcx]{1to8}, 123
    192 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0x21,0x7b]
    193           vcmpps k4,ymm19,DWORD PTR [rcx]{1to8},0x7b
    194 
    195 // CHECK:  vcmpps k4 , ymm19, ymmword ptr [rdx + 4064], 123
    196 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0x62,0x7f,0x7b]
    197           vcmpps k4,ymm19,YMMWORD PTR [rdx+0xfe0],0x7b
    198 
    199 // CHECK:  vcmpps k4 , ymm19, ymmword ptr [rdx + 4096], 123
    200 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0xa2,0x00,0x10,0x00,0x00,0x7b]
    201           vcmpps k4,ymm19,YMMWORD PTR [rdx+0x1000],0x7b
    202 
    203 // CHECK:  vcmpps k4 , ymm19, ymmword ptr [rdx - 4096], 123
    204 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0x62,0x80,0x7b]
    205           vcmpps k4,ymm19,YMMWORD PTR [rdx-0x1000],0x7b
    206 
    207 // CHECK:  vcmpps k4 , ymm19, ymmword ptr [rdx - 4128], 123
    208 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0xa2,0xe0,0xef,0xff,0xff,0x7b]
    209           vcmpps k4,ymm19,YMMWORD PTR [rdx-0x1020],0x7b
    210 
    211 // CHECK:  vcmpps k4 , ymm19, dword ptr [rdx + 508]{1to8}, 123
    212 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0x62,0x7f,0x7b]
    213           vcmpps k4,ymm19,DWORD PTR [rdx+0x1fc]{1to8},0x7b
    214 
    215 // CHECK:  vcmpps k4 , ymm19, dword ptr [rdx + 512]{1to8}, 123
    216 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0xa2,0x00,0x02,0x00,0x00,0x7b]
    217           vcmpps k4,ymm19,DWORD PTR [rdx+0x200]{1to8},0x7b
    218 
    219 // CHECK:  vcmpps k4 , ymm19, dword ptr [rdx - 512]{1to8}, 123
    220 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0x62,0x80,0x7b]
    221           vcmpps k4,ymm19,DWORD PTR [rdx-0x200]{1to8},0x7b
    222 
    223 // CHECK:  vcmpps k4 , ymm19, dword ptr [rdx - 516]{1to8}, 123
    224 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0xa2,0xfc,0xfd,0xff,0xff,0x7b]
    225           vcmpps k4,ymm19,DWORD PTR [rdx-0x204]{1to8},0x7b
    226