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