1# Check illegal AVX512F instructions 2 .text 3 .allow_index_reg 4_start: 5 mov {sae}, %eax{%k1} 6 mov {sae}, %eax 7 mov %ebx, %eax{%k2} 8 vaddps %zmm3, %zmm1, %zmm2{z}{%k1}{z} 9 vaddps %zmm3, %zmm1{%k3}, %zmm2{z} 10 vaddps %zmm3, %zmm1{%k1}, %zmm2{%k2} 11 12 vcvtps2pd (%eax), %zmm1{1to8} 13 vcvtps2pd (%eax){1to16}, %zmm1 14 15 vcvtps2pd (%eax){%k1}, %zmm1 16 vcvtps2pd (%eax){z}, %zmm1 17 18 vgatherqpd (%rdi,%zmm2,8),%zmm6 19 vgatherqpd (%edi),%zmm6{%k1} 20 vgatherqpd (%zmm2),%zmm6{%k1} 21 vpscatterdd %zmm6,(%edi){%k1} 22 vpscatterdd %zmm6,(%zmm2){%k1} 23 24 .intel_syntax noprefix 25 mov eax{k1}, {sae} 26 mov eax, {sae} 27 mov eax{k2}, ebx 28 vaddps zmm2{z}{k1}{z}, zmm1, zmm3 29 vaddps zmm2{z}, zmm1{k3}, zmm3 30 vaddps zmm2{k2}, zmm1{k1}, zmm3 31 32 vcvtps2pd zmm1{1to8}, [eax] 33 vcvtps2pd zmm1, [eax]{1to16} 34 35 vcvtps2pd zmm1, [eax]{k1} 36 vcvtps2pd zmm1, [eax]{z} 37 38 vgatherqpd zmm6, ZMMWORD PTR [rdi+zmm2*8] 39 vgatherqpd zmm6{k1}, ZMMWORD PTR [edi] 40 vgatherqpd zmm6{k1}, ZMMWORD PTR [zmm2+eiz] 41 vpscatterdd ZMMWORD PTR [edi]{k1}, zmm6 42 vpscatterdd ZMMWORD PTR [zmm2+eiz]{k1}, zmm6 43 44 vaddps zmm2, zmm1, QWORD PTR [eax]{1to8} 45 vaddps zmm2, zmm1, QWORD PTR [eax]{1to16} 46 vaddpd zmm2, zmm1, DWORD PTR [eax]{1to8} 47 vaddpd zmm2, zmm1, DWORD PTR [eax]{1to16} 48 vaddps zmm2, zmm1, ZMMWORD PTR [eax]{1to16} 49 vaddps zmm2, zmm1, DWORD PTR [eax] 50 vaddpd zmm2, zmm1, QWORD PTR [eax] 51 52 .att_syntax prefix 53 vaddps %zmm0, %zmm1, %zmm2{%ecx} 54 vaddps %zmm0, %zmm1, %zmm2{z} 55 56 .intel_syntax noprefix 57 vaddps zmm2{ecx}, zmm1, zmm0 58 vaddps zmm2{z}, zmm1, zmm0 59 60 .att_syntax prefix 61 vmovaps (%eax){1to2}, %zmm1 62 vmovaps (%eax){1to4}, %zmm1 63 vmovaps (%eax){1to8}, %zmm1 64 vmovaps (%eax){1to16}, %zmm1 65 66 vcvtps2pd (%eax){1to2}, %zmm1 67 vcvtps2pd (%eax){1to4}, %zmm1 68 vcvtps2pd (%eax){1to8}, %zmm1 69 vcvtps2pd (%eax){1to16}, %zmm1 70 71 vcvtps2pd (%eax){1to2}, %ymm1 72 vcvtps2pd (%eax){1to4}, %ymm1 73 vcvtps2pd (%eax){1to8}, %ymm1 74 vcvtps2pd (%eax){1to16}, %ymm1 75 76 vcvtps2pd (%eax){1to2}, %xmm1 77 vcvtps2pd (%eax){1to4}, %xmm1 78 vcvtps2pd (%eax){1to8}, %xmm1 79 vcvtps2pd (%eax){1to16}, %xmm1 80 81 vaddps (%eax){1to2}, %zmm1, %zmm2 82 vaddps (%eax){1to4}, %zmm1, %zmm2 83 vaddps (%eax){1to8}, %zmm1, %zmm2 84 vaddps (%eax){1to16}, %zmm1, %zmm2 85 86 vaddps (%eax){1to2}, %ymm1, %ymm2 87 vaddps (%eax){1to4}, %ymm1, %ymm2 88 vaddps (%eax){1to8}, %ymm1, %ymm2 89 vaddps (%eax){1to16}, %ymm1, %ymm2 90 91 vaddps (%eax){1to2}, %xmm1, %xmm2 92 vaddps (%eax){1to4}, %xmm1, %xmm2 93 vaddps (%eax){1to8}, %xmm1, %xmm2 94 vaddps (%eax){1to16}, %xmm1, %xmm2 95 96 vaddpd (%eax){1to2}, %zmm1, %zmm2 97 vaddpd (%eax){1to4}, %zmm1, %zmm2 98 vaddpd (%eax){1to8}, %zmm1, %zmm2 99 vaddpd (%eax){1to16}, %zmm1, %zmm2 100 101 vaddpd (%eax){1to2}, %ymm1, %ymm2 102 vaddpd (%eax){1to4}, %ymm1, %ymm2 103 vaddpd (%eax){1to8}, %ymm1, %ymm2 104 vaddpd (%eax){1to16}, %ymm1, %ymm2 105 106 vaddpd (%eax){1to2}, %xmm1, %xmm2 107 vaddpd (%eax){1to4}, %xmm1, %xmm2 108 vaddpd (%eax){1to8}, %xmm1, %xmm2 109 vaddpd (%eax){1to16}, %xmm1, %xmm2 110 111 .intel_syntax noprefix 112 vcvtps2pd zmm1, QWORD PTR [eax] 113 vcvtps2pd ymm1, QWORD PTR [eax] 114 vcvtps2pd xmm1, QWORD PTR [eax] 115 116 vcvtps2pd xmm1, DWORD PTR [eax]{1to2} 117 vcvtps2pd xmm1, DWORD PTR [eax]{1to4} 118 vcvtps2pd xmm1, DWORD PTR [eax]{1to8} 119 vcvtps2pd xmm1, DWORD PTR [eax]{1to16} 120 121 vaddps zmm2, zmm1, QWORD PTR [eax] 122 vaddps ymm2, ymm1, QWORD PTR [eax] 123 vaddps xmm2, xmm1, QWORD PTR [eax] 124 125 vaddps zmm2, zmm1, DWORD PTR [eax]{1to2} 126 vaddps zmm2, zmm1, DWORD PTR [eax]{1to4} 127 vaddps zmm2, zmm1, DWORD PTR [eax]{1to8} 128 vaddps zmm2, zmm1, DWORD PTR [eax]{1to16} 129 130 vaddps ymm2, ymm1, DWORD PTR [eax]{1to2} 131 vaddps ymm2, ymm1, DWORD PTR [eax]{1to4} 132 vaddps ymm2, ymm1, DWORD PTR [eax]{1to8} 133 vaddps ymm2, ymm1, DWORD PTR [eax]{1to16} 134 135 vaddps xmm2, xmm1, DWORD PTR [eax]{1to2} 136 vaddps xmm2, xmm1, DWORD PTR [eax]{1to4} 137 vaddps xmm2, xmm1, DWORD PTR [eax]{1to8} 138 vaddps xmm2, xmm1, DWORD PTR [eax]{1to16} 139 140 vaddpd zmm2, zmm1, DWORD PTR [eax] 141 vaddpd ymm2, ymm1, DWORD PTR [eax] 142 vaddpd xmm2, xmm1, DWORD PTR [eax] 143 144 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to2} 145 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to4} 146 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to8} 147 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to16} 148 149 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to2} 150 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to4} 151 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to8} 152 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to16} 153 154 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to2} 155 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to4} 156 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to8} 157 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to16} 158 159 vcvtps2qq xmm0, DWORD PTR [eax] 160 161 .att_syntax prefix 162 vcmppd $0, %zmm0, %zmm0, %k0{%k1}{z} 163 vcmpps $0, %zmm0, %zmm0, %k0{%k1}{z} 164 vcmpsd $0, %xmm0, %xmm0, %k0{%k1}{z} 165 vcmpss $0, %xmm0, %xmm0, %k0{%k1}{z} 166 167 vcompresspd %zmm0, (%eax){%k1}{z} 168 vcompressps %zmm0, (%eax){%k1}{z} 169 170 vcvtps2ph $0, %zmm0, (%eax){%k1}{z} 171 172 vextractf32x4 $0, %zmm0, (%eax){%k1}{z} 173 vextractf32x8 $0, %zmm0, (%eax){%k1}{z} 174 vextractf64x2 $0, %zmm0, (%eax){%k1}{z} 175 vextractf64x4 $0, %zmm0, (%eax){%k1}{z} 176 177 vextracti32x4 $0, %zmm0, (%eax){%k1}{z} 178 vextracti32x8 $0, %zmm0, (%eax){%k1}{z} 179 vextracti64x2 $0, %zmm0, (%eax){%k1}{z} 180 vextracti64x4 $0, %zmm0, (%eax){%k1}{z} 181 182 vfpclasspd $0, %zmm0, %k0{%k1}{z} 183 vfpclassps $0, %zmm0, %k0{%k1}{z} 184 vfpclasssd $0, %xmm0, %k0{%k1}{z} 185 vfpclassss $0, %xmm0, %k0{%k1}{z} 186 187 vgatherdpd (%eax,%ymm1), %zmm0{%k1}{z} 188 vgatherdps (%eax,%zmm1), %zmm0{%k1}{z} 189 vgatherqpd (%eax,%zmm1), %zmm0{%k1}{z} 190 vgatherqps (%eax,%zmm1), %ymm0{%k1}{z} 191 192 vgatherpf0dpd (%eax,%ymm1){%k1}{z} 193 vgatherpf0dps (%eax,%zmm1){%k1}{z} 194 vgatherpf0qpd (%eax,%zmm1){%k1}{z} 195 vgatherpf0qps (%eax,%zmm1){%k1}{z} 196 197 vgatherpf1dpd (%eax,%ymm1){%k1}{z} 198 vgatherpf1dps (%eax,%zmm1){%k1}{z} 199 vgatherpf1qpd (%eax,%zmm1){%k1}{z} 200 vgatherpf1qps (%eax,%zmm1){%k1}{z} 201 202 vmovapd %zmm0, (%eax){%k1}{z} 203 vmovaps %zmm0, (%eax){%k1}{z} 204 205 vmovdqa32 %zmm0, (%eax){%k1}{z} 206 vmovdqa64 %zmm0, (%eax){%k1}{z} 207 208 vmovdqu8 %zmm0, (%eax){%k1}{z} 209 vmovdqu16 %zmm0, (%eax){%k1}{z} 210 vmovdqu32 %zmm0, (%eax){%k1}{z} 211 vmovdqu64 %zmm0, (%eax){%k1}{z} 212 213 vmovsd %xmm0, (%eax){%k1}{z} 214 vmovss %xmm0, (%eax){%k1}{z} 215 216 vmovupd %zmm0, (%eax){%k1}{z} 217 vmovups %zmm0, (%eax){%k1}{z} 218 219 vpcmpb $0, %zmm0, %zmm0, %k0{%k1}{z} 220 vpcmpd $0, %zmm0, %zmm0, %k0{%k1}{z} 221 vpcmpq $0, %zmm0, %zmm0, %k0{%k1}{z} 222 vpcmpw $0, %zmm0, %zmm0, %k0{%k1}{z} 223 224 vpcmpeqb %zmm0, %zmm0, %k0{%k1}{z} 225 vpcmpeqd %zmm0, %zmm0, %k0{%k1}{z} 226 vpcmpeqq %zmm0, %zmm0, %k0{%k1}{z} 227 vpcmpeqw %zmm0, %zmm0, %k0{%k1}{z} 228 229 vpcmpgtb %zmm0, %zmm0, %k0{%k1}{z} 230 vpcmpgtd %zmm0, %zmm0, %k0{%k1}{z} 231 vpcmpgtq %zmm0, %zmm0, %k0{%k1}{z} 232 vpcmpgtw %zmm0, %zmm0, %k0{%k1}{z} 233 234 vpcmpub $0, %zmm0, %zmm0, %k0{%k1}{z} 235 vpcmpud $0, %zmm0, %zmm0, %k0{%k1}{z} 236 vpcmpuq $0, %zmm0, %zmm0, %k0{%k1}{z} 237 vpcmpuw $0, %zmm0, %zmm0, %k0{%k1}{z} 238 239 vpcompressb %zmm0, (%eax){%k1}{z} 240 vpcompressd %zmm0, (%eax){%k1}{z} 241 vpcompressq %zmm0, (%eax){%k1}{z} 242 vpcompressw %zmm0, (%eax){%k1}{z} 243 244 vpgatherdd (%eax,%zmm1), %zmm0{%k1}{z} 245 vpgatherdq (%eax,%ymm1), %zmm0{%k1}{z} 246 vpgatherqd (%eax,%zmm1), %ymm0{%k1}{z} 247 vpgatherqq (%eax,%zmm1), %zmm0{%k1}{z} 248 249 vpmovdb %zmm0, (%eax){%k1}{z} 250 vpmovdw %zmm0, (%eax){%k1}{z} 251 252 vpmovqb %zmm0, (%eax){%k1}{z} 253 vpmovqd %zmm0, (%eax){%k1}{z} 254 vpmovqw %zmm0, (%eax){%k1}{z} 255 256 vpmovsdb %zmm0, (%eax){%k1}{z} 257 vpmovsdw %zmm0, (%eax){%k1}{z} 258 259 vpmovsqb %zmm0, (%eax){%k1}{z} 260 vpmovsqd %zmm0, (%eax){%k1}{z} 261 vpmovsqw %zmm0, (%eax){%k1}{z} 262 263 vpmovswb %zmm0, (%eax){%k1}{z} 264 265 vpmovusdb %zmm0, (%eax){%k1}{z} 266 vpmovusdw %zmm0, (%eax){%k1}{z} 267 268 vpmovusqb %zmm0, (%eax){%k1}{z} 269 vpmovusqd %zmm0, (%eax){%k1}{z} 270 vpmovusqw %zmm0, (%eax){%k1}{z} 271 272 vpmovuswb %zmm0, (%eax){%k1}{z} 273 274 vpmovwb %zmm0, (%eax){%k1}{z} 275 276 vpscatterdd %zmm0, (%eax,%zmm1){%k1}{z} 277 vpscatterdq %zmm0, (%eax,%ymm1){%k1}{z} 278 vpscatterqd %ymm0, (%eax,%zmm1){%k1}{z} 279 vpscatterqq %zmm0, (%eax,%zmm1){%k1}{z} 280 281 vpshufbitqmb %zmm0, %zmm0, %k0{%k1}{z} 282 283 vptestmb %zmm0, %zmm0, %k0{%k1}{z} 284 vptestmd %zmm0, %zmm0, %k0{%k1}{z} 285 vptestmq %zmm0, %zmm0, %k0{%k1}{z} 286 vptestmw %zmm0, %zmm0, %k0{%k1}{z} 287 288 vptestnmb %zmm0, %zmm0, %k0{%k1}{z} 289 vptestnmd %zmm0, %zmm0, %k0{%k1}{z} 290 vptestnmq %zmm0, %zmm0, %k0{%k1}{z} 291 vptestnmw %zmm0, %zmm0, %k0{%k1}{z} 292 293 vscatterdpd %zmm0, (%eax,%ymm1){%k1}{z} 294 vscatterdps %zmm0, (%eax,%zmm1){%k1}{z} 295 vscatterqpd %zmm0, (%eax,%zmm1){%k1}{z} 296 vscatterqps %ymm0, (%eax,%zmm1){%k1}{z} 297 298 vscatterpf0dpd (%eax,%ymm1){%k1}{z} 299 vscatterpf0dps (%eax,%zmm1){%k1}{z} 300 vscatterpf0qpd (%eax,%zmm1){%k1}{z} 301 vscatterpf0qps (%eax,%zmm1){%k1}{z} 302 303 vscatterpf1dpd (%eax,%ymm1){%k1}{z} 304 vscatterpf1dps (%eax,%zmm1){%k1}{z} 305 vscatterpf1qpd (%eax,%zmm1){%k1}{z} 306 vscatterpf1qps (%eax,%zmm1){%k1}{z} 307 308 vdpbf16ps 8(%eax){1to8}, %zmm2, %zmm2 309 vcvtne2ps2bf16 8(%eax){1to8}, %zmm2, %zmm2 310 311 vcvtneps2bf16 (%eax){1to2}, %ymm1 312 vcvtneps2bf16 (%eax){1to4}, %ymm1 313 vcvtneps2bf16 (%eax){1to8}, %ymm1 314 vcvtneps2bf16 (%eax){1to16}, %ymm1 315 316 vcvtneps2bf16 (%eax){1to2}, %xmm1 317 vcvtneps2bf16 (%eax){1to4}, %xmm1 318 vcvtneps2bf16 (%eax){1to8}, %xmm1 319 vcvtneps2bf16 (%eax){1to16}, %xmm1 320 .p2align 4 321