Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * This file contains instructions for testing by the test titled:
0004  *
0005  *         "Test x86 instruction decoder - new instructions"
0006  *
0007  * Note that the 'Expecting' comment lines are consumed by the
0008  * gen-insn-x86-dat.awk script and have the format:
0009  *
0010  *         Expecting: <op> <branch> <rel>
0011  *
0012  * If this file is changed, remember to run the gen-insn-x86-dat.sh
0013  * script and commit the result.
0014  *
0015  * Refer to insn-x86.c for more details.
0016  */
0017 
0018 int main(void)
0019 {
0020     /* Following line is a marker for the awk script - do not change */
0021     asm volatile("rdtsc"); /* Start here */
0022 
0023     /* Test fix for vcvtph2ps in x86-opcode-map.txt */
0024 
0025     asm volatile("vcvtph2ps %xmm3,%ymm5");
0026 
0027 #ifdef __x86_64__
0028 
0029     /* AVX-512: Instructions with the same op codes as Mask Instructions  */
0030 
0031     asm volatile("cmovno %rax,%rbx");
0032     asm volatile("cmovno 0x12345678(%rax),%rcx");
0033     asm volatile("cmovno 0x12345678(%rax),%cx");
0034 
0035     asm volatile("cmove  %rax,%rbx");
0036     asm volatile("cmove 0x12345678(%rax),%rcx");
0037     asm volatile("cmove 0x12345678(%rax),%cx");
0038 
0039     asm volatile("seto    0x12345678(%rax)");
0040     asm volatile("setno   0x12345678(%rax)");
0041     asm volatile("setb    0x12345678(%rax)");
0042     asm volatile("setc    0x12345678(%rax)");
0043     asm volatile("setnae  0x12345678(%rax)");
0044     asm volatile("setae   0x12345678(%rax)");
0045     asm volatile("setnb   0x12345678(%rax)");
0046     asm volatile("setnc   0x12345678(%rax)");
0047     asm volatile("sets    0x12345678(%rax)");
0048     asm volatile("setns   0x12345678(%rax)");
0049 
0050     /* AVX-512: Mask Instructions */
0051 
0052     asm volatile("kandw  %k7,%k6,%k5");
0053     asm volatile("kandq  %k7,%k6,%k5");
0054     asm volatile("kandb  %k7,%k6,%k5");
0055     asm volatile("kandd  %k7,%k6,%k5");
0056 
0057     asm volatile("kandnw  %k7,%k6,%k5");
0058     asm volatile("kandnq  %k7,%k6,%k5");
0059     asm volatile("kandnb  %k7,%k6,%k5");
0060     asm volatile("kandnd  %k7,%k6,%k5");
0061 
0062     asm volatile("knotw  %k7,%k6");
0063     asm volatile("knotq  %k7,%k6");
0064     asm volatile("knotb  %k7,%k6");
0065     asm volatile("knotd  %k7,%k6");
0066 
0067     asm volatile("korw  %k7,%k6,%k5");
0068     asm volatile("korq  %k7,%k6,%k5");
0069     asm volatile("korb  %k7,%k6,%k5");
0070     asm volatile("kord  %k7,%k6,%k5");
0071 
0072     asm volatile("kxnorw  %k7,%k6,%k5");
0073     asm volatile("kxnorq  %k7,%k6,%k5");
0074     asm volatile("kxnorb  %k7,%k6,%k5");
0075     asm volatile("kxnord  %k7,%k6,%k5");
0076 
0077     asm volatile("kxorw  %k7,%k6,%k5");
0078     asm volatile("kxorq  %k7,%k6,%k5");
0079     asm volatile("kxorb  %k7,%k6,%k5");
0080     asm volatile("kxord  %k7,%k6,%k5");
0081 
0082     asm volatile("kaddw  %k7,%k6,%k5");
0083     asm volatile("kaddq  %k7,%k6,%k5");
0084     asm volatile("kaddb  %k7,%k6,%k5");
0085     asm volatile("kaddd  %k7,%k6,%k5");
0086 
0087     asm volatile("kunpckbw %k7,%k6,%k5");
0088     asm volatile("kunpckwd %k7,%k6,%k5");
0089     asm volatile("kunpckdq %k7,%k6,%k5");
0090 
0091     asm volatile("kmovw  %k6,%k5");
0092     asm volatile("kmovw  (%rcx),%k5");
0093     asm volatile("kmovw  0x123(%rax,%r14,8),%k5");
0094     asm volatile("kmovw  %k5,(%rcx)");
0095     asm volatile("kmovw  %k5,0x123(%rax,%r14,8)");
0096     asm volatile("kmovw  %eax,%k5");
0097     asm volatile("kmovw  %ebp,%k5");
0098     asm volatile("kmovw  %r13d,%k5");
0099     asm volatile("kmovw  %k5,%eax");
0100     asm volatile("kmovw  %k5,%ebp");
0101     asm volatile("kmovw  %k5,%r13d");
0102 
0103     asm volatile("kmovq  %k6,%k5");
0104     asm volatile("kmovq  (%rcx),%k5");
0105     asm volatile("kmovq  0x123(%rax,%r14,8),%k5");
0106     asm volatile("kmovq  %k5,(%rcx)");
0107     asm volatile("kmovq  %k5,0x123(%rax,%r14,8)");
0108     asm volatile("kmovq  %rax,%k5");
0109     asm volatile("kmovq  %rbp,%k5");
0110     asm volatile("kmovq  %r13,%k5");
0111     asm volatile("kmovq  %k5,%rax");
0112     asm volatile("kmovq  %k5,%rbp");
0113     asm volatile("kmovq  %k5,%r13");
0114 
0115     asm volatile("kmovb  %k6,%k5");
0116     asm volatile("kmovb  (%rcx),%k5");
0117     asm volatile("kmovb  0x123(%rax,%r14,8),%k5");
0118     asm volatile("kmovb  %k5,(%rcx)");
0119     asm volatile("kmovb  %k5,0x123(%rax,%r14,8)");
0120     asm volatile("kmovb  %eax,%k5");
0121     asm volatile("kmovb  %ebp,%k5");
0122     asm volatile("kmovb  %r13d,%k5");
0123     asm volatile("kmovb  %k5,%eax");
0124     asm volatile("kmovb  %k5,%ebp");
0125     asm volatile("kmovb  %k5,%r13d");
0126 
0127     asm volatile("kmovd  %k6,%k5");
0128     asm volatile("kmovd  (%rcx),%k5");
0129     asm volatile("kmovd  0x123(%rax,%r14,8),%k5");
0130     asm volatile("kmovd  %k5,(%rcx)");
0131     asm volatile("kmovd  %k5,0x123(%rax,%r14,8)");
0132     asm volatile("kmovd  %eax,%k5");
0133     asm volatile("kmovd  %ebp,%k5");
0134     asm volatile("kmovd  %r13d,%k5");
0135     asm volatile("kmovd  %k5,%eax");
0136     asm volatile("kmovd  %k5,%ebp");
0137     asm volatile("kmovd %k5,%r13d");
0138 
0139     asm volatile("kortestw %k6,%k5");
0140     asm volatile("kortestq %k6,%k5");
0141     asm volatile("kortestb %k6,%k5");
0142     asm volatile("kortestd %k6,%k5");
0143 
0144     asm volatile("ktestw %k6,%k5");
0145     asm volatile("ktestq %k6,%k5");
0146     asm volatile("ktestb %k6,%k5");
0147     asm volatile("ktestd %k6,%k5");
0148 
0149     asm volatile("kshiftrw $0x12,%k6,%k5");
0150     asm volatile("kshiftrq $0x5b,%k6,%k5");
0151     asm volatile("kshiftlw $0x12,%k6,%k5");
0152     asm volatile("kshiftlq $0x5b,%k6,%k5");
0153 
0154     /* AVX-512: Op code 0f 5b */
0155     asm volatile("vcvtdq2ps %xmm5,%xmm6");
0156     asm volatile("vcvtqq2ps %zmm29,%ymm6{%k7}");
0157     asm volatile("vcvtps2dq %xmm5,%xmm6");
0158     asm volatile("vcvttps2dq %xmm5,%xmm6");
0159 
0160     /* AVX-512: Op code 0f 6f */
0161 
0162     asm volatile("movq   %mm0,%mm4");
0163     asm volatile("vmovdqa %ymm4,%ymm6");
0164     asm volatile("vmovdqa32 %zmm25,%zmm26");
0165     asm volatile("vmovdqa64 %zmm25,%zmm26");
0166     asm volatile("vmovdqu %ymm4,%ymm6");
0167     asm volatile("vmovdqu32 %zmm29,%zmm30");
0168     asm volatile("vmovdqu64 %zmm25,%zmm26");
0169     asm volatile("vmovdqu8 %zmm29,%zmm30");
0170     asm volatile("vmovdqu16 %zmm25,%zmm26");
0171 
0172     /* AVX-512: Op code 0f 78 */
0173 
0174     asm volatile("vmread %rax,%rbx");
0175     asm volatile("vcvttps2udq %zmm25,%zmm26");
0176     asm volatile("vcvttpd2udq %zmm29,%ymm6{%k7}");
0177     asm volatile("vcvttsd2usi %xmm6,%rax");
0178     asm volatile("vcvttss2usi %xmm6,%rax");
0179     asm volatile("vcvttps2uqq %ymm5,%zmm26{%k7}");
0180     asm volatile("vcvttpd2uqq %zmm29,%zmm30");
0181 
0182     /* AVX-512: Op code 0f 79 */
0183 
0184     asm volatile("vmwrite %rax,%rbx");
0185     asm volatile("vcvtps2udq %zmm25,%zmm26");
0186     asm volatile("vcvtpd2udq %zmm29,%ymm6{%k7}");
0187     asm volatile("vcvtsd2usi %xmm6,%rax");
0188     asm volatile("vcvtss2usi %xmm6,%rax");
0189     asm volatile("vcvtps2uqq %ymm5,%zmm26{%k7}");
0190     asm volatile("vcvtpd2uqq %zmm29,%zmm30");
0191 
0192     /* AVX-512: Op code 0f 7a */
0193 
0194     asm volatile("vcvtudq2pd %ymm5,%zmm29{%k7}");
0195     asm volatile("vcvtuqq2pd %zmm25,%zmm26");
0196     asm volatile("vcvtudq2ps %zmm29,%zmm30");
0197     asm volatile("vcvtuqq2ps %zmm25,%ymm26{%k7}");
0198     asm volatile("vcvttps2qq %ymm25,%zmm26{%k7}");
0199     asm volatile("vcvttpd2qq %zmm29,%zmm30");
0200 
0201     /* AVX-512: Op code 0f 7b */
0202 
0203     asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");
0204     asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");
0205     asm volatile("vcvtps2qq %ymm5,%zmm26{%k7}");
0206     asm volatile("vcvtpd2qq %zmm29,%zmm30");
0207 
0208     /* AVX-512: Op code 0f 7f */
0209 
0210     asm volatile("movq.s  %mm0,%mm4");
0211     asm volatile("vmovdqa %ymm8,%ymm6");
0212     asm volatile("vmovdqa32.s %zmm25,%zmm26");
0213     asm volatile("vmovdqa64.s %zmm25,%zmm26");
0214     asm volatile("vmovdqu %ymm8,%ymm6");
0215     asm volatile("vmovdqu32.s %zmm25,%zmm26");
0216     asm volatile("vmovdqu64.s %zmm25,%zmm26");
0217     asm volatile("vmovdqu8.s %zmm30,(%rcx)");
0218     asm volatile("vmovdqu16.s %zmm25,%zmm26");
0219 
0220     /* AVX-512: Op code 0f db */
0221 
0222     asm volatile("pand  %mm1,%mm2");
0223     asm volatile("pand  %xmm1,%xmm2");
0224     asm volatile("vpand  %ymm4,%ymm6,%ymm2");
0225     asm volatile("vpandd %zmm24,%zmm25,%zmm26");
0226     asm volatile("vpandq %zmm24,%zmm25,%zmm26");
0227 
0228     /* AVX-512: Op code 0f df */
0229 
0230     asm volatile("pandn  %mm1,%mm2");
0231     asm volatile("pandn  %xmm1,%xmm2");
0232     asm volatile("vpandn %ymm4,%ymm6,%ymm2");
0233     asm volatile("vpandnd %zmm24,%zmm25,%zmm26");
0234     asm volatile("vpandnq %zmm24,%zmm25,%zmm26");
0235 
0236     /* AVX-512: Op code 0f e6 */
0237 
0238     asm volatile("vcvttpd2dq %xmm1,%xmm2");
0239     asm volatile("vcvtdq2pd %xmm5,%xmm6");
0240     asm volatile("vcvtdq2pd %ymm5,%zmm26{%k7}");
0241     asm volatile("vcvtqq2pd %zmm25,%zmm26");
0242     asm volatile("vcvtpd2dq %xmm1,%xmm2");
0243 
0244     /* AVX-512: Op code 0f eb */
0245 
0246     asm volatile("por   %mm4,%mm6");
0247     asm volatile("vpor   %ymm4,%ymm6,%ymm2");
0248     asm volatile("vpord  %zmm24,%zmm25,%zmm26");
0249     asm volatile("vporq  %zmm24,%zmm25,%zmm26");
0250 
0251     /* AVX-512: Op code 0f ef */
0252 
0253     asm volatile("pxor   %mm4,%mm6");
0254     asm volatile("vpxor  %ymm4,%ymm6,%ymm2");
0255     asm volatile("vpxord %zmm24,%zmm25,%zmm26");
0256     asm volatile("vpxorq %zmm24,%zmm25,%zmm26");
0257 
0258     /* AVX-512: Op code 0f 38 10 */
0259 
0260     asm volatile("pblendvb %xmm1,%xmm0");
0261     asm volatile("vpsrlvw %zmm27,%zmm28,%zmm29");
0262     asm volatile("vpmovuswb %zmm28,%ymm6{%k7}");
0263 
0264     /* AVX-512: Op code 0f 38 11 */
0265 
0266     asm volatile("vpmovusdb %zmm28,%xmm6{%k7}");
0267     asm volatile("vpsravw %zmm27,%zmm28,%zmm29");
0268 
0269     /* AVX-512: Op code 0f 38 12 */
0270 
0271     asm volatile("vpmovusqb %zmm27,%xmm6{%k7}");
0272     asm volatile("vpsllvw %zmm27,%zmm28,%zmm29");
0273 
0274     /* AVX-512: Op code 0f 38 13 */
0275 
0276     asm volatile("vcvtph2ps %xmm3,%ymm5");
0277     asm volatile("vcvtph2ps %ymm5,%zmm27{%k7}");
0278     asm volatile("vpmovusdw %zmm27,%ymm6{%k7}");
0279 
0280     /* AVX-512: Op code 0f 38 14 */
0281 
0282     asm volatile("blendvps %xmm1,%xmm0");
0283     asm volatile("vpmovusqw %zmm27,%xmm6{%k7}");
0284     asm volatile("vprorvd %zmm27,%zmm28,%zmm29");
0285     asm volatile("vprorvq %zmm27,%zmm28,%zmm29");
0286 
0287     /* AVX-512: Op code 0f 38 15 */
0288 
0289     asm volatile("blendvpd %xmm1,%xmm0");
0290     asm volatile("vpmovusqd %zmm27,%ymm6{%k7}");
0291     asm volatile("vprolvd %zmm27,%zmm28,%zmm29");
0292     asm volatile("vprolvq %zmm27,%zmm28,%zmm29");
0293 
0294     /* AVX-512: Op code 0f 38 16 */
0295 
0296     asm volatile("vpermps %ymm4,%ymm6,%ymm2");
0297     asm volatile("vpermps %ymm24,%ymm26,%ymm22{%k7}");
0298     asm volatile("vpermpd %ymm24,%ymm26,%ymm22{%k7}");
0299 
0300     /* AVX-512: Op code 0f 38 19 */
0301 
0302     asm volatile("vbroadcastsd %xmm4,%ymm6");
0303     asm volatile("vbroadcastf32x2 %xmm27,%zmm26");
0304 
0305     /* AVX-512: Op code 0f 38 1a */
0306 
0307     asm volatile("vbroadcastf128 (%rcx),%ymm4");
0308     asm volatile("vbroadcastf32x4 (%rcx),%zmm26");
0309     asm volatile("vbroadcastf64x2 (%rcx),%zmm26");
0310 
0311     /* AVX-512: Op code 0f 38 1b */
0312 
0313     asm volatile("vbroadcastf32x8 (%rcx),%zmm27");
0314     asm volatile("vbroadcastf64x4 (%rcx),%zmm26");
0315 
0316     /* AVX-512: Op code 0f 38 1f */
0317 
0318     asm volatile("vpabsq %zmm27,%zmm28");
0319 
0320     /* AVX-512: Op code 0f 38 20 */
0321 
0322     asm volatile("vpmovsxbw %xmm4,%xmm5");
0323     asm volatile("vpmovswb %zmm27,%ymm6{%k7}");
0324 
0325     /* AVX-512: Op code 0f 38 21 */
0326 
0327     asm volatile("vpmovsxbd %xmm4,%ymm6");
0328     asm volatile("vpmovsdb %zmm27,%xmm6{%k7}");
0329 
0330     /* AVX-512: Op code 0f 38 22 */
0331 
0332     asm volatile("vpmovsxbq %xmm4,%ymm4");
0333     asm volatile("vpmovsqb %zmm27,%xmm6{%k7}");
0334 
0335     /* AVX-512: Op code 0f 38 23 */
0336 
0337     asm volatile("vpmovsxwd %xmm4,%ymm4");
0338     asm volatile("vpmovsdw %zmm27,%ymm6{%k7}");
0339 
0340     /* AVX-512: Op code 0f 38 24 */
0341 
0342     asm volatile("vpmovsxwq %xmm4,%ymm6");
0343     asm volatile("vpmovsqw %zmm27,%xmm6{%k7}");
0344 
0345     /* AVX-512: Op code 0f 38 25 */
0346 
0347     asm volatile("vpmovsxdq %xmm4,%ymm4");
0348     asm volatile("vpmovsqd %zmm27,%ymm6{%k7}");
0349 
0350     /* AVX-512: Op code 0f 38 26 */
0351 
0352     asm volatile("vptestmb %zmm27,%zmm28,%k5");
0353     asm volatile("vptestmw %zmm27,%zmm28,%k5");
0354     asm volatile("vptestnmb %zmm26,%zmm27,%k5");
0355     asm volatile("vptestnmw %zmm26,%zmm27,%k5");
0356 
0357     /* AVX-512: Op code 0f 38 27 */
0358 
0359     asm volatile("vptestmd %zmm27,%zmm28,%k5");
0360     asm volatile("vptestmq %zmm27,%zmm28,%k5");
0361     asm volatile("vptestnmd %zmm26,%zmm27,%k5");
0362     asm volatile("vptestnmq %zmm26,%zmm27,%k5");
0363 
0364     /* AVX-512: Op code 0f 38 28 */
0365 
0366     asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");
0367     asm volatile("vpmovm2b %k5,%zmm28");
0368     asm volatile("vpmovm2w %k5,%zmm28");
0369 
0370     /* AVX-512: Op code 0f 38 29 */
0371 
0372     asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");
0373     asm volatile("vpmovb2m %zmm28,%k5");
0374     asm volatile("vpmovw2m %zmm28,%k5");
0375 
0376     /* AVX-512: Op code 0f 38 2a */
0377 
0378     asm volatile("vmovntdqa (%rcx),%ymm4");
0379     asm volatile("vpbroadcastmb2q %k6,%zmm30");
0380 
0381     /* AVX-512: Op code 0f 38 2c */
0382 
0383     asm volatile("vmaskmovps (%rcx),%ymm4,%ymm6");
0384     asm volatile("vscalefps %zmm24,%zmm25,%zmm26");
0385     asm volatile("vscalefpd %zmm24,%zmm25,%zmm26");
0386 
0387     /* AVX-512: Op code 0f 38 2d */
0388 
0389     asm volatile("vmaskmovpd (%rcx),%ymm4,%ymm6");
0390     asm volatile("vscalefss %xmm24,%xmm25,%xmm26{%k7}");
0391     asm volatile("vscalefsd %xmm24,%xmm25,%xmm26{%k7}");
0392 
0393     /* AVX-512: Op code 0f 38 30 */
0394 
0395     asm volatile("vpmovzxbw %xmm4,%ymm4");
0396     asm volatile("vpmovwb %zmm27,%ymm6{%k7}");
0397 
0398     /* AVX-512: Op code 0f 38 31 */
0399 
0400     asm volatile("vpmovzxbd %xmm4,%ymm6");
0401     asm volatile("vpmovdb %zmm27,%xmm6{%k7}");
0402 
0403     /* AVX-512: Op code 0f 38 32 */
0404 
0405     asm volatile("vpmovzxbq %xmm4,%ymm4");
0406     asm volatile("vpmovqb %zmm27,%xmm6{%k7}");
0407 
0408     /* AVX-512: Op code 0f 38 33 */
0409 
0410     asm volatile("vpmovzxwd %xmm4,%ymm4");
0411     asm volatile("vpmovdw %zmm27,%ymm6{%k7}");
0412 
0413     /* AVX-512: Op code 0f 38 34 */
0414 
0415     asm volatile("vpmovzxwq %xmm4,%ymm6");
0416     asm volatile("vpmovqw %zmm27,%xmm6{%k7}");
0417 
0418     /* AVX-512: Op code 0f 38 35 */
0419 
0420     asm volatile("vpmovzxdq %xmm4,%ymm4");
0421     asm volatile("vpmovqd %zmm27,%ymm6{%k7}");
0422 
0423     /* AVX-512: Op code 0f 38 38 */
0424 
0425     asm volatile("vpermd %ymm4,%ymm6,%ymm2");
0426     asm volatile("vpermd %ymm24,%ymm26,%ymm22{%k7}");
0427     asm volatile("vpermq %ymm24,%ymm26,%ymm22{%k7}");
0428 
0429     /* AVX-512: Op code 0f 38 38 */
0430 
0431     asm volatile("vpminsb %ymm4,%ymm6,%ymm2");
0432     asm volatile("vpmovm2d %k5,%zmm28");
0433     asm volatile("vpmovm2q %k5,%zmm28");
0434 
0435     /* AVX-512: Op code 0f 38 39 */
0436 
0437     asm volatile("vpminsd %xmm1,%xmm2,%xmm3");
0438     asm volatile("vpminsd %zmm24,%zmm25,%zmm26");
0439     asm volatile("vpminsq %zmm24,%zmm25,%zmm26");
0440     asm volatile("vpmovd2m %zmm28,%k5");
0441     asm volatile("vpmovq2m %zmm28,%k5");
0442 
0443     /* AVX-512: Op code 0f 38 3a */
0444 
0445     asm volatile("vpminuw %ymm4,%ymm6,%ymm2");
0446     asm volatile("vpbroadcastmw2d %k6,%zmm28");
0447 
0448     /* AVX-512: Op code 0f 38 3b */
0449 
0450     asm volatile("vpminud %ymm4,%ymm6,%ymm2");
0451     asm volatile("vpminud %zmm24,%zmm25,%zmm26");
0452     asm volatile("vpminuq %zmm24,%zmm25,%zmm26");
0453 
0454     /* AVX-512: Op code 0f 38 3d */
0455 
0456     asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");
0457     asm volatile("vpmaxsd %zmm24,%zmm25,%zmm26");
0458     asm volatile("vpmaxsq %zmm24,%zmm25,%zmm26");
0459 
0460     /* AVX-512: Op code 0f 38 3f */
0461 
0462     asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");
0463     asm volatile("vpmaxud %zmm24,%zmm25,%zmm26");
0464     asm volatile("vpmaxuq %zmm24,%zmm25,%zmm26");
0465 
0466     /* AVX-512: Op code 0f 38 42 */
0467 
0468     asm volatile("vpmulld %ymm4,%ymm6,%ymm2");
0469     asm volatile("vpmulld %zmm24,%zmm25,%zmm26");
0470     asm volatile("vpmullq %zmm24,%zmm25,%zmm26");
0471 
0472     /* AVX-512: Op code 0f 38 42 */
0473 
0474     asm volatile("vgetexpps %zmm25,%zmm26");
0475     asm volatile("vgetexppd %zmm27,%zmm28");
0476 
0477     /* AVX-512: Op code 0f 38 43 */
0478 
0479     asm volatile("vgetexpss %xmm24,%xmm25,%xmm26{%k7}");
0480     asm volatile("vgetexpsd %xmm28,%xmm29,%xmm30{%k7}");
0481 
0482     /* AVX-512: Op code 0f 38 44 */
0483 
0484     asm volatile("vplzcntd %zmm27,%zmm28");
0485     asm volatile("vplzcntq %zmm27,%zmm28");
0486 
0487     /* AVX-512: Op code 0f 38 46 */
0488 
0489     asm volatile("vpsravd %ymm4,%ymm6,%ymm2");
0490     asm volatile("vpsravd %zmm24,%zmm25,%zmm26");
0491     asm volatile("vpsravq %zmm24,%zmm25,%zmm26");
0492 
0493     /* AVX-512: Op code 0f 38 4c */
0494 
0495     asm volatile("vrcp14ps %zmm25,%zmm26");
0496     asm volatile("vrcp14pd %zmm27,%zmm28");
0497 
0498     /* AVX-512: Op code 0f 38 4d */
0499 
0500     asm volatile("vrcp14ss %xmm24,%xmm25,%xmm26{%k7}");
0501     asm volatile("vrcp14sd %xmm24,%xmm25,%xmm26{%k7}");
0502 
0503     /* AVX-512: Op code 0f 38 4e */
0504 
0505     asm volatile("vrsqrt14ps %zmm25,%zmm26");
0506     asm volatile("vrsqrt14pd %zmm27,%zmm28");
0507 
0508     /* AVX-512: Op code 0f 38 4f */
0509 
0510     asm volatile("vrsqrt14ss %xmm24,%xmm25,%xmm26{%k7}");
0511     asm volatile("vrsqrt14sd %xmm24,%xmm25,%xmm26{%k7}");
0512 
0513     /* AVX-512: Op code 0f 38 50 */
0514 
0515     asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");
0516     asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");
0517     asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");
0518     asm volatile("vpdpbusd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0519     asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0520 
0521     /* AVX-512: Op code 0f 38 51 */
0522 
0523     asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");
0524     asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");
0525     asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");
0526     asm volatile("vpdpbusds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0527     asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0528 
0529     /* AVX-512: Op code 0f 38 52 */
0530 
0531     asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");
0532     asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");
0533     asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");
0534     asm volatile("vdpbf16ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0535     asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0536 
0537     asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");
0538     asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");
0539     asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");
0540     asm volatile("vpdpwssd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0541     asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0542 
0543     asm volatile("vp4dpwssd (%rax), %zmm0, %zmm4");
0544     asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");
0545     asm volatile("vp4dpwssd 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
0546     asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
0547 
0548     /* AVX-512: Op code 0f 38 53 */
0549 
0550     asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");
0551     asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");
0552     asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");
0553     asm volatile("vpdpwssds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0554     asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0555 
0556     asm volatile("vp4dpwssds (%rax), %zmm0, %zmm4");
0557     asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");
0558     asm volatile("vp4dpwssds 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
0559     asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
0560 
0561     /* AVX-512: Op code 0f 38 54 */
0562 
0563     asm volatile("vpopcntb %xmm1, %xmm2");
0564     asm volatile("vpopcntb %ymm1, %ymm2");
0565     asm volatile("vpopcntb %zmm1, %zmm2");
0566     asm volatile("vpopcntb 0x12345678(%rax,%rcx,8),%zmm2");
0567     asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");
0568 
0569     asm volatile("vpopcntw %xmm1, %xmm2");
0570     asm volatile("vpopcntw %ymm1, %ymm2");
0571     asm volatile("vpopcntw %zmm1, %zmm2");
0572     asm volatile("vpopcntw 0x12345678(%rax,%rcx,8),%zmm2");
0573     asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");
0574 
0575     /* AVX-512: Op code 0f 38 55 */
0576 
0577     asm volatile("vpopcntd %xmm1, %xmm2");
0578     asm volatile("vpopcntd %ymm1, %ymm2");
0579     asm volatile("vpopcntd %zmm1, %zmm2");
0580     asm volatile("vpopcntd 0x12345678(%rax,%rcx,8),%zmm2");
0581     asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");
0582 
0583     asm volatile("vpopcntq %xmm1, %xmm2");
0584     asm volatile("vpopcntq %ymm1, %ymm2");
0585     asm volatile("vpopcntq %zmm1, %zmm2");
0586     asm volatile("vpopcntq 0x12345678(%rax,%rcx,8),%zmm2");
0587     asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");
0588 
0589     /* AVX-512: Op code 0f 38 59 */
0590 
0591     asm volatile("vpbroadcastq %xmm4,%xmm6");
0592     asm volatile("vbroadcasti32x2 %xmm27,%zmm26");
0593 
0594     /* AVX-512: Op code 0f 38 5a */
0595 
0596     asm volatile("vbroadcasti128 (%rcx),%ymm4");
0597     asm volatile("vbroadcasti32x4 (%rcx),%zmm26");
0598     asm volatile("vbroadcasti64x2 (%rcx),%zmm26");
0599 
0600     /* AVX-512: Op code 0f 38 5b */
0601 
0602     asm volatile("vbroadcasti32x8 (%rcx),%zmm28");
0603     asm volatile("vbroadcasti64x4 (%rcx),%zmm26");
0604 
0605     /* AVX-512: Op code 0f 38 62 */
0606 
0607     asm volatile("vpexpandb %xmm1, %xmm2");
0608     asm volatile("vpexpandb %ymm1, %ymm2");
0609     asm volatile("vpexpandb %zmm1, %zmm2");
0610     asm volatile("vpexpandb 0x12345678(%rax,%rcx,8),%zmm2");
0611     asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");
0612 
0613     asm volatile("vpexpandw %xmm1, %xmm2");
0614     asm volatile("vpexpandw %ymm1, %ymm2");
0615     asm volatile("vpexpandw %zmm1, %zmm2");
0616     asm volatile("vpexpandw 0x12345678(%rax,%rcx,8),%zmm2");
0617     asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");
0618 
0619     /* AVX-512: Op code 0f 38 63 */
0620 
0621     asm volatile("vpcompressb %xmm1, %xmm2");
0622     asm volatile("vpcompressb %ymm1, %ymm2");
0623     asm volatile("vpcompressb %zmm1, %zmm2");
0624     asm volatile("vpcompressb %zmm2,0x12345678(%rax,%rcx,8)");
0625     asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");
0626 
0627     asm volatile("vpcompressw %xmm1, %xmm2");
0628     asm volatile("vpcompressw %ymm1, %ymm2");
0629     asm volatile("vpcompressw %zmm1, %zmm2");
0630     asm volatile("vpcompressw %zmm2,0x12345678(%rax,%rcx,8)");
0631     asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");
0632 
0633     /* AVX-512: Op code 0f 38 64 */
0634 
0635     asm volatile("vpblendmd %zmm26,%zmm27,%zmm28");
0636     asm volatile("vpblendmq %zmm26,%zmm27,%zmm28");
0637 
0638     /* AVX-512: Op code 0f 38 65 */
0639 
0640     asm volatile("vblendmps %zmm24,%zmm25,%zmm26");
0641     asm volatile("vblendmpd %zmm26,%zmm27,%zmm28");
0642 
0643     /* AVX-512: Op code 0f 38 66 */
0644 
0645     asm volatile("vpblendmb %zmm26,%zmm27,%zmm28");
0646     asm volatile("vpblendmw %zmm26,%zmm27,%zmm28");
0647 
0648     /* AVX-512: Op code 0f 38 68 */
0649 
0650     asm volatile("vp2intersectd %xmm1, %xmm2, %k3");
0651     asm volatile("vp2intersectd %ymm1, %ymm2, %k3");
0652     asm volatile("vp2intersectd %zmm1, %zmm2, %k3");
0653     asm volatile("vp2intersectd 0x12345678(%rax,%rcx,8),%zmm2,%k3");
0654     asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");
0655 
0656     asm volatile("vp2intersectq %xmm1, %xmm2, %k3");
0657     asm volatile("vp2intersectq %ymm1, %ymm2, %k3");
0658     asm volatile("vp2intersectq %zmm1, %zmm2, %k3");
0659     asm volatile("vp2intersectq 0x12345678(%rax,%rcx,8),%zmm2,%k3");
0660     asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");
0661 
0662     /* AVX-512: Op code 0f 38 70 */
0663 
0664     asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");
0665     asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");
0666     asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");
0667     asm volatile("vpshldvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0668     asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0669 
0670     /* AVX-512: Op code 0f 38 71 */
0671 
0672     asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");
0673     asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");
0674     asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");
0675     asm volatile("vpshldvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0676     asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0677 
0678     asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");
0679     asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");
0680     asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");
0681     asm volatile("vpshldvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0682     asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0683 
0684     /* AVX-512: Op code 0f 38 72 */
0685 
0686     asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");
0687     asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");
0688     asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");
0689     asm volatile("vcvtne2ps2bf16 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0690     asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0691 
0692     asm volatile("vcvtneps2bf16 %xmm1, %xmm2");
0693     asm volatile("vcvtneps2bf16 %ymm1, %xmm2");
0694     asm volatile("vcvtneps2bf16 %zmm1, %ymm2");
0695     asm volatile("vcvtneps2bf16 0x12345678(%rax,%rcx,8),%ymm2");
0696     asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");
0697 
0698     asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");
0699     asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");
0700     asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");
0701     asm volatile("vpshrdvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0702     asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0703 
0704     /* AVX-512: Op code 0f 38 73 */
0705 
0706     asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");
0707     asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");
0708     asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");
0709     asm volatile("vpshrdvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0710     asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0711 
0712     asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");
0713     asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");
0714     asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");
0715     asm volatile("vpshrdvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0716     asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0717 
0718     /* AVX-512: Op code 0f 38 75 */
0719 
0720     asm volatile("vpermi2b %zmm24,%zmm25,%zmm26");
0721     asm volatile("vpermi2w %zmm26,%zmm27,%zmm28");
0722 
0723     /* AVX-512: Op code 0f 38 76 */
0724 
0725     asm volatile("vpermi2d %zmm26,%zmm27,%zmm28");
0726     asm volatile("vpermi2q %zmm26,%zmm27,%zmm28");
0727 
0728     /* AVX-512: Op code 0f 38 77 */
0729 
0730     asm volatile("vpermi2ps %zmm26,%zmm27,%zmm28");
0731     asm volatile("vpermi2pd %zmm26,%zmm27,%zmm28");
0732 
0733     /* AVX-512: Op code 0f 38 7a */
0734 
0735     asm volatile("vpbroadcastb %eax,%xmm30");
0736 
0737     /* AVX-512: Op code 0f 38 7b */
0738 
0739     asm volatile("vpbroadcastw %eax,%xmm30");
0740 
0741     /* AVX-512: Op code 0f 38 7c */
0742 
0743     asm volatile("vpbroadcastd %eax,%xmm30");
0744     asm volatile("vpbroadcastq %rax,%zmm30");
0745 
0746     /* AVX-512: Op code 0f 38 7d */
0747 
0748     asm volatile("vpermt2b %zmm26,%zmm27,%zmm28");
0749     asm volatile("vpermt2w %zmm26,%zmm27,%zmm28");
0750 
0751     /* AVX-512: Op code 0f 38 7e */
0752 
0753     asm volatile("vpermt2d %zmm26,%zmm27,%zmm28");
0754     asm volatile("vpermt2q %zmm26,%zmm27,%zmm28");
0755 
0756     /* AVX-512: Op code 0f 38 7f */
0757 
0758     asm volatile("vpermt2ps %zmm26,%zmm27,%zmm28");
0759     asm volatile("vpermt2pd %zmm26,%zmm27,%zmm28");
0760 
0761     /* AVX-512: Op code 0f 38 83 */
0762 
0763     asm volatile("vpmultishiftqb %zmm26,%zmm27,%zmm28");
0764 
0765     /* AVX-512: Op code 0f 38 88 */
0766 
0767     asm volatile("vexpandps (%rcx),%zmm26");
0768     asm volatile("vexpandpd (%rcx),%zmm28");
0769 
0770     /* AVX-512: Op code 0f 38 89 */
0771 
0772     asm volatile("vpexpandd (%rcx),%zmm28");
0773     asm volatile("vpexpandq (%rcx),%zmm26");
0774 
0775     /* AVX-512: Op code 0f 38 8a */
0776 
0777     asm volatile("vcompressps %zmm28,(%rcx)");
0778     asm volatile("vcompresspd %zmm28,(%rcx)");
0779 
0780     /* AVX-512: Op code 0f 38 8b */
0781 
0782     asm volatile("vpcompressd %zmm28,(%rcx)");
0783     asm volatile("vpcompressq %zmm26,(%rcx)");
0784 
0785     /* AVX-512: Op code 0f 38 8d */
0786 
0787     asm volatile("vpermb %zmm26,%zmm27,%zmm28");
0788     asm volatile("vpermw %zmm26,%zmm27,%zmm28");
0789 
0790     /* AVX-512: Op code 0f 38 8f */
0791 
0792     asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");
0793     asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");
0794     asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");
0795     asm volatile("vpshufbitqmb 0x12345678(%rax,%rcx,8),%zmm2,%k3");
0796     asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");
0797 
0798     /* AVX-512: Op code 0f 38 90 */
0799 
0800     asm volatile("vpgatherdd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
0801     asm volatile("vpgatherdq %xmm2,0x04(%rbp,%xmm7,2),%xmm1");
0802     asm volatile("vpgatherdd 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");
0803     asm volatile("vpgatherdq 0x7b(%rbp,%ymm27,8),%zmm26{%k1}");
0804 
0805     /* AVX-512: Op code 0f 38 91 */
0806 
0807     asm volatile("vpgatherqd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
0808     asm volatile("vpgatherqq %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
0809     asm volatile("vpgatherqd 0x7b(%rbp,%zmm27,8),%ymm26{%k1}");
0810     asm volatile("vpgatherqq 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");
0811 
0812     /* AVX-512: Op code 0f 38 9a */
0813 
0814     asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");
0815     asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");
0816     asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");
0817     asm volatile("vfmsub132ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0818     asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0819 
0820     asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");
0821     asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");
0822     asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");
0823     asm volatile("vfmsub132pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0824     asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0825 
0826     asm volatile("v4fmaddps (%rax), %zmm0, %zmm4");
0827     asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");
0828     asm volatile("v4fmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
0829     asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
0830 
0831     /* AVX-512: Op code 0f 38 9b */
0832 
0833     asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");
0834     asm volatile("vfmsub132ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
0835     asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
0836 
0837     asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");
0838     asm volatile("vfmsub132sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
0839     asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
0840 
0841     asm volatile("v4fmaddss (%rax), %xmm0, %xmm4");
0842     asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");
0843     asm volatile("v4fmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");
0844     asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
0845 
0846     /* AVX-512: Op code 0f 38 a0 */
0847 
0848     asm volatile("vpscatterdd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
0849     asm volatile("vpscatterdq %zmm26,0x7b(%rbp,%ymm27,8){%k1}");
0850 
0851     /* AVX-512: Op code 0f 38 a1 */
0852 
0853     asm volatile("vpscatterqd %ymm6,0x7b(%rbp,%zmm29,8){%k1}");
0854     asm volatile("vpscatterqq %ymm6,0x7b(%rbp,%ymm27,8){%k1}");
0855 
0856     /* AVX-512: Op code 0f 38 a2 */
0857 
0858     asm volatile("vscatterdps %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
0859     asm volatile("vscatterdpd %zmm28,0x7b(%rbp,%ymm27,8){%k1}");
0860 
0861     /* AVX-512: Op code 0f 38 a3 */
0862 
0863     asm volatile("vscatterqps %ymm6,0x7b(%rbp,%zmm29,8){%k1}");
0864     asm volatile("vscatterqpd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
0865 
0866     /* AVX-512: Op code 0f 38 aa */
0867 
0868     asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");
0869     asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");
0870     asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");
0871     asm volatile("vfmsub213ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0872     asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0873 
0874     asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");
0875     asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");
0876     asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");
0877     asm volatile("vfmsub213pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0878     asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0879 
0880     asm volatile("v4fnmaddps (%rax), %zmm0, %zmm4");
0881     asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");
0882     asm volatile("v4fnmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
0883     asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
0884 
0885     /* AVX-512: Op code 0f 38 ab */
0886 
0887     asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");
0888     asm volatile("vfmsub213ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
0889     asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
0890 
0891     asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");
0892     asm volatile("vfmsub213sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
0893     asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
0894 
0895     asm volatile("v4fnmaddss (%rax), %xmm0, %xmm4");
0896     asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");
0897     asm volatile("v4fnmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");
0898     asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
0899 
0900     /* AVX-512: Op code 0f 38 b4 */
0901 
0902     asm volatile("vpmadd52luq %zmm26,%zmm27,%zmm28");
0903 
0904     /* AVX-512: Op code 0f 38 b5 */
0905 
0906     asm volatile("vpmadd52huq %zmm26,%zmm27,%zmm28");
0907 
0908     /* AVX-512: Op code 0f 38 c4 */
0909 
0910     asm volatile("vpconflictd %zmm26,%zmm27");
0911     asm volatile("vpconflictq %zmm26,%zmm27");
0912 
0913     /* AVX-512: Op code 0f 38 c8 */
0914 
0915     asm volatile("vexp2ps %zmm29,%zmm30");
0916     asm volatile("vexp2pd %zmm26,%zmm27");
0917 
0918     /* AVX-512: Op code 0f 38 ca */
0919 
0920     asm volatile("vrcp28ps %zmm29,%zmm30");
0921     asm volatile("vrcp28pd %zmm26,%zmm27");
0922 
0923     /* AVX-512: Op code 0f 38 cb */
0924 
0925     asm volatile("vrcp28ss %xmm28,%xmm29,%xmm30{%k7}");
0926     asm volatile("vrcp28sd %xmm25,%xmm26,%xmm27{%k7}");
0927 
0928     /* AVX-512: Op code 0f 38 cc */
0929 
0930     asm volatile("vrsqrt28ps %zmm29,%zmm30");
0931     asm volatile("vrsqrt28pd %zmm26,%zmm27");
0932 
0933     /* AVX-512: Op code 0f 38 cd */
0934 
0935     asm volatile("vrsqrt28ss %xmm28,%xmm29,%xmm30{%k7}");
0936     asm volatile("vrsqrt28sd %xmm25,%xmm26,%xmm27{%k7}");
0937 
0938     /* AVX-512: Op code 0f 38 cf */
0939 
0940     asm volatile("gf2p8mulb %xmm1, %xmm3");
0941     asm volatile("gf2p8mulb 0x12345678(%rax,%rcx,8),%xmm3");
0942     asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");
0943 
0944     asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");
0945     asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");
0946     asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");
0947     asm volatile("vgf2p8mulb 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0948     asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0949 
0950     /* AVX-512: Op code 0f 38 dc */
0951 
0952     asm volatile("vaesenc %xmm1, %xmm2, %xmm3");
0953     asm volatile("vaesenc %ymm1, %ymm2, %ymm3");
0954     asm volatile("vaesenc %zmm1, %zmm2, %zmm3");
0955     asm volatile("vaesenc 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0956     asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0957 
0958     /* AVX-512: Op code 0f 38 dd */
0959 
0960     asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");
0961     asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");
0962     asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");
0963     asm volatile("vaesenclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0964     asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0965 
0966     /* AVX-512: Op code 0f 38 de */
0967 
0968     asm volatile("vaesdec %xmm1, %xmm2, %xmm3");
0969     asm volatile("vaesdec %ymm1, %ymm2, %ymm3");
0970     asm volatile("vaesdec %zmm1, %zmm2, %zmm3");
0971     asm volatile("vaesdec 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0972     asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0973 
0974     /* AVX-512: Op code 0f 38 df */
0975 
0976     asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");
0977     asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");
0978     asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");
0979     asm volatile("vaesdeclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
0980     asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
0981 
0982     /* AVX-512: Op code 0f 3a 03 */
0983 
0984     asm volatile("valignd $0x12,%zmm28,%zmm29,%zmm30");
0985     asm volatile("valignq $0x12,%zmm25,%zmm26,%zmm27");
0986 
0987     /* AVX-512: Op code 0f 3a 08 */
0988 
0989     asm volatile("vroundps $0x5,%ymm6,%ymm2");
0990     asm volatile("vrndscaleps $0x12,%zmm25,%zmm26");
0991 
0992     /* AVX-512: Op code 0f 3a 09 */
0993 
0994     asm volatile("vroundpd $0x5,%ymm6,%ymm2");
0995     asm volatile("vrndscalepd $0x12,%zmm25,%zmm26");
0996 
0997     /* AVX-512: Op code 0f 3a 1a */
0998 
0999     asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");
1000     asm volatile("vrndscaless $0x12,%xmm24,%xmm25,%xmm26{%k7}");
1001 
1002     /* AVX-512: Op code 0f 3a 0b */
1003 
1004     asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");
1005     asm volatile("vrndscalesd $0x12,%xmm24,%xmm25,%xmm26{%k7}");
1006 
1007     /* AVX-512: Op code 0f 3a 18 */
1008 
1009     asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");
1010     asm volatile("vinsertf32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
1011     asm volatile("vinsertf64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
1012 
1013     /* AVX-512: Op code 0f 3a 19 */
1014 
1015     asm volatile("vextractf128 $0x5,%ymm4,%xmm4");
1016     asm volatile("vextractf32x4 $0x12,%zmm25,%xmm26{%k7}");
1017     asm volatile("vextractf64x2 $0x12,%zmm25,%xmm26{%k7}");
1018 
1019     /* AVX-512: Op code 0f 3a 1a */
1020 
1021     asm volatile("vinsertf32x8 $0x12,%ymm25,%zmm26,%zmm27{%k7}");
1022     asm volatile("vinsertf64x4 $0x12,%ymm28,%zmm29,%zmm30{%k7}");
1023 
1024     /* AVX-512: Op code 0f 3a 1b */
1025 
1026     asm volatile("vextractf32x8 $0x12,%zmm29,%ymm30{%k7}");
1027     asm volatile("vextractf64x4 $0x12,%zmm26,%ymm27{%k7}");
1028 
1029     /* AVX-512: Op code 0f 3a 1e */
1030 
1031     asm volatile("vpcmpud $0x12,%zmm29,%zmm30,%k5");
1032     asm volatile("vpcmpuq $0x12,%zmm26,%zmm27,%k5");
1033 
1034     /* AVX-512: Op code 0f 3a 1f */
1035 
1036     asm volatile("vpcmpd $0x12,%zmm29,%zmm30,%k5");
1037     asm volatile("vpcmpq $0x12,%zmm26,%zmm27,%k5");
1038 
1039     /* AVX-512: Op code 0f 3a 23 */
1040 
1041     asm volatile("vshuff32x4 $0x12,%zmm28,%zmm29,%zmm30");
1042     asm volatile("vshuff64x2 $0x12,%zmm25,%zmm26,%zmm27");
1043 
1044     /* AVX-512: Op code 0f 3a 25 */
1045 
1046     asm volatile("vpternlogd $0x12,%zmm28,%zmm29,%zmm30");
1047     asm volatile("vpternlogq $0x12,%zmm28,%zmm29,%zmm30");
1048 
1049     /* AVX-512: Op code 0f 3a 26 */
1050 
1051     asm volatile("vgetmantps $0x12,%zmm26,%zmm27");
1052     asm volatile("vgetmantpd $0x12,%zmm29,%zmm30");
1053 
1054     /* AVX-512: Op code 0f 3a 27 */
1055 
1056     asm volatile("vgetmantss $0x12,%xmm25,%xmm26,%xmm27{%k7}");
1057     asm volatile("vgetmantsd $0x12,%xmm28,%xmm29,%xmm30{%k7}");
1058 
1059     /* AVX-512: Op code 0f 3a 38 */
1060 
1061     asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");
1062     asm volatile("vinserti32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
1063     asm volatile("vinserti64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
1064 
1065     /* AVX-512: Op code 0f 3a 39 */
1066 
1067     asm volatile("vextracti128 $0x5,%ymm4,%xmm6");
1068     asm volatile("vextracti32x4 $0x12,%zmm25,%xmm26{%k7}");
1069     asm volatile("vextracti64x2 $0x12,%zmm25,%xmm26{%k7}");
1070 
1071     /* AVX-512: Op code 0f 3a 3a */
1072 
1073     asm volatile("vinserti32x8 $0x12,%ymm28,%zmm29,%zmm30{%k7}");
1074     asm volatile("vinserti64x4 $0x12,%ymm25,%zmm26,%zmm27{%k7}");
1075 
1076     /* AVX-512: Op code 0f 3a 3b */
1077 
1078     asm volatile("vextracti32x8 $0x12,%zmm29,%ymm30{%k7}");
1079     asm volatile("vextracti64x4 $0x12,%zmm26,%ymm27{%k7}");
1080 
1081     /* AVX-512: Op code 0f 3a 3e */
1082 
1083     asm volatile("vpcmpub $0x12,%zmm29,%zmm30,%k5");
1084     asm volatile("vpcmpuw $0x12,%zmm26,%zmm27,%k5");
1085 
1086     /* AVX-512: Op code 0f 3a 3f */
1087 
1088     asm volatile("vpcmpb $0x12,%zmm29,%zmm30,%k5");
1089     asm volatile("vpcmpw $0x12,%zmm26,%zmm27,%k5");
1090 
1091     /* AVX-512: Op code 0f 3a 43 */
1092 
1093     asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");
1094     asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");
1095 
1096     /* AVX-512: Op code 0f 3a 43 */
1097 
1098     asm volatile("vshufi32x4 $0x12,%zmm25,%zmm26,%zmm27");
1099     asm volatile("vshufi64x2 $0x12,%zmm28,%zmm29,%zmm30");
1100 
1101     /* AVX-512: Op code 0f 3a 44 */
1102 
1103     asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");
1104     asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");
1105     asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");
1106     asm volatile("vpclmulqdq $0x12,%zmm25,%zmm26,%zmm27");
1107 
1108     /* AVX-512: Op code 0f 3a 50 */
1109 
1110     asm volatile("vrangeps $0x12,%zmm25,%zmm26,%zmm27");
1111     asm volatile("vrangepd $0x12,%zmm28,%zmm29,%zmm30");
1112 
1113     /* AVX-512: Op code 0f 3a 51 */
1114 
1115     asm volatile("vrangess $0x12,%xmm25,%xmm26,%xmm27");
1116     asm volatile("vrangesd $0x12,%xmm28,%xmm29,%xmm30");
1117 
1118     /* AVX-512: Op code 0f 3a 54 */
1119 
1120     asm volatile("vfixupimmps $0x12,%zmm28,%zmm29,%zmm30");
1121     asm volatile("vfixupimmpd $0x12,%zmm25,%zmm26,%zmm27");
1122 
1123     /* AVX-512: Op code 0f 3a 55 */
1124 
1125     asm volatile("vfixupimmss $0x12,%xmm28,%xmm29,%xmm30{%k7}");
1126     asm volatile("vfixupimmsd $0x12,%xmm25,%xmm26,%xmm27{%k7}");
1127 
1128     /* AVX-512: Op code 0f 3a 56 */
1129 
1130     asm volatile("vreduceps $0x12,%zmm26,%zmm27");
1131     asm volatile("vreducepd $0x12,%zmm29,%zmm30");
1132 
1133     /* AVX-512: Op code 0f 3a 57 */
1134 
1135     asm volatile("vreducess $0x12,%xmm25,%xmm26,%xmm27");
1136     asm volatile("vreducesd $0x12,%xmm28,%xmm29,%xmm30");
1137 
1138     /* AVX-512: Op code 0f 3a 66 */
1139 
1140     asm volatile("vfpclassps $0x12,%zmm27,%k5");
1141     asm volatile("vfpclasspd $0x12,%zmm30,%k5");
1142 
1143     /* AVX-512: Op code 0f 3a 67 */
1144 
1145     asm volatile("vfpclassss $0x12,%xmm27,%k5");
1146     asm volatile("vfpclasssd $0x12,%xmm30,%k5");
1147 
1148     /* AVX-512: Op code 0f 3a 70 */
1149 
1150     asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");
1151     asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");
1152     asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");
1153     asm volatile("vpshldw $0x12,%zmm25,%zmm26,%zmm27");
1154 
1155     /* AVX-512: Op code 0f 3a 71 */
1156 
1157     asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");
1158     asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");
1159     asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");
1160     asm volatile("vpshldd $0x12,%zmm25,%zmm26,%zmm27");
1161 
1162     asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");
1163     asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");
1164     asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");
1165     asm volatile("vpshldq $0x12,%zmm25,%zmm26,%zmm27");
1166 
1167     /* AVX-512: Op code 0f 3a 72 */
1168 
1169     asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");
1170     asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");
1171     asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");
1172     asm volatile("vpshrdw $0x12,%zmm25,%zmm26,%zmm27");
1173 
1174     /* AVX-512: Op code 0f 3a 73 */
1175 
1176     asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");
1177     asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");
1178     asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");
1179     asm volatile("vpshrdd $0x12,%zmm25,%zmm26,%zmm27");
1180 
1181     asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");
1182     asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");
1183     asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");
1184     asm volatile("vpshrdq $0x12,%zmm25,%zmm26,%zmm27");
1185 
1186     /* AVX-512: Op code 0f 3a ce */
1187 
1188     asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");
1189 
1190     asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");
1191     asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");
1192     asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");
1193     asm volatile("vgf2p8affineqb $0x12,%zmm25,%zmm26,%zmm27");
1194 
1195     /* AVX-512: Op code 0f 3a cf */
1196 
1197     asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");
1198 
1199     asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");
1200     asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");
1201     asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");
1202     asm volatile("vgf2p8affineinvqb $0x12,%zmm25,%zmm26,%zmm27");
1203 
1204     /* AVX-512: Op code 0f 72 (Grp13) */
1205 
1206     asm volatile("vprord $0x12,%zmm25,%zmm26");
1207     asm volatile("vprorq $0x12,%zmm25,%zmm26");
1208     asm volatile("vprold $0x12,%zmm29,%zmm30");
1209     asm volatile("vprolq $0x12,%zmm29,%zmm30");
1210     asm volatile("psrad  $0x2,%mm6");
1211     asm volatile("vpsrad $0x5,%ymm6,%ymm2");
1212     asm volatile("vpsrad $0x5,%zmm26,%zmm22");
1213     asm volatile("vpsraq $0x5,%zmm26,%zmm22");
1214 
1215     /* AVX-512: Op code 0f 38 c6 (Grp18) */
1216 
1217     asm volatile("vgatherpf0dps 0x7b(%r14,%zmm31,8){%k1}");
1218     asm volatile("vgatherpf0dpd 0x7b(%r14,%ymm31,8){%k1}");
1219     asm volatile("vgatherpf1dps 0x7b(%r14,%zmm31,8){%k1}");
1220     asm volatile("vgatherpf1dpd 0x7b(%r14,%ymm31,8){%k1}");
1221     asm volatile("vscatterpf0dps 0x7b(%r14,%zmm31,8){%k1}");
1222     asm volatile("vscatterpf0dpd 0x7b(%r14,%ymm31,8){%k1}");
1223     asm volatile("vscatterpf1dps 0x7b(%r14,%zmm31,8){%k1}");
1224     asm volatile("vscatterpf1dpd 0x7b(%r14,%ymm31,8){%k1}");
1225 
1226     /* AVX-512: Op code 0f 38 c7 (Grp19) */
1227 
1228     asm volatile("vgatherpf0qps 0x7b(%r14,%zmm31,8){%k1}");
1229     asm volatile("vgatherpf0qpd 0x7b(%r14,%zmm31,8){%k1}");
1230     asm volatile("vgatherpf1qps 0x7b(%r14,%zmm31,8){%k1}");
1231     asm volatile("vgatherpf1qpd 0x7b(%r14,%zmm31,8){%k1}");
1232     asm volatile("vscatterpf0qps 0x7b(%r14,%zmm31,8){%k1}");
1233     asm volatile("vscatterpf0qpd 0x7b(%r14,%zmm31,8){%k1}");
1234     asm volatile("vscatterpf1qps 0x7b(%r14,%zmm31,8){%k1}");
1235     asm volatile("vscatterpf1qpd 0x7b(%r14,%zmm31,8){%k1}");
1236 
1237     /* AVX-512: Examples */
1238 
1239     asm volatile("vaddpd %zmm28,%zmm29,%zmm30");
1240     asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}");
1241     asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}{z}");
1242     asm volatile("vaddpd {rn-sae},%zmm28,%zmm29,%zmm30");
1243     asm volatile("vaddpd {ru-sae},%zmm28,%zmm29,%zmm30");
1244     asm volatile("vaddpd {rd-sae},%zmm28,%zmm29,%zmm30");
1245     asm volatile("vaddpd {rz-sae},%zmm28,%zmm29,%zmm30");
1246     asm volatile("vaddpd (%rcx),%zmm29,%zmm30");
1247     asm volatile("vaddpd 0x123(%rax,%r14,8),%zmm29,%zmm30");
1248     asm volatile("vaddpd (%rcx){1to8},%zmm29,%zmm30");
1249     asm volatile("vaddpd 0x1fc0(%rdx),%zmm29,%zmm30");
1250     asm volatile("vaddpd 0x3f8(%rdx){1to8},%zmm29,%zmm30");
1251     asm volatile("vcmpeq_uqps 0x1fc(%rdx){1to16},%zmm30,%k5");
1252     asm volatile("vcmpltsd 0x123(%rax,%r14,8),%xmm29,%k5{%k7}");
1253     asm volatile("vcmplesd {sae},%xmm28,%xmm29,%k5{%k7}");
1254     asm volatile("vgetmantss $0x5b,0x123(%rax,%r14,8),%xmm29,%xmm30{%k7}");
1255 
1256     /* bndmk m64, bnd */
1257 
1258     asm volatile("bndmk (%rax), %bnd0");
1259     asm volatile("bndmk (%r8), %bnd0");
1260     asm volatile("bndmk (0x12345678), %bnd0");
1261     asm volatile("bndmk (%rax), %bnd3");
1262     asm volatile("bndmk (%rcx,%rax,1), %bnd0");
1263     asm volatile("bndmk 0x12345678(,%rax,1), %bnd0");
1264     asm volatile("bndmk (%rax,%rcx,1), %bnd0");
1265     asm volatile("bndmk (%rax,%rcx,8), %bnd0");
1266     asm volatile("bndmk 0x12(%rax), %bnd0");
1267     asm volatile("bndmk 0x12(%rbp), %bnd0");
1268     asm volatile("bndmk 0x12(%rcx,%rax,1), %bnd0");
1269     asm volatile("bndmk 0x12(%rbp,%rax,1), %bnd0");
1270     asm volatile("bndmk 0x12(%rax,%rcx,1), %bnd0");
1271     asm volatile("bndmk 0x12(%rax,%rcx,8), %bnd0");
1272     asm volatile("bndmk 0x12345678(%rax), %bnd0");
1273     asm volatile("bndmk 0x12345678(%rbp), %bnd0");
1274     asm volatile("bndmk 0x12345678(%rcx,%rax,1), %bnd0");
1275     asm volatile("bndmk 0x12345678(%rbp,%rax,1), %bnd0");
1276     asm volatile("bndmk 0x12345678(%rax,%rcx,1), %bnd0");
1277     asm volatile("bndmk 0x12345678(%rax,%rcx,8), %bnd0");
1278 
1279     /* bndcl r/m64, bnd */
1280 
1281     asm volatile("bndcl (%rax), %bnd0");
1282     asm volatile("bndcl (%r8), %bnd0");
1283     asm volatile("bndcl (0x12345678), %bnd0");
1284     asm volatile("bndcl (%rax), %bnd3");
1285     asm volatile("bndcl (%rcx,%rax,1), %bnd0");
1286     asm volatile("bndcl 0x12345678(,%rax,1), %bnd0");
1287     asm volatile("bndcl (%rax,%rcx,1), %bnd0");
1288     asm volatile("bndcl (%rax,%rcx,8), %bnd0");
1289     asm volatile("bndcl 0x12(%rax), %bnd0");
1290     asm volatile("bndcl 0x12(%rbp), %bnd0");
1291     asm volatile("bndcl 0x12(%rcx,%rax,1), %bnd0");
1292     asm volatile("bndcl 0x12(%rbp,%rax,1), %bnd0");
1293     asm volatile("bndcl 0x12(%rax,%rcx,1), %bnd0");
1294     asm volatile("bndcl 0x12(%rax,%rcx,8), %bnd0");
1295     asm volatile("bndcl 0x12345678(%rax), %bnd0");
1296     asm volatile("bndcl 0x12345678(%rbp), %bnd0");
1297     asm volatile("bndcl 0x12345678(%rcx,%rax,1), %bnd0");
1298     asm volatile("bndcl 0x12345678(%rbp,%rax,1), %bnd0");
1299     asm volatile("bndcl 0x12345678(%rax,%rcx,1), %bnd0");
1300     asm volatile("bndcl 0x12345678(%rax,%rcx,8), %bnd0");
1301     asm volatile("bndcl %rax, %bnd0");
1302 
1303     /* bndcu r/m64, bnd */
1304 
1305     asm volatile("bndcu (%rax), %bnd0");
1306     asm volatile("bndcu (%r8), %bnd0");
1307     asm volatile("bndcu (0x12345678), %bnd0");
1308     asm volatile("bndcu (%rax), %bnd3");
1309     asm volatile("bndcu (%rcx,%rax,1), %bnd0");
1310     asm volatile("bndcu 0x12345678(,%rax,1), %bnd0");
1311     asm volatile("bndcu (%rax,%rcx,1), %bnd0");
1312     asm volatile("bndcu (%rax,%rcx,8), %bnd0");
1313     asm volatile("bndcu 0x12(%rax), %bnd0");
1314     asm volatile("bndcu 0x12(%rbp), %bnd0");
1315     asm volatile("bndcu 0x12(%rcx,%rax,1), %bnd0");
1316     asm volatile("bndcu 0x12(%rbp,%rax,1), %bnd0");
1317     asm volatile("bndcu 0x12(%rax,%rcx,1), %bnd0");
1318     asm volatile("bndcu 0x12(%rax,%rcx,8), %bnd0");
1319     asm volatile("bndcu 0x12345678(%rax), %bnd0");
1320     asm volatile("bndcu 0x12345678(%rbp), %bnd0");
1321     asm volatile("bndcu 0x12345678(%rcx,%rax,1), %bnd0");
1322     asm volatile("bndcu 0x12345678(%rbp,%rax,1), %bnd0");
1323     asm volatile("bndcu 0x12345678(%rax,%rcx,1), %bnd0");
1324     asm volatile("bndcu 0x12345678(%rax,%rcx,8), %bnd0");
1325     asm volatile("bndcu %rax, %bnd0");
1326 
1327     /* bndcn r/m64, bnd */
1328 
1329     asm volatile("bndcn (%rax), %bnd0");
1330     asm volatile("bndcn (%r8), %bnd0");
1331     asm volatile("bndcn (0x12345678), %bnd0");
1332     asm volatile("bndcn (%rax), %bnd3");
1333     asm volatile("bndcn (%rcx,%rax,1), %bnd0");
1334     asm volatile("bndcn 0x12345678(,%rax,1), %bnd0");
1335     asm volatile("bndcn (%rax,%rcx,1), %bnd0");
1336     asm volatile("bndcn (%rax,%rcx,8), %bnd0");
1337     asm volatile("bndcn 0x12(%rax), %bnd0");
1338     asm volatile("bndcn 0x12(%rbp), %bnd0");
1339     asm volatile("bndcn 0x12(%rcx,%rax,1), %bnd0");
1340     asm volatile("bndcn 0x12(%rbp,%rax,1), %bnd0");
1341     asm volatile("bndcn 0x12(%rax,%rcx,1), %bnd0");
1342     asm volatile("bndcn 0x12(%rax,%rcx,8), %bnd0");
1343     asm volatile("bndcn 0x12345678(%rax), %bnd0");
1344     asm volatile("bndcn 0x12345678(%rbp), %bnd0");
1345     asm volatile("bndcn 0x12345678(%rcx,%rax,1), %bnd0");
1346     asm volatile("bndcn 0x12345678(%rbp,%rax,1), %bnd0");
1347     asm volatile("bndcn 0x12345678(%rax,%rcx,1), %bnd0");
1348     asm volatile("bndcn 0x12345678(%rax,%rcx,8), %bnd0");
1349     asm volatile("bndcn %rax, %bnd0");
1350 
1351     /* bndmov m128, bnd */
1352 
1353     asm volatile("bndmov (%rax), %bnd0");
1354     asm volatile("bndmov (%r8), %bnd0");
1355     asm volatile("bndmov (0x12345678), %bnd0");
1356     asm volatile("bndmov (%rax), %bnd3");
1357     asm volatile("bndmov (%rcx,%rax,1), %bnd0");
1358     asm volatile("bndmov 0x12345678(,%rax,1), %bnd0");
1359     asm volatile("bndmov (%rax,%rcx,1), %bnd0");
1360     asm volatile("bndmov (%rax,%rcx,8), %bnd0");
1361     asm volatile("bndmov 0x12(%rax), %bnd0");
1362     asm volatile("bndmov 0x12(%rbp), %bnd0");
1363     asm volatile("bndmov 0x12(%rcx,%rax,1), %bnd0");
1364     asm volatile("bndmov 0x12(%rbp,%rax,1), %bnd0");
1365     asm volatile("bndmov 0x12(%rax,%rcx,1), %bnd0");
1366     asm volatile("bndmov 0x12(%rax,%rcx,8), %bnd0");
1367     asm volatile("bndmov 0x12345678(%rax), %bnd0");
1368     asm volatile("bndmov 0x12345678(%rbp), %bnd0");
1369     asm volatile("bndmov 0x12345678(%rcx,%rax,1), %bnd0");
1370     asm volatile("bndmov 0x12345678(%rbp,%rax,1), %bnd0");
1371     asm volatile("bndmov 0x12345678(%rax,%rcx,1), %bnd0");
1372     asm volatile("bndmov 0x12345678(%rax,%rcx,8), %bnd0");
1373 
1374     /* bndmov bnd, m128 */
1375 
1376     asm volatile("bndmov %bnd0, (%rax)");
1377     asm volatile("bndmov %bnd0, (%r8)");
1378     asm volatile("bndmov %bnd0, (0x12345678)");
1379     asm volatile("bndmov %bnd3, (%rax)");
1380     asm volatile("bndmov %bnd0, (%rcx,%rax,1)");
1381     asm volatile("bndmov %bnd0, 0x12345678(,%rax,1)");
1382     asm volatile("bndmov %bnd0, (%rax,%rcx,1)");
1383     asm volatile("bndmov %bnd0, (%rax,%rcx,8)");
1384     asm volatile("bndmov %bnd0, 0x12(%rax)");
1385     asm volatile("bndmov %bnd0, 0x12(%rbp)");
1386     asm volatile("bndmov %bnd0, 0x12(%rcx,%rax,1)");
1387     asm volatile("bndmov %bnd0, 0x12(%rbp,%rax,1)");
1388     asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,1)");
1389     asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,8)");
1390     asm volatile("bndmov %bnd0, 0x12345678(%rax)");
1391     asm volatile("bndmov %bnd0, 0x12345678(%rbp)");
1392     asm volatile("bndmov %bnd0, 0x12345678(%rcx,%rax,1)");
1393     asm volatile("bndmov %bnd0, 0x12345678(%rbp,%rax,1)");
1394     asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,1)");
1395     asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,8)");
1396 
1397     /* bndmov bnd2, bnd1 */
1398 
1399     asm volatile("bndmov %bnd0, %bnd1");
1400     asm volatile("bndmov %bnd1, %bnd0");
1401 
1402     /* bndldx mib, bnd */
1403 
1404     asm volatile("bndldx (%rax), %bnd0");
1405     asm volatile("bndldx (%r8), %bnd0");
1406     asm volatile("bndldx (0x12345678), %bnd0");
1407     asm volatile("bndldx (%rax), %bnd3");
1408     asm volatile("bndldx (%rcx,%rax,1), %bnd0");
1409     asm volatile("bndldx 0x12345678(,%rax,1), %bnd0");
1410     asm volatile("bndldx (%rax,%rcx,1), %bnd0");
1411     asm volatile("bndldx 0x12(%rax), %bnd0");
1412     asm volatile("bndldx 0x12(%rbp), %bnd0");
1413     asm volatile("bndldx 0x12(%rcx,%rax,1), %bnd0");
1414     asm volatile("bndldx 0x12(%rbp,%rax,1), %bnd0");
1415     asm volatile("bndldx 0x12(%rax,%rcx,1), %bnd0");
1416     asm volatile("bndldx 0x12345678(%rax), %bnd0");
1417     asm volatile("bndldx 0x12345678(%rbp), %bnd0");
1418     asm volatile("bndldx 0x12345678(%rcx,%rax,1), %bnd0");
1419     asm volatile("bndldx 0x12345678(%rbp,%rax,1), %bnd0");
1420     asm volatile("bndldx 0x12345678(%rax,%rcx,1), %bnd0");
1421 
1422     /* bndstx bnd, mib */
1423 
1424     asm volatile("bndstx %bnd0, (%rax)");
1425     asm volatile("bndstx %bnd0, (%r8)");
1426     asm volatile("bndstx %bnd0, (0x12345678)");
1427     asm volatile("bndstx %bnd3, (%rax)");
1428     asm volatile("bndstx %bnd0, (%rcx,%rax,1)");
1429     asm volatile("bndstx %bnd0, 0x12345678(,%rax,1)");
1430     asm volatile("bndstx %bnd0, (%rax,%rcx,1)");
1431     asm volatile("bndstx %bnd0, 0x12(%rax)");
1432     asm volatile("bndstx %bnd0, 0x12(%rbp)");
1433     asm volatile("bndstx %bnd0, 0x12(%rcx,%rax,1)");
1434     asm volatile("bndstx %bnd0, 0x12(%rbp,%rax,1)");
1435     asm volatile("bndstx %bnd0, 0x12(%rax,%rcx,1)");
1436     asm volatile("bndstx %bnd0, 0x12345678(%rax)");
1437     asm volatile("bndstx %bnd0, 0x12345678(%rbp)");
1438     asm volatile("bndstx %bnd0, 0x12345678(%rcx,%rax,1)");
1439     asm volatile("bndstx %bnd0, 0x12345678(%rbp,%rax,1)");
1440     asm volatile("bndstx %bnd0, 0x12345678(%rax,%rcx,1)");
1441 
1442     /* bnd prefix on call, ret, jmp and all jcc */
1443 
1444     asm volatile("bnd call label1");  /* Expecting: call unconditional 0 */
1445     asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */
1446     asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */
1447     asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0 */
1448     asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0 */
1449     asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */
1450     asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0 */
1451 
1452     /* sha1rnds4 imm8, xmm2/m128, xmm1 */
1453 
1454     asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");
1455     asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");
1456     asm volatile("sha1rnds4 $0x91, %xmm8, %xmm0");
1457     asm volatile("sha1rnds4 $0x91, %xmm7, %xmm8");
1458     asm volatile("sha1rnds4 $0x91, %xmm15, %xmm8");
1459     asm volatile("sha1rnds4 $0x91, (%rax), %xmm0");
1460     asm volatile("sha1rnds4 $0x91, (%r8), %xmm0");
1461     asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");
1462     asm volatile("sha1rnds4 $0x91, (%rax), %xmm3");
1463     asm volatile("sha1rnds4 $0x91, (%rcx,%rax,1), %xmm0");
1464     asm volatile("sha1rnds4 $0x91, 0x12345678(,%rax,1), %xmm0");
1465     asm volatile("sha1rnds4 $0x91, (%rax,%rcx,1), %xmm0");
1466     asm volatile("sha1rnds4 $0x91, (%rax,%rcx,8), %xmm0");
1467     asm volatile("sha1rnds4 $0x91, 0x12(%rax), %xmm0");
1468     asm volatile("sha1rnds4 $0x91, 0x12(%rbp), %xmm0");
1469     asm volatile("sha1rnds4 $0x91, 0x12(%rcx,%rax,1), %xmm0");
1470     asm volatile("sha1rnds4 $0x91, 0x12(%rbp,%rax,1), %xmm0");
1471     asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,1), %xmm0");
1472     asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,8), %xmm0");
1473     asm volatile("sha1rnds4 $0x91, 0x12345678(%rax), %xmm0");
1474     asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp), %xmm0");
1475     asm volatile("sha1rnds4 $0x91, 0x12345678(%rcx,%rax,1), %xmm0");
1476     asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp,%rax,1), %xmm0");
1477     asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,1), %xmm0");
1478     asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm0");
1479     asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm15");
1480 
1481     /* sha1nexte xmm2/m128, xmm1 */
1482 
1483     asm volatile("sha1nexte %xmm1, %xmm0");
1484     asm volatile("sha1nexte %xmm7, %xmm2");
1485     asm volatile("sha1nexte %xmm8, %xmm0");
1486     asm volatile("sha1nexte %xmm7, %xmm8");
1487     asm volatile("sha1nexte %xmm15, %xmm8");
1488     asm volatile("sha1nexte (%rax), %xmm0");
1489     asm volatile("sha1nexte (%r8), %xmm0");
1490     asm volatile("sha1nexte (0x12345678), %xmm0");
1491     asm volatile("sha1nexte (%rax), %xmm3");
1492     asm volatile("sha1nexte (%rcx,%rax,1), %xmm0");
1493     asm volatile("sha1nexte 0x12345678(,%rax,1), %xmm0");
1494     asm volatile("sha1nexte (%rax,%rcx,1), %xmm0");
1495     asm volatile("sha1nexte (%rax,%rcx,8), %xmm0");
1496     asm volatile("sha1nexte 0x12(%rax), %xmm0");
1497     asm volatile("sha1nexte 0x12(%rbp), %xmm0");
1498     asm volatile("sha1nexte 0x12(%rcx,%rax,1), %xmm0");
1499     asm volatile("sha1nexte 0x12(%rbp,%rax,1), %xmm0");
1500     asm volatile("sha1nexte 0x12(%rax,%rcx,1), %xmm0");
1501     asm volatile("sha1nexte 0x12(%rax,%rcx,8), %xmm0");
1502     asm volatile("sha1nexte 0x12345678(%rax), %xmm0");
1503     asm volatile("sha1nexte 0x12345678(%rbp), %xmm0");
1504     asm volatile("sha1nexte 0x12345678(%rcx,%rax,1), %xmm0");
1505     asm volatile("sha1nexte 0x12345678(%rbp,%rax,1), %xmm0");
1506     asm volatile("sha1nexte 0x12345678(%rax,%rcx,1), %xmm0");
1507     asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm0");
1508     asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm15");
1509 
1510     /* sha1msg1 xmm2/m128, xmm1 */
1511 
1512     asm volatile("sha1msg1 %xmm1, %xmm0");
1513     asm volatile("sha1msg1 %xmm7, %xmm2");
1514     asm volatile("sha1msg1 %xmm8, %xmm0");
1515     asm volatile("sha1msg1 %xmm7, %xmm8");
1516     asm volatile("sha1msg1 %xmm15, %xmm8");
1517     asm volatile("sha1msg1 (%rax), %xmm0");
1518     asm volatile("sha1msg1 (%r8), %xmm0");
1519     asm volatile("sha1msg1 (0x12345678), %xmm0");
1520     asm volatile("sha1msg1 (%rax), %xmm3");
1521     asm volatile("sha1msg1 (%rcx,%rax,1), %xmm0");
1522     asm volatile("sha1msg1 0x12345678(,%rax,1), %xmm0");
1523     asm volatile("sha1msg1 (%rax,%rcx,1), %xmm0");
1524     asm volatile("sha1msg1 (%rax,%rcx,8), %xmm0");
1525     asm volatile("sha1msg1 0x12(%rax), %xmm0");
1526     asm volatile("sha1msg1 0x12(%rbp), %xmm0");
1527     asm volatile("sha1msg1 0x12(%rcx,%rax,1), %xmm0");
1528     asm volatile("sha1msg1 0x12(%rbp,%rax,1), %xmm0");
1529     asm volatile("sha1msg1 0x12(%rax,%rcx,1), %xmm0");
1530     asm volatile("sha1msg1 0x12(%rax,%rcx,8), %xmm0");
1531     asm volatile("sha1msg1 0x12345678(%rax), %xmm0");
1532     asm volatile("sha1msg1 0x12345678(%rbp), %xmm0");
1533     asm volatile("sha1msg1 0x12345678(%rcx,%rax,1), %xmm0");
1534     asm volatile("sha1msg1 0x12345678(%rbp,%rax,1), %xmm0");
1535     asm volatile("sha1msg1 0x12345678(%rax,%rcx,1), %xmm0");
1536     asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm0");
1537     asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm15");
1538 
1539     /* sha1msg2 xmm2/m128, xmm1 */
1540 
1541     asm volatile("sha1msg2 %xmm1, %xmm0");
1542     asm volatile("sha1msg2 %xmm7, %xmm2");
1543     asm volatile("sha1msg2 %xmm8, %xmm0");
1544     asm volatile("sha1msg2 %xmm7, %xmm8");
1545     asm volatile("sha1msg2 %xmm15, %xmm8");
1546     asm volatile("sha1msg2 (%rax), %xmm0");
1547     asm volatile("sha1msg2 (%r8), %xmm0");
1548     asm volatile("sha1msg2 (0x12345678), %xmm0");
1549     asm volatile("sha1msg2 (%rax), %xmm3");
1550     asm volatile("sha1msg2 (%rcx,%rax,1), %xmm0");
1551     asm volatile("sha1msg2 0x12345678(,%rax,1), %xmm0");
1552     asm volatile("sha1msg2 (%rax,%rcx,1), %xmm0");
1553     asm volatile("sha1msg2 (%rax,%rcx,8), %xmm0");
1554     asm volatile("sha1msg2 0x12(%rax), %xmm0");
1555     asm volatile("sha1msg2 0x12(%rbp), %xmm0");
1556     asm volatile("sha1msg2 0x12(%rcx,%rax,1), %xmm0");
1557     asm volatile("sha1msg2 0x12(%rbp,%rax,1), %xmm0");
1558     asm volatile("sha1msg2 0x12(%rax,%rcx,1), %xmm0");
1559     asm volatile("sha1msg2 0x12(%rax,%rcx,8), %xmm0");
1560     asm volatile("sha1msg2 0x12345678(%rax), %xmm0");
1561     asm volatile("sha1msg2 0x12345678(%rbp), %xmm0");
1562     asm volatile("sha1msg2 0x12345678(%rcx,%rax,1), %xmm0");
1563     asm volatile("sha1msg2 0x12345678(%rbp,%rax,1), %xmm0");
1564     asm volatile("sha1msg2 0x12345678(%rax,%rcx,1), %xmm0");
1565     asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm0");
1566     asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm15");
1567 
1568     /* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */
1569     /* Note sha256rnds2 has an implicit operand 'xmm0' */
1570 
1571     asm volatile("sha256rnds2 %xmm4, %xmm1");
1572     asm volatile("sha256rnds2 %xmm7, %xmm2");
1573     asm volatile("sha256rnds2 %xmm8, %xmm1");
1574     asm volatile("sha256rnds2 %xmm7, %xmm8");
1575     asm volatile("sha256rnds2 %xmm15, %xmm8");
1576     asm volatile("sha256rnds2 (%rax), %xmm1");
1577     asm volatile("sha256rnds2 (%r8), %xmm1");
1578     asm volatile("sha256rnds2 (0x12345678), %xmm1");
1579     asm volatile("sha256rnds2 (%rax), %xmm3");
1580     asm volatile("sha256rnds2 (%rcx,%rax,1), %xmm1");
1581     asm volatile("sha256rnds2 0x12345678(,%rax,1), %xmm1");
1582     asm volatile("sha256rnds2 (%rax,%rcx,1), %xmm1");
1583     asm volatile("sha256rnds2 (%rax,%rcx,8), %xmm1");
1584     asm volatile("sha256rnds2 0x12(%rax), %xmm1");
1585     asm volatile("sha256rnds2 0x12(%rbp), %xmm1");
1586     asm volatile("sha256rnds2 0x12(%rcx,%rax,1), %xmm1");
1587     asm volatile("sha256rnds2 0x12(%rbp,%rax,1), %xmm1");
1588     asm volatile("sha256rnds2 0x12(%rax,%rcx,1), %xmm1");
1589     asm volatile("sha256rnds2 0x12(%rax,%rcx,8), %xmm1");
1590     asm volatile("sha256rnds2 0x12345678(%rax), %xmm1");
1591     asm volatile("sha256rnds2 0x12345678(%rbp), %xmm1");
1592     asm volatile("sha256rnds2 0x12345678(%rcx,%rax,1), %xmm1");
1593     asm volatile("sha256rnds2 0x12345678(%rbp,%rax,1), %xmm1");
1594     asm volatile("sha256rnds2 0x12345678(%rax,%rcx,1), %xmm1");
1595     asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm1");
1596     asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm15");
1597 
1598     /* sha256msg1 xmm2/m128, xmm1 */
1599 
1600     asm volatile("sha256msg1 %xmm1, %xmm0");
1601     asm volatile("sha256msg1 %xmm7, %xmm2");
1602     asm volatile("sha256msg1 %xmm8, %xmm0");
1603     asm volatile("sha256msg1 %xmm7, %xmm8");
1604     asm volatile("sha256msg1 %xmm15, %xmm8");
1605     asm volatile("sha256msg1 (%rax), %xmm0");
1606     asm volatile("sha256msg1 (%r8), %xmm0");
1607     asm volatile("sha256msg1 (0x12345678), %xmm0");
1608     asm volatile("sha256msg1 (%rax), %xmm3");
1609     asm volatile("sha256msg1 (%rcx,%rax,1), %xmm0");
1610     asm volatile("sha256msg1 0x12345678(,%rax,1), %xmm0");
1611     asm volatile("sha256msg1 (%rax,%rcx,1), %xmm0");
1612     asm volatile("sha256msg1 (%rax,%rcx,8), %xmm0");
1613     asm volatile("sha256msg1 0x12(%rax), %xmm0");
1614     asm volatile("sha256msg1 0x12(%rbp), %xmm0");
1615     asm volatile("sha256msg1 0x12(%rcx,%rax,1), %xmm0");
1616     asm volatile("sha256msg1 0x12(%rbp,%rax,1), %xmm0");
1617     asm volatile("sha256msg1 0x12(%rax,%rcx,1), %xmm0");
1618     asm volatile("sha256msg1 0x12(%rax,%rcx,8), %xmm0");
1619     asm volatile("sha256msg1 0x12345678(%rax), %xmm0");
1620     asm volatile("sha256msg1 0x12345678(%rbp), %xmm0");
1621     asm volatile("sha256msg1 0x12345678(%rcx,%rax,1), %xmm0");
1622     asm volatile("sha256msg1 0x12345678(%rbp,%rax,1), %xmm0");
1623     asm volatile("sha256msg1 0x12345678(%rax,%rcx,1), %xmm0");
1624     asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm0");
1625     asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm15");
1626 
1627     /* sha256msg2 xmm2/m128, xmm1 */
1628 
1629     asm volatile("sha256msg2 %xmm1, %xmm0");
1630     asm volatile("sha256msg2 %xmm7, %xmm2");
1631     asm volatile("sha256msg2 %xmm8, %xmm0");
1632     asm volatile("sha256msg2 %xmm7, %xmm8");
1633     asm volatile("sha256msg2 %xmm15, %xmm8");
1634     asm volatile("sha256msg2 (%rax), %xmm0");
1635     asm volatile("sha256msg2 (%r8), %xmm0");
1636     asm volatile("sha256msg2 (0x12345678), %xmm0");
1637     asm volatile("sha256msg2 (%rax), %xmm3");
1638     asm volatile("sha256msg2 (%rcx,%rax,1), %xmm0");
1639     asm volatile("sha256msg2 0x12345678(,%rax,1), %xmm0");
1640     asm volatile("sha256msg2 (%rax,%rcx,1), %xmm0");
1641     asm volatile("sha256msg2 (%rax,%rcx,8), %xmm0");
1642     asm volatile("sha256msg2 0x12(%rax), %xmm0");
1643     asm volatile("sha256msg2 0x12(%rbp), %xmm0");
1644     asm volatile("sha256msg2 0x12(%rcx,%rax,1), %xmm0");
1645     asm volatile("sha256msg2 0x12(%rbp,%rax,1), %xmm0");
1646     asm volatile("sha256msg2 0x12(%rax,%rcx,1), %xmm0");
1647     asm volatile("sha256msg2 0x12(%rax,%rcx,8), %xmm0");
1648     asm volatile("sha256msg2 0x12345678(%rax), %xmm0");
1649     asm volatile("sha256msg2 0x12345678(%rbp), %xmm0");
1650     asm volatile("sha256msg2 0x12345678(%rcx,%rax,1), %xmm0");
1651     asm volatile("sha256msg2 0x12345678(%rbp,%rax,1), %xmm0");
1652     asm volatile("sha256msg2 0x12345678(%rax,%rcx,1), %xmm0");
1653     asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm0");
1654     asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm15");
1655 
1656     /* clflushopt m8 */
1657 
1658     asm volatile("clflushopt (%rax)");
1659     asm volatile("clflushopt (%r8)");
1660     asm volatile("clflushopt (0x12345678)");
1661     asm volatile("clflushopt 0x12345678(%rax,%rcx,8)");
1662     asm volatile("clflushopt 0x12345678(%r8,%rcx,8)");
1663     /* Also check instructions in the same group encoding as clflushopt */
1664     asm volatile("clflush (%rax)");
1665     asm volatile("clflush (%r8)");
1666     asm volatile("sfence");
1667 
1668     /* clwb m8 */
1669 
1670     asm volatile("clwb (%rax)");
1671     asm volatile("clwb (%r8)");
1672     asm volatile("clwb (0x12345678)");
1673     asm volatile("clwb 0x12345678(%rax,%rcx,8)");
1674     asm volatile("clwb 0x12345678(%r8,%rcx,8)");
1675     /* Also check instructions in the same group encoding as clwb */
1676     asm volatile("xsaveopt (%rax)");
1677     asm volatile("xsaveopt (%r8)");
1678     asm volatile("mfence");
1679 
1680     /* cldemote m8 */
1681 
1682     asm volatile("cldemote (%rax)");
1683     asm volatile("cldemote (%r8)");
1684     asm volatile("cldemote (0x12345678)");
1685     asm volatile("cldemote 0x12345678(%rax,%rcx,8)");
1686     asm volatile("cldemote 0x12345678(%r8,%rcx,8)");
1687 
1688     /* xsavec mem */
1689 
1690     asm volatile("xsavec (%rax)");
1691     asm volatile("xsavec (%r8)");
1692     asm volatile("xsavec (0x12345678)");
1693     asm volatile("xsavec 0x12345678(%rax,%rcx,8)");
1694     asm volatile("xsavec 0x12345678(%r8,%rcx,8)");
1695 
1696     /* xsaves mem */
1697 
1698     asm volatile("xsaves (%rax)");
1699     asm volatile("xsaves (%r8)");
1700     asm volatile("xsaves (0x12345678)");
1701     asm volatile("xsaves 0x12345678(%rax,%rcx,8)");
1702     asm volatile("xsaves 0x12345678(%r8,%rcx,8)");
1703 
1704     /* xrstors mem */
1705 
1706     asm volatile("xrstors (%rax)");
1707     asm volatile("xrstors (%r8)");
1708     asm volatile("xrstors (0x12345678)");
1709     asm volatile("xrstors 0x12345678(%rax,%rcx,8)");
1710     asm volatile("xrstors 0x12345678(%r8,%rcx,8)");
1711 
1712     /* ptwrite */
1713 
1714     asm volatile("ptwrite (%rax)");
1715     asm volatile("ptwrite (%r8)");
1716     asm volatile("ptwrite (0x12345678)");
1717     asm volatile("ptwrite 0x12345678(%rax,%rcx,8)");
1718     asm volatile("ptwrite 0x12345678(%r8,%rcx,8)");
1719 
1720     asm volatile("ptwritel (%rax)");
1721     asm volatile("ptwritel (%r8)");
1722     asm volatile("ptwritel (0x12345678)");
1723     asm volatile("ptwritel 0x12345678(%rax,%rcx,8)");
1724     asm volatile("ptwritel 0x12345678(%r8,%rcx,8)");
1725 
1726     asm volatile("ptwriteq (%rax)");
1727     asm volatile("ptwriteq (%r8)");
1728     asm volatile("ptwriteq (0x12345678)");
1729     asm volatile("ptwriteq 0x12345678(%rax,%rcx,8)");
1730     asm volatile("ptwriteq 0x12345678(%r8,%rcx,8)");
1731 
1732     /* tpause */
1733 
1734     asm volatile("tpause %ebx");
1735     asm volatile("tpause %r8d");
1736 
1737     /* umonitor */
1738 
1739     asm volatile("umonitor %eax");
1740     asm volatile("umonitor %rax");
1741     asm volatile("umonitor %r8d");
1742 
1743     /* umwait */
1744 
1745     asm volatile("umwait %eax");
1746     asm volatile("umwait %r8d");
1747 
1748     /* movdiri */
1749 
1750     asm volatile("movdiri %rax,(%rbx)");
1751     asm volatile("movdiri %rcx,0x12345678(%rax)");
1752 
1753     /* movdir64b */
1754 
1755     asm volatile("movdir64b (%rax),%rbx");
1756     asm volatile("movdir64b 0x12345678(%rax),%rcx");
1757     asm volatile("movdir64b (%eax),%ebx");
1758     asm volatile("movdir64b 0x12345678(%eax),%ecx");
1759 
1760     /* enqcmd */
1761 
1762     asm volatile("enqcmd (%rax),%rbx");
1763     asm volatile("enqcmd 0x12345678(%rax),%rcx");
1764     asm volatile("enqcmd (%eax),%ebx");
1765     asm volatile("enqcmd 0x12345678(%eax),%ecx");
1766 
1767     /* enqcmds */
1768 
1769     asm volatile("enqcmds (%rax),%rbx");
1770     asm volatile("enqcmds 0x12345678(%rax),%rcx");
1771     asm volatile("enqcmds (%eax),%ebx");
1772     asm volatile("enqcmds 0x12345678(%eax),%ecx");
1773 
1774     /* incsspd/q */
1775 
1776     asm volatile("incsspd %eax");
1777     asm volatile("incsspd %r8d");
1778     asm volatile("incsspq %rax");
1779     asm volatile("incsspq %r8");
1780     /* Also check instructions in the same group encoding as incsspd/q */
1781     asm volatile("xrstor (%rax)");
1782     asm volatile("xrstor (%r8)");
1783     asm volatile("xrstor (0x12345678)");
1784     asm volatile("xrstor 0x12345678(%rax,%rcx,8)");
1785     asm volatile("xrstor 0x12345678(%r8,%rcx,8)");
1786     asm volatile("lfence");
1787 
1788     /* rdsspd/q */
1789 
1790     asm volatile("rdsspd %eax");
1791     asm volatile("rdsspd %r8d");
1792     asm volatile("rdsspq %rax");
1793     asm volatile("rdsspq %r8");
1794 
1795     /* saveprevssp */
1796 
1797     asm volatile("saveprevssp");
1798 
1799     /* rstorssp */
1800 
1801     asm volatile("rstorssp (%rax)");
1802     asm volatile("rstorssp (%r8)");
1803     asm volatile("rstorssp (0x12345678)");
1804     asm volatile("rstorssp 0x12345678(%rax,%rcx,8)");
1805     asm volatile("rstorssp 0x12345678(%r8,%rcx,8)");
1806 
1807     /* wrssd/q */
1808 
1809     asm volatile("wrssd %ecx,(%rax)");
1810     asm volatile("wrssd %edx,(%r8)");
1811     asm volatile("wrssd %edx,(0x12345678)");
1812     asm volatile("wrssd %edx,0x12345678(%rax,%rcx,8)");
1813     asm volatile("wrssd %edx,0x12345678(%r8,%rcx,8)");
1814     asm volatile("wrssq %rcx,(%rax)");
1815     asm volatile("wrssq %rdx,(%r8)");
1816     asm volatile("wrssq %rdx,(0x12345678)");
1817     asm volatile("wrssq %rdx,0x12345678(%rax,%rcx,8)");
1818     asm volatile("wrssq %rdx,0x12345678(%r8,%rcx,8)");
1819 
1820     /* wrussd/q */
1821 
1822     asm volatile("wrussd %ecx,(%rax)");
1823     asm volatile("wrussd %edx,(%r8)");
1824     asm volatile("wrussd %edx,(0x12345678)");
1825     asm volatile("wrussd %edx,0x12345678(%rax,%rcx,8)");
1826     asm volatile("wrussd %edx,0x12345678(%r8,%rcx,8)");
1827     asm volatile("wrussq %rcx,(%rax)");
1828     asm volatile("wrussq %rdx,(%r8)");
1829     asm volatile("wrussq %rdx,(0x12345678)");
1830     asm volatile("wrussq %rdx,0x12345678(%rax,%rcx,8)");
1831     asm volatile("wrussq %rdx,0x12345678(%r8,%rcx,8)");
1832 
1833     /* setssbsy */
1834 
1835     asm volatile("setssbsy");
1836     /* Also check instructions in the same group encoding as setssbsy */
1837     asm volatile("rdpkru");
1838     asm volatile("wrpkru");
1839 
1840     /* clrssbsy */
1841 
1842     asm volatile("clrssbsy (%rax)");
1843     asm volatile("clrssbsy (%r8)");
1844     asm volatile("clrssbsy (0x12345678)");
1845     asm volatile("clrssbsy 0x12345678(%rax,%rcx,8)");
1846     asm volatile("clrssbsy 0x12345678(%r8,%rcx,8)");
1847 
1848     /* endbr32/64 */
1849 
1850     asm volatile("endbr32");
1851     asm volatile("endbr64");
1852 
1853     /* call with/without notrack prefix */
1854 
1855     asm volatile("callq *%rax");                /* Expecting: call indirect 0 */
1856     asm volatile("callq *(%rax)");              /* Expecting: call indirect 0 */
1857     asm volatile("callq *(%r8)");               /* Expecting: call indirect 0 */
1858     asm volatile("callq *(0x12345678)");            /* Expecting: call indirect 0 */
1859     asm volatile("callq *0x12345678(%rax,%rcx,8)");     /* Expecting: call indirect 0 */
1860     asm volatile("callq *0x12345678(%r8,%rcx,8)");      /* Expecting: call indirect 0 */
1861 
1862     asm volatile("bnd callq *%rax");            /* Expecting: call indirect 0 */
1863     asm volatile("bnd callq *(%rax)");          /* Expecting: call indirect 0 */
1864     asm volatile("bnd callq *(%r8)");           /* Expecting: call indirect 0 */
1865     asm volatile("bnd callq *(0x12345678)");        /* Expecting: call indirect 0 */
1866     asm volatile("bnd callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */
1867     asm volatile("bnd callq *0x12345678(%r8,%rcx,8)");  /* Expecting: call indirect 0 */
1868 
1869     asm volatile("notrack callq *%rax");            /* Expecting: call indirect 0 */
1870     asm volatile("notrack callq *(%rax)");          /* Expecting: call indirect 0 */
1871     asm volatile("notrack callq *(%r8)");           /* Expecting: call indirect 0 */
1872     asm volatile("notrack callq *(0x12345678)");        /* Expecting: call indirect 0 */
1873     asm volatile("notrack callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */
1874     asm volatile("notrack callq *0x12345678(%r8,%rcx,8)");  /* Expecting: call indirect 0 */
1875 
1876     asm volatile("notrack bnd callq *%rax");        /* Expecting: call indirect 0 */
1877     asm volatile("notrack bnd callq *(%rax)");      /* Expecting: call indirect 0 */
1878     asm volatile("notrack bnd callq *(%r8)");       /* Expecting: call indirect 0 */
1879     asm volatile("notrack bnd callq *(0x12345678)");    /* Expecting: call indirect 0 */
1880     asm volatile("notrack bnd callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */
1881     asm volatile("notrack bnd callq *0x12345678(%r8,%rcx,8)");  /* Expecting: call indirect 0 */
1882 
1883     /* jmp with/without notrack prefix */
1884 
1885     asm volatile("jmpq *%rax");             /* Expecting: jmp indirect 0 */
1886     asm volatile("jmpq *(%rax)");               /* Expecting: jmp indirect 0 */
1887     asm volatile("jmpq *(%r8)");                /* Expecting: jmp indirect 0 */
1888     asm volatile("jmpq *(0x12345678)");         /* Expecting: jmp indirect 0 */
1889     asm volatile("jmpq *0x12345678(%rax,%rcx,8)");      /* Expecting: jmp indirect 0 */
1890     asm volatile("jmpq *0x12345678(%r8,%rcx,8)");       /* Expecting: jmp indirect 0 */
1891 
1892     asm volatile("bnd jmpq *%rax");             /* Expecting: jmp indirect 0 */
1893     asm volatile("bnd jmpq *(%rax)");           /* Expecting: jmp indirect 0 */
1894     asm volatile("bnd jmpq *(%r8)");            /* Expecting: jmp indirect 0 */
1895     asm volatile("bnd jmpq *(0x12345678)");         /* Expecting: jmp indirect 0 */
1896     asm volatile("bnd jmpq *0x12345678(%rax,%rcx,8)");  /* Expecting: jmp indirect 0 */
1897     asm volatile("bnd jmpq *0x12345678(%r8,%rcx,8)");   /* Expecting: jmp indirect 0 */
1898 
1899     asm volatile("notrack jmpq *%rax");         /* Expecting: jmp indirect 0 */
1900     asm volatile("notrack jmpq *(%rax)");           /* Expecting: jmp indirect 0 */
1901     asm volatile("notrack jmpq *(%r8)");            /* Expecting: jmp indirect 0 */
1902     asm volatile("notrack jmpq *(0x12345678)");     /* Expecting: jmp indirect 0 */
1903     asm volatile("notrack jmpq *0x12345678(%rax,%rcx,8)");  /* Expecting: jmp indirect 0 */
1904     asm volatile("notrack jmpq *0x12345678(%r8,%rcx,8)");   /* Expecting: jmp indirect 0 */
1905 
1906     asm volatile("notrack bnd jmpq *%rax");         /* Expecting: jmp indirect 0 */
1907     asm volatile("notrack bnd jmpq *(%rax)");       /* Expecting: jmp indirect 0 */
1908     asm volatile("notrack bnd jmpq *(%r8)");        /* Expecting: jmp indirect 0 */
1909     asm volatile("notrack bnd jmpq *(0x12345678)");     /* Expecting: jmp indirect 0 */
1910     asm volatile("notrack bnd jmpq *0x12345678(%rax,%rcx,8)");  /* Expecting: jmp indirect 0 */
1911     asm volatile("notrack bnd jmpq *0x12345678(%r8,%rcx,8)");   /* Expecting: jmp indirect 0 */
1912 
1913     /* AMX */
1914 
1915     asm volatile("ldtilecfg (%rax,%rcx,8)");
1916     asm volatile("ldtilecfg (%r8,%rcx,8)");
1917     asm volatile("sttilecfg (%rax,%rcx,8)");
1918     asm volatile("sttilecfg (%r8,%rcx,8)");
1919     asm volatile("tdpbf16ps %tmm0, %tmm1, %tmm2");
1920     asm volatile("tdpbssd %tmm0, %tmm1, %tmm2");
1921     asm volatile("tdpbsud %tmm0, %tmm1, %tmm2");
1922     asm volatile("tdpbusd %tmm0, %tmm1, %tmm2");
1923     asm volatile("tdpbuud %tmm0, %tmm1, %tmm2");
1924     asm volatile("tileloadd (%rax,%rcx,8), %tmm1");
1925     asm volatile("tileloadd (%r8,%rcx,8), %tmm2");
1926     asm volatile("tileloaddt1 (%rax,%rcx,8), %tmm1");
1927     asm volatile("tileloaddt1 (%r8,%rcx,8), %tmm2");
1928     asm volatile("tilerelease");
1929     asm volatile("tilestored %tmm1, (%rax,%rcx,8)");
1930     asm volatile("tilestored %tmm2, (%r8,%rcx,8)");
1931     asm volatile("tilezero %tmm0");
1932     asm volatile("tilezero %tmm7");
1933 
1934     /* User Interrupt */
1935 
1936     asm volatile("clui");
1937     asm volatile("senduipi %rax");
1938     asm volatile("senduipi %r8");
1939     asm volatile("stui");
1940     asm volatile("testui");
1941     asm volatile("uiret");
1942 
1943     /* AVX512-FP16 */
1944 
1945     asm volatile("vaddph %zmm3, %zmm2, %zmm1");
1946     asm volatile("vaddph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
1947     asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
1948     asm volatile("vaddph %xmm3, %xmm2, %xmm1");
1949     asm volatile("vaddph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
1950     asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
1951     asm volatile("vaddph %ymm3, %ymm2, %ymm1");
1952     asm volatile("vaddph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
1953     asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
1954     asm volatile("vaddsh %xmm3, %xmm2, %xmm1");
1955     asm volatile("vaddsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
1956     asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
1957     asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");
1958     asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %zmm2, %k5");
1959     asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");
1960     asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");
1961     asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");
1962     asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
1963     asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");
1964     asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %ymm2, %k5");
1965     asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");
1966     asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");
1967     asm volatile("vcmpsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");
1968     asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
1969     asm volatile("vcomish %xmm2, %xmm1");
1970     asm volatile("vcomish 0x12345678(%rax,%rcx,8), %xmm1");
1971     asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");
1972     asm volatile("vcvtdq2ph %zmm2, %ymm1");
1973     asm volatile("vcvtdq2ph 0x12345678(%rax,%rcx,8), %ymm1");
1974     asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");
1975     asm volatile("vcvtdq2ph %xmm2, %xmm1");
1976     asm volatile("vcvtdq2ph %ymm2, %xmm1");
1977     asm volatile("vcvtpd2ph %zmm2, %xmm1");
1978     asm volatile("vcvtpd2ph %xmm2, %xmm1");
1979     asm volatile("vcvtpd2ph %ymm2, %xmm1");
1980     asm volatile("vcvtph2dq %ymm2, %zmm1");
1981     asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %zmm1");
1982     asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");
1983     asm volatile("vcvtph2dq %xmm2, %xmm1");
1984     asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %xmm1");
1985     asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");
1986     asm volatile("vcvtph2dq %xmm2, %ymm1");
1987     asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %ymm1");
1988     asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");
1989     asm volatile("vcvtph2pd %xmm2, %zmm1");
1990     asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %zmm1");
1991     asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");
1992     asm volatile("vcvtph2pd %xmm2, %xmm1");
1993     asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %xmm1");
1994     asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");
1995     asm volatile("vcvtph2pd %xmm2, %ymm1");
1996     asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %ymm1");
1997     asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");
1998     asm volatile("vcvtph2ps %ymm2, %zmm1");
1999     asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %zmm1");
2000     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");
2001     asm volatile("vcvtph2ps %xmm2, %xmm1");
2002     asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");
2003     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
2004     asm volatile("vcvtph2ps %xmm2, %ymm1");
2005     asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");
2006     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
2007     asm volatile("vcvtph2ps %xmm2, %xmm1");
2008     asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");
2009     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
2010     asm volatile("vcvtph2ps %xmm2, %ymm1");
2011     asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");
2012     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
2013     asm volatile("vcvtph2psx %ymm2, %zmm1");
2014     asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %zmm1");
2015     asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");
2016     asm volatile("vcvtph2psx %xmm2, %xmm1");
2017     asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %xmm1");
2018     asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");
2019     asm volatile("vcvtph2psx %xmm2, %ymm1");
2020     asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %ymm1");
2021     asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");
2022     asm volatile("vcvtph2qq %xmm2, %zmm1");
2023     asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %zmm1");
2024     asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");
2025     asm volatile("vcvtph2qq %xmm2, %xmm1");
2026     asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %xmm1");
2027     asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");
2028     asm volatile("vcvtph2qq %xmm2, %ymm1");
2029     asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %ymm1");
2030     asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");
2031     asm volatile("vcvtph2udq %ymm2, %zmm1");
2032     asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %zmm1");
2033     asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");
2034     asm volatile("vcvtph2udq %xmm2, %xmm1");
2035     asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %xmm1");
2036     asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");
2037     asm volatile("vcvtph2udq %xmm2, %ymm1");
2038     asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %ymm1");
2039     asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");
2040     asm volatile("vcvtph2uqq %xmm2, %zmm1");
2041     asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %zmm1");
2042     asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
2043     asm volatile("vcvtph2uqq %xmm2, %xmm1");
2044     asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %xmm1");
2045     asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
2046     asm volatile("vcvtph2uqq %xmm2, %ymm1");
2047     asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %ymm1");
2048     asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
2049     asm volatile("vcvtph2uw %zmm2, %zmm1");
2050     asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %zmm1");
2051     asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");
2052     asm volatile("vcvtph2uw %xmm2, %xmm1");
2053     asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %xmm1");
2054     asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");
2055     asm volatile("vcvtph2uw %ymm2, %ymm1");
2056     asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %ymm1");
2057     asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");
2058     asm volatile("vcvtph2w %zmm2, %zmm1");
2059     asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %zmm1");
2060     asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");
2061     asm volatile("vcvtph2w %xmm2, %xmm1");
2062     asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %xmm1");
2063     asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");
2064     asm volatile("vcvtph2w %ymm2, %ymm1");
2065     asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %ymm1");
2066     asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");
2067     asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%rax,%rcx,8)");
2068     asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");
2069     asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");
2070     asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%rax,%rcx,8)");
2071     asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");
2072     asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%rax,%rcx,8)");
2073     asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");
2074     asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
2075     asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
2076     asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
2077     asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%rax,%rcx,8)");
2078     asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");
2079     asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
2080     asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%rax,%rcx,8)");
2081     asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");
2082     asm volatile("vcvtps2phx %zmm2, %ymm1");
2083     asm volatile("vcvtps2phx 0x12345678(%rax,%rcx,8), %ymm1");
2084     asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");
2085     asm volatile("vcvtps2phx %xmm2, %xmm1");
2086     asm volatile("vcvtps2phx %ymm2, %xmm1");
2087     asm volatile("vcvtqq2ph %zmm2, %xmm1");
2088     asm volatile("vcvtqq2ph %xmm2, %xmm1");
2089     asm volatile("vcvtqq2ph %ymm2, %xmm1");
2090     asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2091     asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2092     asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");
2093     asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %rax");
2094     asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2095     asm volatile("vcvtsh2usi %xmm1, %eax");
2096     asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %eax");
2097     asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");
2098     asm volatile("vcvtsh2usi %xmm1, %rax");
2099     asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %rax");
2100     asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %rax");
2101     asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");
2102     asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2103     asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2104     asm volatile("vcvtsi2sh %rax, %xmm2, %xmm1");
2105     asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2106     asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2107     asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");
2108     asm volatile("vcvtss2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2109     asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2110     asm volatile("vcvttph2dq %ymm2, %zmm1");
2111     asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %zmm1");
2112     asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");
2113     asm volatile("vcvttph2dq %xmm2, %xmm1");
2114     asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %xmm1");
2115     asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");
2116     asm volatile("vcvttph2dq %xmm2, %ymm1");
2117     asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %ymm1");
2118     asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");
2119     asm volatile("vcvttph2qq %xmm2, %zmm1");
2120     asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %zmm1");
2121     asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");
2122     asm volatile("vcvttph2qq %xmm2, %xmm1");
2123     asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %xmm1");
2124     asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");
2125     asm volatile("vcvttph2qq %xmm2, %ymm1");
2126     asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %ymm1");
2127     asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");
2128     asm volatile("vcvttph2udq %ymm2, %zmm1");
2129     asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %zmm1");
2130     asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");
2131     asm volatile("vcvttph2udq %xmm2, %xmm1");
2132     asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %xmm1");
2133     asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");
2134     asm volatile("vcvttph2udq %xmm2, %ymm1");
2135     asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %ymm1");
2136     asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");
2137     asm volatile("vcvttph2uqq %xmm2, %zmm1");
2138     asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %zmm1");
2139     asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
2140     asm volatile("vcvttph2uqq %xmm2, %xmm1");
2141     asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %xmm1");
2142     asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
2143     asm volatile("vcvttph2uqq %xmm2, %ymm1");
2144     asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %ymm1");
2145     asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
2146     asm volatile("vcvttph2uw %zmm2, %zmm1");
2147     asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %zmm1");
2148     asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");
2149     asm volatile("vcvttph2uw %xmm2, %xmm1");
2150     asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %xmm1");
2151     asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");
2152     asm volatile("vcvttph2uw %ymm2, %ymm1");
2153     asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %ymm1");
2154     asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");
2155     asm volatile("vcvttph2w %zmm2, %zmm1");
2156     asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %zmm1");
2157     asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");
2158     asm volatile("vcvttph2w %xmm2, %xmm1");
2159     asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %xmm1");
2160     asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");
2161     asm volatile("vcvttph2w %ymm2, %ymm1");
2162     asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %ymm1");
2163     asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");
2164     asm volatile("vcvttsh2si %xmm1, %eax");
2165     asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %eax");
2166     asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");
2167     asm volatile("vcvttsh2si %xmm1, %rax");
2168     asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %rax");
2169     asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %rax");
2170     asm volatile("vcvttsh2usi %xmm1, %eax");
2171     asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %eax");
2172     asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");
2173     asm volatile("vcvttsh2usi %xmm1, %rax");
2174     asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %rax");
2175     asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %rax");
2176     asm volatile("vcvtudq2ph %zmm2, %ymm1");
2177     asm volatile("vcvtudq2ph 0x12345678(%rax,%rcx,8), %ymm1");
2178     asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");
2179     asm volatile("vcvtudq2ph %xmm2, %xmm1");
2180     asm volatile("vcvtudq2ph %ymm2, %xmm1");
2181     asm volatile("vcvtuqq2ph %zmm2, %xmm1");
2182     asm volatile("vcvtuqq2ph %xmm2, %xmm1");
2183     asm volatile("vcvtuqq2ph %ymm2, %xmm1");
2184     asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");
2185     asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2186     asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2187     asm volatile("vcvtusi2sh %rax, %xmm2, %xmm1");
2188     asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2189     asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2190     asm volatile("vcvtuw2ph %zmm2, %zmm1");
2191     asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %zmm1");
2192     asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");
2193     asm volatile("vcvtuw2ph %xmm2, %xmm1");
2194     asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %xmm1");
2195     asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");
2196     asm volatile("vcvtuw2ph %ymm2, %ymm1");
2197     asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %ymm1");
2198     asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");
2199     asm volatile("vcvtw2ph %zmm2, %zmm1");
2200     asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %zmm1");
2201     asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");
2202     asm volatile("vcvtw2ph %xmm2, %xmm1");
2203     asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %xmm1");
2204     asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");
2205     asm volatile("vcvtw2ph %ymm2, %ymm1");
2206     asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %ymm1");
2207     asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");
2208     asm volatile("vdivph %zmm3, %zmm2, %zmm1");
2209     asm volatile("vdivph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2210     asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2211     asm volatile("vdivph %xmm3, %xmm2, %xmm1");
2212     asm volatile("vdivph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2213     asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2214     asm volatile("vdivph %ymm3, %ymm2, %ymm1");
2215     asm volatile("vdivph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2216     asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2217     asm volatile("vdivsh %xmm3, %xmm2, %xmm1");
2218     asm volatile("vdivsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2219     asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2220     asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");
2221     asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2222     asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2223     asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");
2224     asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2225     asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2226     asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");
2227     asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2228     asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2229     asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");
2230     asm volatile("vfcmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2231     asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2232     asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");
2233     asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2234     asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2235     asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");
2236     asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2237     asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2238     asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");
2239     asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2240     asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2241     asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");
2242     asm volatile("vfcmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2243     asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2244     asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");
2245     asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2246     asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2247     asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");
2248     asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2249     asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2250     asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");
2251     asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2252     asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2253     asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");
2254     asm volatile("vfmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2255     asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2256     asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");
2257     asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2258     asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2259     asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");
2260     asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2261     asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2262     asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");
2263     asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2264     asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2265     asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");
2266     asm volatile("vfmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2267     asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2268     asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");
2269     asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2270     asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2271     asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");
2272     asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2273     asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2274     asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");
2275     asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2276     asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2277     asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");
2278     asm volatile("vfmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2279     asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2280     asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");
2281     asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2282     asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2283     asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");
2284     asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2285     asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2286     asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");
2287     asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2288     asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2289     asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");
2290     asm volatile("vfmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2291     asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2292     asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");
2293     asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2294     asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2295     asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");
2296     asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2297     asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2298     asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");
2299     asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2300     asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2301     asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");
2302     asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2303     asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2304     asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");
2305     asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2306     asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2307     asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");
2308     asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2309     asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2310     asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");
2311     asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2312     asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2313     asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");
2314     asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2315     asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2316     asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");
2317     asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2318     asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2319     asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");
2320     asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2321     asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2322     asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");
2323     asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2324     asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2325     asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");
2326     asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2327     asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2328     asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");
2329     asm volatile("vfmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2330     asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2331     asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");
2332     asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2333     asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2334     asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");
2335     asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2336     asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2337     asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");
2338     asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2339     asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2340     asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");
2341     asm volatile("vfmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2342     asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2343     asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");
2344     asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2345     asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2346     asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");
2347     asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2348     asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2349     asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");
2350     asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2351     asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2352     asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");
2353     asm volatile("vfmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2354     asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2355     asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");
2356     asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2357     asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2358     asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");
2359     asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2360     asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2361     asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");
2362     asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2363     asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2364     asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");
2365     asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2366     asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2367     asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");
2368     asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2369     asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2370     asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");
2371     asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2372     asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2373     asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");
2374     asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2375     asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2376     asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");
2377     asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2378     asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2379     asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");
2380     asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2381     asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2382     asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");
2383     asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2384     asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2385     asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");
2386     asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2387     asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2388     asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");
2389     asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2390     asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2391     asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");
2392     asm volatile("vfmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2393     asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2394     asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");
2395     asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2396     asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2397     asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");
2398     asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2399     asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2400     asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");
2401     asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2402     asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2403     asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");
2404     asm volatile("vfnmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2405     asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2406     asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");
2407     asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2408     asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2409     asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");
2410     asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2411     asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2412     asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");
2413     asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2414     asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2415     asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");
2416     asm volatile("vfnmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2417     asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2418     asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");
2419     asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2420     asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2421     asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");
2422     asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2423     asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2424     asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");
2425     asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2426     asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2427     asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");
2428     asm volatile("vfnmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2429     asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2430     asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");
2431     asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2432     asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2433     asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");
2434     asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2435     asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2436     asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");
2437     asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2438     asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2439     asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");
2440     asm volatile("vfnmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2441     asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2442     asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");
2443     asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2444     asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2445     asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");
2446     asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2447     asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2448     asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");
2449     asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2450     asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2451     asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");
2452     asm volatile("vfnmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2453     asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2454     asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");
2455     asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2456     asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2457     asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");
2458     asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2459     asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2460     asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");
2461     asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2462     asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2463     asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");
2464     asm volatile("vfnmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2465     asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2466     asm volatile("vfpclassph $0x12, %zmm1, %k5");
2467     asm volatile("vfpclassph $0x12, %xmm1, %k5");
2468     asm volatile("vfpclassph $0x12, %ymm1, %k5");
2469     asm volatile("vfpclasssh $0x12, %xmm1, %k5");
2470     asm volatile("vfpclasssh $0x12, 0x12345678(%rax,%rcx,8), %k5");
2471     asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");
2472     asm volatile("vgetexpph %zmm2, %zmm1");
2473     asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %zmm1");
2474     asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");
2475     asm volatile("vgetexpph %xmm2, %xmm1");
2476     asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %xmm1");
2477     asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");
2478     asm volatile("vgetexpph %ymm2, %ymm1");
2479     asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %ymm1");
2480     asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");
2481     asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");
2482     asm volatile("vgetexpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2483     asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2484     asm volatile("vgetmantph $0x12, %zmm2, %zmm1");
2485     asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
2486     asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
2487     asm volatile("vgetmantph $0x12, %xmm2, %xmm1");
2488     asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
2489     asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
2490     asm volatile("vgetmantph $0x12, %ymm2, %ymm1");
2491     asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
2492     asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
2493     asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");
2494     asm volatile("vgetmantsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2495     asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2496     asm volatile("vmaxph %zmm3, %zmm2, %zmm1");
2497     asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2498     asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2499     asm volatile("vmaxph %xmm3, %xmm2, %xmm1");
2500     asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2501     asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2502     asm volatile("vmaxph %ymm3, %ymm2, %ymm1");
2503     asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2504     asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2505     asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");
2506     asm volatile("vmaxsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2507     asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2508     asm volatile("vminph %zmm3, %zmm2, %zmm1");
2509     asm volatile("vminph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2510     asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2511     asm volatile("vminph %xmm3, %xmm2, %xmm1");
2512     asm volatile("vminph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2513     asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2514     asm volatile("vminph %ymm3, %ymm2, %ymm1");
2515     asm volatile("vminph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2516     asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2517     asm volatile("vminsh %xmm3, %xmm2, %xmm1");
2518     asm volatile("vminsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2519     asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2520     asm volatile("vmovsh %xmm1, 0x12345678(%rax,%rcx,8)");
2521     asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");
2522     asm volatile("vmovsh 0x12345678(%rax,%rcx,8), %xmm1");
2523     asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");
2524     asm volatile("vmovsh %xmm3, %xmm2, %xmm1");
2525     asm volatile("vmovw %xmm1, %eax");
2526     asm volatile("vmovw %xmm1, 0x12345678(%rax,%rcx,8)");
2527     asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");
2528     asm volatile("vmovw %eax, %xmm1");
2529     asm volatile("vmovw 0x12345678(%rax,%rcx,8), %xmm1");
2530     asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");
2531     asm volatile("vmulph %zmm3, %zmm2, %zmm1");
2532     asm volatile("vmulph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2533     asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2534     asm volatile("vmulph %xmm3, %xmm2, %xmm1");
2535     asm volatile("vmulph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2536     asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2537     asm volatile("vmulph %ymm3, %ymm2, %ymm1");
2538     asm volatile("vmulph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2539     asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2540     asm volatile("vmulsh %xmm3, %xmm2, %xmm1");
2541     asm volatile("vmulsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2542     asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2543     asm volatile("vrcpph %zmm2, %zmm1");
2544     asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %zmm1");
2545     asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");
2546     asm volatile("vrcpph %xmm2, %xmm1");
2547     asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %xmm1");
2548     asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");
2549     asm volatile("vrcpph %ymm2, %ymm1");
2550     asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %ymm1");
2551     asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");
2552     asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");
2553     asm volatile("vrcpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2554     asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2555     asm volatile("vreduceph $0x12, %zmm2, %zmm1");
2556     asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
2557     asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
2558     asm volatile("vreduceph $0x12, %xmm2, %xmm1");
2559     asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
2560     asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
2561     asm volatile("vreduceph $0x12, %ymm2, %ymm1");
2562     asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
2563     asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
2564     asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");
2565     asm volatile("vreducesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2566     asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2567     asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");
2568     asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
2569     asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
2570     asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");
2571     asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
2572     asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
2573     asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");
2574     asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
2575     asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
2576     asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");
2577     asm volatile("vrndscalesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2578     asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2579     asm volatile("vrsqrtph %zmm2, %zmm1");
2580     asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %zmm1");
2581     asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
2582     asm volatile("vrsqrtph %xmm2, %xmm1");
2583     asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %xmm1");
2584     asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
2585     asm volatile("vrsqrtph %ymm2, %ymm1");
2586     asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %ymm1");
2587     asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
2588     asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");
2589     asm volatile("vrsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2590     asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2591     asm volatile("vscalefph %zmm3, %zmm2, %zmm1");
2592     asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2593     asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2594     asm volatile("vscalefph %xmm3, %xmm2, %xmm1");
2595     asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2596     asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2597     asm volatile("vscalefph %ymm3, %ymm2, %ymm1");
2598     asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2599     asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2600     asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");
2601     asm volatile("vscalefsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2602     asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2603     asm volatile("vsqrtph %zmm2, %zmm1");
2604     asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %zmm1");
2605     asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
2606     asm volatile("vsqrtph %xmm2, %xmm1");
2607     asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %xmm1");
2608     asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
2609     asm volatile("vsqrtph %ymm2, %ymm1");
2610     asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %ymm1");
2611     asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
2612     asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");
2613     asm volatile("vsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2614     asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2615     asm volatile("vsubph %zmm3, %zmm2, %zmm1");
2616     asm volatile("vsubph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
2617     asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
2618     asm volatile("vsubph %xmm3, %xmm2, %xmm1");
2619     asm volatile("vsubph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2620     asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2621     asm volatile("vsubph %ymm3, %ymm2, %ymm1");
2622     asm volatile("vsubph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
2623     asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
2624     asm volatile("vsubsh %xmm3, %xmm2, %xmm1");
2625     asm volatile("vsubsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
2626     asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
2627     asm volatile("vucomish %xmm2, %xmm1");
2628     asm volatile("vucomish 0x12345678(%rax,%rcx,8), %xmm1");
2629     asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");
2630 
2631 #else  /* #ifdef __x86_64__ */
2632 
2633     /* bound r32, mem (same op code as EVEX prefix) */
2634 
2635     asm volatile("bound %eax, 0x12345678(%ecx)");
2636     asm volatile("bound %ecx, 0x12345678(%eax)");
2637     asm volatile("bound %edx, 0x12345678(%eax)");
2638     asm volatile("bound %ebx, 0x12345678(%eax)");
2639     asm volatile("bound %esp, 0x12345678(%eax)");
2640     asm volatile("bound %ebp, 0x12345678(%eax)");
2641     asm volatile("bound %esi, 0x12345678(%eax)");
2642     asm volatile("bound %edi, 0x12345678(%eax)");
2643     asm volatile("bound %ecx, (%eax)");
2644     asm volatile("bound %eax, (0x12345678)");
2645     asm volatile("bound %edx, (%ecx,%eax,1)");
2646     asm volatile("bound %edx, 0x12345678(,%eax,1)");
2647     asm volatile("bound %edx, (%eax,%ecx,1)");
2648     asm volatile("bound %edx, (%eax,%ecx,8)");
2649     asm volatile("bound %edx, 0x12(%eax)");
2650     asm volatile("bound %edx, 0x12(%ebp)");
2651     asm volatile("bound %edx, 0x12(%ecx,%eax,1)");
2652     asm volatile("bound %edx, 0x12(%ebp,%eax,1)");
2653     asm volatile("bound %edx, 0x12(%eax,%ecx,1)");
2654     asm volatile("bound %edx, 0x12(%eax,%ecx,8)");
2655     asm volatile("bound %edx, 0x12345678(%eax)");
2656     asm volatile("bound %edx, 0x12345678(%ebp)");
2657     asm volatile("bound %edx, 0x12345678(%ecx,%eax,1)");
2658     asm volatile("bound %edx, 0x12345678(%ebp,%eax,1)");
2659     asm volatile("bound %edx, 0x12345678(%eax,%ecx,1)");
2660     asm volatile("bound %edx, 0x12345678(%eax,%ecx,8)");
2661 
2662     /* bound r16, mem (same op code as EVEX prefix) */
2663 
2664     asm volatile("bound %ax, 0x12345678(%ecx)");
2665     asm volatile("bound %cx, 0x12345678(%eax)");
2666     asm volatile("bound %dx, 0x12345678(%eax)");
2667     asm volatile("bound %bx, 0x12345678(%eax)");
2668     asm volatile("bound %sp, 0x12345678(%eax)");
2669     asm volatile("bound %bp, 0x12345678(%eax)");
2670     asm volatile("bound %si, 0x12345678(%eax)");
2671     asm volatile("bound %di, 0x12345678(%eax)");
2672     asm volatile("bound %cx, (%eax)");
2673     asm volatile("bound %ax, (0x12345678)");
2674     asm volatile("bound %dx, (%ecx,%eax,1)");
2675     asm volatile("bound %dx, 0x12345678(,%eax,1)");
2676     asm volatile("bound %dx, (%eax,%ecx,1)");
2677     asm volatile("bound %dx, (%eax,%ecx,8)");
2678     asm volatile("bound %dx, 0x12(%eax)");
2679     asm volatile("bound %dx, 0x12(%ebp)");
2680     asm volatile("bound %dx, 0x12(%ecx,%eax,1)");
2681     asm volatile("bound %dx, 0x12(%ebp,%eax,1)");
2682     asm volatile("bound %dx, 0x12(%eax,%ecx,1)");
2683     asm volatile("bound %dx, 0x12(%eax,%ecx,8)");
2684     asm volatile("bound %dx, 0x12345678(%eax)");
2685     asm volatile("bound %dx, 0x12345678(%ebp)");
2686     asm volatile("bound %dx, 0x12345678(%ecx,%eax,1)");
2687     asm volatile("bound %dx, 0x12345678(%ebp,%eax,1)");
2688     asm volatile("bound %dx, 0x12345678(%eax,%ecx,1)");
2689     asm volatile("bound %dx, 0x12345678(%eax,%ecx,8)");
2690 
2691     /* AVX-512: Instructions with the same op codes as Mask Instructions  */
2692 
2693     asm volatile("cmovno %eax,%ebx");
2694     asm volatile("cmovno 0x12345678(%eax),%ecx");
2695     asm volatile("cmovno 0x12345678(%eax),%cx");
2696 
2697     asm volatile("cmove  %eax,%ebx");
2698     asm volatile("cmove 0x12345678(%eax),%ecx");
2699     asm volatile("cmove 0x12345678(%eax),%cx");
2700 
2701     asm volatile("seto    0x12345678(%eax)");
2702     asm volatile("setno   0x12345678(%eax)");
2703     asm volatile("setb    0x12345678(%eax)");
2704     asm volatile("setc    0x12345678(%eax)");
2705     asm volatile("setnae  0x12345678(%eax)");
2706     asm volatile("setae   0x12345678(%eax)");
2707     asm volatile("setnb   0x12345678(%eax)");
2708     asm volatile("setnc   0x12345678(%eax)");
2709     asm volatile("sets    0x12345678(%eax)");
2710     asm volatile("setns   0x12345678(%eax)");
2711 
2712     /* AVX-512: Mask Instructions */
2713 
2714     asm volatile("kandw  %k7,%k6,%k5");
2715     asm volatile("kandq  %k7,%k6,%k5");
2716     asm volatile("kandb  %k7,%k6,%k5");
2717     asm volatile("kandd  %k7,%k6,%k5");
2718 
2719     asm volatile("kandnw  %k7,%k6,%k5");
2720     asm volatile("kandnq  %k7,%k6,%k5");
2721     asm volatile("kandnb  %k7,%k6,%k5");
2722     asm volatile("kandnd  %k7,%k6,%k5");
2723 
2724     asm volatile("knotw  %k7,%k6");
2725     asm volatile("knotq  %k7,%k6");
2726     asm volatile("knotb  %k7,%k6");
2727     asm volatile("knotd  %k7,%k6");
2728 
2729     asm volatile("korw  %k7,%k6,%k5");
2730     asm volatile("korq  %k7,%k6,%k5");
2731     asm volatile("korb  %k7,%k6,%k5");
2732     asm volatile("kord  %k7,%k6,%k5");
2733 
2734     asm volatile("kxnorw  %k7,%k6,%k5");
2735     asm volatile("kxnorq  %k7,%k6,%k5");
2736     asm volatile("kxnorb  %k7,%k6,%k5");
2737     asm volatile("kxnord  %k7,%k6,%k5");
2738 
2739     asm volatile("kxorw  %k7,%k6,%k5");
2740     asm volatile("kxorq  %k7,%k6,%k5");
2741     asm volatile("kxorb  %k7,%k6,%k5");
2742     asm volatile("kxord  %k7,%k6,%k5");
2743 
2744     asm volatile("kaddw  %k7,%k6,%k5");
2745     asm volatile("kaddq  %k7,%k6,%k5");
2746     asm volatile("kaddb  %k7,%k6,%k5");
2747     asm volatile("kaddd  %k7,%k6,%k5");
2748 
2749     asm volatile("kunpckbw %k7,%k6,%k5");
2750     asm volatile("kunpckwd %k7,%k6,%k5");
2751     asm volatile("kunpckdq %k7,%k6,%k5");
2752 
2753     asm volatile("kmovw  %k6,%k5");
2754     asm volatile("kmovw  (%ecx),%k5");
2755     asm volatile("kmovw  0x123(%eax,%ecx,8),%k5");
2756     asm volatile("kmovw  %k5,(%ecx)");
2757     asm volatile("kmovw  %k5,0x123(%eax,%ecx,8)");
2758     asm volatile("kmovw  %eax,%k5");
2759     asm volatile("kmovw  %ebp,%k5");
2760     asm volatile("kmovw  %k5,%eax");
2761     asm volatile("kmovw  %k5,%ebp");
2762 
2763     asm volatile("kmovq  %k6,%k5");
2764     asm volatile("kmovq  (%ecx),%k5");
2765     asm volatile("kmovq  0x123(%eax,%ecx,8),%k5");
2766     asm volatile("kmovq  %k5,(%ecx)");
2767     asm volatile("kmovq  %k5,0x123(%eax,%ecx,8)");
2768 
2769     asm volatile("kmovb  %k6,%k5");
2770     asm volatile("kmovb  (%ecx),%k5");
2771     asm volatile("kmovb  0x123(%eax,%ecx,8),%k5");
2772     asm volatile("kmovb  %k5,(%ecx)");
2773     asm volatile("kmovb  %k5,0x123(%eax,%ecx,8)");
2774     asm volatile("kmovb  %eax,%k5");
2775     asm volatile("kmovb  %ebp,%k5");
2776     asm volatile("kmovb  %k5,%eax");
2777     asm volatile("kmovb  %k5,%ebp");
2778 
2779     asm volatile("kmovd  %k6,%k5");
2780     asm volatile("kmovd  (%ecx),%k5");
2781     asm volatile("kmovd  0x123(%eax,%ecx,8),%k5");
2782     asm volatile("kmovd  %k5,(%ecx)");
2783     asm volatile("kmovd  %k5,0x123(%eax,%ecx,8)");
2784     asm volatile("kmovd  %eax,%k5");
2785     asm volatile("kmovd  %ebp,%k5");
2786     asm volatile("kmovd  %k5,%eax");
2787     asm volatile("kmovd  %k5,%ebp");
2788 
2789     asm volatile("kortestw %k6,%k5");
2790     asm volatile("kortestq %k6,%k5");
2791     asm volatile("kortestb %k6,%k5");
2792     asm volatile("kortestd %k6,%k5");
2793 
2794     asm volatile("ktestw %k6,%k5");
2795     asm volatile("ktestq %k6,%k5");
2796     asm volatile("ktestb %k6,%k5");
2797     asm volatile("ktestd %k6,%k5");
2798 
2799     asm volatile("kshiftrw $0x12,%k6,%k5");
2800     asm volatile("kshiftrq $0x5b,%k6,%k5");
2801     asm volatile("kshiftlw $0x12,%k6,%k5");
2802     asm volatile("kshiftlq $0x5b,%k6,%k5");
2803 
2804     /* AVX-512: Op code 0f 5b */
2805     asm volatile("vcvtdq2ps %xmm5,%xmm6");
2806     asm volatile("vcvtqq2ps %zmm5,%ymm6{%k7}");
2807     asm volatile("vcvtps2dq %xmm5,%xmm6");
2808     asm volatile("vcvttps2dq %xmm5,%xmm6");
2809 
2810     /* AVX-512: Op code 0f 6f */
2811 
2812     asm volatile("movq   %mm0,%mm4");
2813     asm volatile("vmovdqa %ymm4,%ymm6");
2814     asm volatile("vmovdqa32 %zmm5,%zmm6");
2815     asm volatile("vmovdqa64 %zmm5,%zmm6");
2816     asm volatile("vmovdqu %ymm4,%ymm6");
2817     asm volatile("vmovdqu32 %zmm5,%zmm6");
2818     asm volatile("vmovdqu64 %zmm5,%zmm6");
2819     asm volatile("vmovdqu8 %zmm5,%zmm6");
2820     asm volatile("vmovdqu16 %zmm5,%zmm6");
2821 
2822     /* AVX-512: Op code 0f 78 */
2823 
2824     asm volatile("vmread %eax,%ebx");
2825     asm volatile("vcvttps2udq %zmm5,%zmm6");
2826     asm volatile("vcvttpd2udq %zmm5,%ymm6{%k7}");
2827     asm volatile("vcvttsd2usi %xmm6,%eax");
2828     asm volatile("vcvttss2usi %xmm6,%eax");
2829     asm volatile("vcvttps2uqq %ymm5,%zmm6{%k7}");
2830     asm volatile("vcvttpd2uqq %zmm5,%zmm6");
2831 
2832     /* AVX-512: Op code 0f 79 */
2833 
2834     asm volatile("vmwrite %eax,%ebx");
2835     asm volatile("vcvtps2udq %zmm5,%zmm6");
2836     asm volatile("vcvtpd2udq %zmm5,%ymm6{%k7}");
2837     asm volatile("vcvtsd2usi %xmm6,%eax");
2838     asm volatile("vcvtss2usi %xmm6,%eax");
2839     asm volatile("vcvtps2uqq %ymm5,%zmm6{%k7}");
2840     asm volatile("vcvtpd2uqq %zmm5,%zmm6");
2841 
2842     /* AVX-512: Op code 0f 7a */
2843 
2844     asm volatile("vcvtudq2pd %ymm5,%zmm6{%k7}");
2845     asm volatile("vcvtuqq2pd %zmm5,%zmm6");
2846     asm volatile("vcvtudq2ps %zmm5,%zmm6");
2847     asm volatile("vcvtuqq2ps %zmm5,%ymm6{%k7}");
2848     asm volatile("vcvttps2qq %ymm5,%zmm6{%k7}");
2849     asm volatile("vcvttpd2qq %zmm5,%zmm6");
2850 
2851     /* AVX-512: Op code 0f 7b */
2852 
2853     asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");
2854     asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");
2855     asm volatile("vcvtps2qq %ymm5,%zmm6{%k7}");
2856     asm volatile("vcvtpd2qq %zmm5,%zmm6");
2857 
2858     /* AVX-512: Op code 0f 7f */
2859 
2860     asm volatile("movq.s  %mm0,%mm4");
2861     asm volatile("vmovdqa.s %ymm5,%ymm6");
2862     asm volatile("vmovdqa32.s %zmm5,%zmm6");
2863     asm volatile("vmovdqa64.s %zmm5,%zmm6");
2864     asm volatile("vmovdqu.s %ymm5,%ymm6");
2865     asm volatile("vmovdqu32.s %zmm5,%zmm6");
2866     asm volatile("vmovdqu64.s %zmm5,%zmm6");
2867     asm volatile("vmovdqu8.s %zmm5,%zmm6");
2868     asm volatile("vmovdqu16.s %zmm5,%zmm6");
2869 
2870     /* AVX-512: Op code 0f db */
2871 
2872     asm volatile("pand  %mm1,%mm2");
2873     asm volatile("pand  %xmm1,%xmm2");
2874     asm volatile("vpand  %ymm4,%ymm6,%ymm2");
2875     asm volatile("vpandd %zmm4,%zmm5,%zmm6");
2876     asm volatile("vpandq %zmm4,%zmm5,%zmm6");
2877 
2878     /* AVX-512: Op code 0f df */
2879 
2880     asm volatile("pandn  %mm1,%mm2");
2881     asm volatile("pandn  %xmm1,%xmm2");
2882     asm volatile("vpandn %ymm4,%ymm6,%ymm2");
2883     asm volatile("vpandnd %zmm4,%zmm5,%zmm6");
2884     asm volatile("vpandnq %zmm4,%zmm5,%zmm6");
2885 
2886     /* AVX-512: Op code 0f e6 */
2887 
2888     asm volatile("vcvttpd2dq %xmm1,%xmm2");
2889     asm volatile("vcvtdq2pd %xmm5,%xmm6");
2890     asm volatile("vcvtdq2pd %ymm5,%zmm6{%k7}");
2891     asm volatile("vcvtqq2pd %zmm5,%zmm6");
2892     asm volatile("vcvtpd2dq %xmm1,%xmm2");
2893 
2894     /* AVX-512: Op code 0f eb */
2895 
2896     asm volatile("por   %mm4,%mm6");
2897     asm volatile("vpor   %ymm4,%ymm6,%ymm2");
2898     asm volatile("vpord  %zmm4,%zmm5,%zmm6");
2899     asm volatile("vporq  %zmm4,%zmm5,%zmm6");
2900 
2901     /* AVX-512: Op code 0f ef */
2902 
2903     asm volatile("pxor   %mm4,%mm6");
2904     asm volatile("vpxor  %ymm4,%ymm6,%ymm2");
2905     asm volatile("vpxord %zmm4,%zmm5,%zmm6");
2906     asm volatile("vpxorq %zmm4,%zmm5,%zmm6");
2907 
2908     /* AVX-512: Op code 0f 38 10 */
2909 
2910     asm volatile("pblendvb %xmm1,%xmm0");
2911     asm volatile("vpsrlvw %zmm4,%zmm5,%zmm6");
2912     asm volatile("vpmovuswb %zmm5,%ymm6{%k7}");
2913 
2914     /* AVX-512: Op code 0f 38 11 */
2915 
2916     asm volatile("vpmovusdb %zmm5,%xmm6{%k7}");
2917     asm volatile("vpsravw %zmm4,%zmm5,%zmm6");
2918 
2919     /* AVX-512: Op code 0f 38 12 */
2920 
2921     asm volatile("vpmovusqb %zmm5,%xmm6{%k7}");
2922     asm volatile("vpsllvw %zmm4,%zmm5,%zmm6");
2923 
2924     /* AVX-512: Op code 0f 38 13 */
2925 
2926     asm volatile("vcvtph2ps %xmm3,%ymm5");
2927     asm volatile("vcvtph2ps %ymm5,%zmm6{%k7}");
2928     asm volatile("vpmovusdw %zmm5,%ymm6{%k7}");
2929 
2930     /* AVX-512: Op code 0f 38 14 */
2931 
2932     asm volatile("blendvps %xmm1,%xmm0");
2933     asm volatile("vpmovusqw %zmm5,%xmm6{%k7}");
2934     asm volatile("vprorvd %zmm4,%zmm5,%zmm6");
2935     asm volatile("vprorvq %zmm4,%zmm5,%zmm6");
2936 
2937     /* AVX-512: Op code 0f 38 15 */
2938 
2939     asm volatile("blendvpd %xmm1,%xmm0");
2940     asm volatile("vpmovusqd %zmm5,%ymm6{%k7}");
2941     asm volatile("vprolvd %zmm4,%zmm5,%zmm6");
2942     asm volatile("vprolvq %zmm4,%zmm5,%zmm6");
2943 
2944     /* AVX-512: Op code 0f 38 16 */
2945 
2946     asm volatile("vpermps %ymm4,%ymm6,%ymm2");
2947     asm volatile("vpermps %ymm4,%ymm6,%ymm2{%k7}");
2948     asm volatile("vpermpd %ymm4,%ymm6,%ymm2{%k7}");
2949 
2950     /* AVX-512: Op code 0f 38 19 */
2951 
2952     asm volatile("vbroadcastsd %xmm4,%ymm6");
2953     asm volatile("vbroadcastf32x2 %xmm7,%zmm6");
2954 
2955     /* AVX-512: Op code 0f 38 1a */
2956 
2957     asm volatile("vbroadcastf128 (%ecx),%ymm4");
2958     asm volatile("vbroadcastf32x4 (%ecx),%zmm6");
2959     asm volatile("vbroadcastf64x2 (%ecx),%zmm6");
2960 
2961     /* AVX-512: Op code 0f 38 1b */
2962 
2963     asm volatile("vbroadcastf32x8 (%ecx),%zmm6");
2964     asm volatile("vbroadcastf64x4 (%ecx),%zmm6");
2965 
2966     /* AVX-512: Op code 0f 38 1f */
2967 
2968     asm volatile("vpabsq %zmm4,%zmm6");
2969 
2970     /* AVX-512: Op code 0f 38 20 */
2971 
2972     asm volatile("vpmovsxbw %xmm4,%xmm5");
2973     asm volatile("vpmovswb %zmm5,%ymm6{%k7}");
2974 
2975     /* AVX-512: Op code 0f 38 21 */
2976 
2977     asm volatile("vpmovsxbd %xmm4,%ymm6");
2978     asm volatile("vpmovsdb %zmm5,%xmm6{%k7}");
2979 
2980     /* AVX-512: Op code 0f 38 22 */
2981 
2982     asm volatile("vpmovsxbq %xmm4,%ymm4");
2983     asm volatile("vpmovsqb %zmm5,%xmm6{%k7}");
2984 
2985     /* AVX-512: Op code 0f 38 23 */
2986 
2987     asm volatile("vpmovsxwd %xmm4,%ymm4");
2988     asm volatile("vpmovsdw %zmm5,%ymm6{%k7}");
2989 
2990     /* AVX-512: Op code 0f 38 24 */
2991 
2992     asm volatile("vpmovsxwq %xmm4,%ymm6");
2993     asm volatile("vpmovsqw %zmm5,%xmm6{%k7}");
2994 
2995     /* AVX-512: Op code 0f 38 25 */
2996 
2997     asm volatile("vpmovsxdq %xmm4,%ymm4");
2998     asm volatile("vpmovsqd %zmm5,%ymm6{%k7}");
2999 
3000     /* AVX-512: Op code 0f 38 26 */
3001 
3002     asm volatile("vptestmb %zmm5,%zmm6,%k5");
3003     asm volatile("vptestmw %zmm5,%zmm6,%k5");
3004     asm volatile("vptestnmb %zmm4,%zmm5,%k5");
3005     asm volatile("vptestnmw %zmm4,%zmm5,%k5");
3006 
3007     /* AVX-512: Op code 0f 38 27 */
3008 
3009     asm volatile("vptestmd %zmm5,%zmm6,%k5");
3010     asm volatile("vptestmq %zmm5,%zmm6,%k5");
3011     asm volatile("vptestnmd %zmm4,%zmm5,%k5");
3012     asm volatile("vptestnmq %zmm4,%zmm5,%k5");
3013 
3014     /* AVX-512: Op code 0f 38 28 */
3015 
3016     asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");
3017     asm volatile("vpmovm2b %k5,%zmm6");
3018     asm volatile("vpmovm2w %k5,%zmm6");
3019 
3020     /* AVX-512: Op code 0f 38 29 */
3021 
3022     asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");
3023     asm volatile("vpmovb2m %zmm6,%k5");
3024     asm volatile("vpmovw2m %zmm6,%k5");
3025 
3026     /* AVX-512: Op code 0f 38 2a */
3027 
3028     asm volatile("vmovntdqa (%ecx),%ymm4");
3029     asm volatile("vpbroadcastmb2q %k6,%zmm1");
3030 
3031     /* AVX-512: Op code 0f 38 2c */
3032 
3033     asm volatile("vmaskmovps (%ecx),%ymm4,%ymm6");
3034     asm volatile("vscalefps %zmm4,%zmm5,%zmm6");
3035     asm volatile("vscalefpd %zmm4,%zmm5,%zmm6");
3036 
3037     /* AVX-512: Op code 0f 38 2d */
3038 
3039     asm volatile("vmaskmovpd (%ecx),%ymm4,%ymm6");
3040     asm volatile("vscalefss %xmm4,%xmm5,%xmm6{%k7}");
3041     asm volatile("vscalefsd %xmm4,%xmm5,%xmm6{%k7}");
3042 
3043     /* AVX-512: Op code 0f 38 30 */
3044 
3045     asm volatile("vpmovzxbw %xmm4,%ymm4");
3046     asm volatile("vpmovwb %zmm5,%ymm6{%k7}");
3047 
3048     /* AVX-512: Op code 0f 38 31 */
3049 
3050     asm volatile("vpmovzxbd %xmm4,%ymm6");
3051     asm volatile("vpmovdb %zmm5,%xmm6{%k7}");
3052 
3053     /* AVX-512: Op code 0f 38 32 */
3054 
3055     asm volatile("vpmovzxbq %xmm4,%ymm4");
3056     asm volatile("vpmovqb %zmm5,%xmm6{%k7}");
3057 
3058     /* AVX-512: Op code 0f 38 33 */
3059 
3060     asm volatile("vpmovzxwd %xmm4,%ymm4");
3061     asm volatile("vpmovdw %zmm5,%ymm6{%k7}");
3062 
3063     /* AVX-512: Op code 0f 38 34 */
3064 
3065     asm volatile("vpmovzxwq %xmm4,%ymm6");
3066     asm volatile("vpmovqw %zmm5,%xmm6{%k7}");
3067 
3068     /* AVX-512: Op code 0f 38 35 */
3069 
3070     asm volatile("vpmovzxdq %xmm4,%ymm4");
3071     asm volatile("vpmovqd %zmm5,%ymm6{%k7}");
3072 
3073     /* AVX-512: Op code 0f 38 36 */
3074 
3075     asm volatile("vpermd %ymm4,%ymm6,%ymm2");
3076     asm volatile("vpermd %ymm4,%ymm6,%ymm2{%k7}");
3077     asm volatile("vpermq %ymm4,%ymm6,%ymm2{%k7}");
3078 
3079     /* AVX-512: Op code 0f 38 38 */
3080 
3081     asm volatile("vpminsb %ymm4,%ymm6,%ymm2");
3082     asm volatile("vpmovm2d %k5,%zmm6");
3083     asm volatile("vpmovm2q %k5,%zmm6");
3084 
3085     /* AVX-512: Op code 0f 38 39 */
3086 
3087     asm volatile("vpminsd %xmm1,%xmm2,%xmm3");
3088     asm volatile("vpminsd %zmm4,%zmm5,%zmm6");
3089     asm volatile("vpminsq %zmm4,%zmm5,%zmm6");
3090     asm volatile("vpmovd2m %zmm6,%k5");
3091     asm volatile("vpmovq2m %zmm6,%k5");
3092 
3093     /* AVX-512: Op code 0f 38 3a */
3094 
3095     asm volatile("vpminuw %ymm4,%ymm6,%ymm2");
3096     asm volatile("vpbroadcastmw2d %k6,%zmm6");
3097 
3098     /* AVX-512: Op code 0f 38 3b */
3099 
3100     asm volatile("vpminud %ymm4,%ymm6,%ymm2");
3101     asm volatile("vpminud %zmm4,%zmm5,%zmm6");
3102     asm volatile("vpminuq %zmm4,%zmm5,%zmm6");
3103 
3104     /* AVX-512: Op code 0f 38 3d */
3105 
3106     asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");
3107     asm volatile("vpmaxsd %zmm4,%zmm5,%zmm6");
3108     asm volatile("vpmaxsq %zmm4,%zmm5,%zmm6");
3109 
3110     /* AVX-512: Op code 0f 38 3f */
3111 
3112     asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");
3113     asm volatile("vpmaxud %zmm4,%zmm5,%zmm6");
3114     asm volatile("vpmaxuq %zmm4,%zmm5,%zmm6");
3115 
3116     /* AVX-512: Op code 0f 38 40 */
3117 
3118     asm volatile("vpmulld %ymm4,%ymm6,%ymm2");
3119     asm volatile("vpmulld %zmm4,%zmm5,%zmm6");
3120     asm volatile("vpmullq %zmm4,%zmm5,%zmm6");
3121 
3122     /* AVX-512: Op code 0f 38 42 */
3123 
3124     asm volatile("vgetexpps %zmm5,%zmm6");
3125     asm volatile("vgetexppd %zmm5,%zmm6");
3126 
3127     /* AVX-512: Op code 0f 38 43 */
3128 
3129     asm volatile("vgetexpss %xmm4,%xmm5,%xmm6{%k7}");
3130     asm volatile("vgetexpsd %xmm2,%xmm3,%xmm4{%k7}");
3131 
3132     /* AVX-512: Op code 0f 38 44 */
3133 
3134     asm volatile("vplzcntd %zmm5,%zmm6");
3135     asm volatile("vplzcntq %zmm5,%zmm6");
3136 
3137     /* AVX-512: Op code 0f 38 46 */
3138 
3139     asm volatile("vpsravd %ymm4,%ymm6,%ymm2");
3140     asm volatile("vpsravd %zmm4,%zmm5,%zmm6");
3141     asm volatile("vpsravq %zmm4,%zmm5,%zmm6");
3142 
3143     /* AVX-512: Op code 0f 38 4c */
3144 
3145     asm volatile("vrcp14ps %zmm5,%zmm6");
3146     asm volatile("vrcp14pd %zmm5,%zmm6");
3147 
3148     /* AVX-512: Op code 0f 38 4d */
3149 
3150     asm volatile("vrcp14ss %xmm4,%xmm5,%xmm6{%k7}");
3151     asm volatile("vrcp14sd %xmm4,%xmm5,%xmm6{%k7}");
3152 
3153     /* AVX-512: Op code 0f 38 4e */
3154 
3155     asm volatile("vrsqrt14ps %zmm5,%zmm6");
3156     asm volatile("vrsqrt14pd %zmm5,%zmm6");
3157 
3158     /* AVX-512: Op code 0f 38 4f */
3159 
3160     asm volatile("vrsqrt14ss %xmm4,%xmm5,%xmm6{%k7}");
3161     asm volatile("vrsqrt14sd %xmm4,%xmm5,%xmm6{%k7}");
3162 
3163     /* AVX-512: Op code 0f 38 50 */
3164 
3165     asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");
3166     asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");
3167     asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");
3168     asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3169 
3170     /* AVX-512: Op code 0f 38 51 */
3171 
3172     asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");
3173     asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");
3174     asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");
3175     asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3176 
3177     /* AVX-512: Op code 0f 38 52 */
3178 
3179     asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");
3180     asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");
3181     asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");
3182     asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3183 
3184     asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");
3185     asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");
3186     asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");
3187     asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3188 
3189     asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");
3190     asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
3191 
3192     /* AVX-512: Op code 0f 38 53 */
3193 
3194     asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");
3195     asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");
3196     asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");
3197     asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3198 
3199     asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");
3200     asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
3201 
3202     /* AVX-512: Op code 0f 38 54 */
3203 
3204     asm volatile("vpopcntb %xmm1, %xmm2");
3205     asm volatile("vpopcntb %ymm1, %ymm2");
3206     asm volatile("vpopcntb %zmm1, %zmm2");
3207     asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");
3208 
3209     asm volatile("vpopcntw %xmm1, %xmm2");
3210     asm volatile("vpopcntw %ymm1, %ymm2");
3211     asm volatile("vpopcntw %zmm1, %zmm2");
3212     asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");
3213 
3214     /* AVX-512: Op code 0f 38 55 */
3215 
3216     asm volatile("vpopcntd %xmm1, %xmm2");
3217     asm volatile("vpopcntd %ymm1, %ymm2");
3218     asm volatile("vpopcntd %zmm1, %zmm2");
3219     asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");
3220 
3221     asm volatile("vpopcntq %xmm1, %xmm2");
3222     asm volatile("vpopcntq %ymm1, %ymm2");
3223     asm volatile("vpopcntq %zmm1, %zmm2");
3224     asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");
3225 
3226     /* AVX-512: Op code 0f 38 59 */
3227 
3228     asm volatile("vpbroadcastq %xmm4,%xmm6");
3229     asm volatile("vbroadcasti32x2 %xmm7,%zmm6");
3230 
3231     /* AVX-512: Op code 0f 38 5a */
3232 
3233     asm volatile("vbroadcasti128 (%ecx),%ymm4");
3234     asm volatile("vbroadcasti32x4 (%ecx),%zmm6");
3235     asm volatile("vbroadcasti64x2 (%ecx),%zmm6");
3236 
3237     /* AVX-512: Op code 0f 38 5b */
3238 
3239     asm volatile("vbroadcasti32x8 (%ecx),%zmm6");
3240     asm volatile("vbroadcasti64x4 (%ecx),%zmm6");
3241 
3242     /* AVX-512: Op code 0f 38 62 */
3243 
3244     asm volatile("vpexpandb %xmm1, %xmm2");
3245     asm volatile("vpexpandb %ymm1, %ymm2");
3246     asm volatile("vpexpandb %zmm1, %zmm2");
3247     asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");
3248 
3249     asm volatile("vpexpandw %xmm1, %xmm2");
3250     asm volatile("vpexpandw %ymm1, %ymm2");
3251     asm volatile("vpexpandw %zmm1, %zmm2");
3252     asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");
3253 
3254     /* AVX-512: Op code 0f 38 63 */
3255 
3256     asm volatile("vpcompressb %xmm1, %xmm2");
3257     asm volatile("vpcompressb %ymm1, %ymm2");
3258     asm volatile("vpcompressb %zmm1, %zmm2");
3259     asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");
3260 
3261     asm volatile("vpcompressw %xmm1, %xmm2");
3262     asm volatile("vpcompressw %ymm1, %ymm2");
3263     asm volatile("vpcompressw %zmm1, %zmm2");
3264     asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");
3265 
3266     /* AVX-512: Op code 0f 38 64 */
3267 
3268     asm volatile("vpblendmd %zmm4,%zmm5,%zmm6");
3269     asm volatile("vpblendmq %zmm4,%zmm5,%zmm6");
3270 
3271     /* AVX-512: Op code 0f 38 65 */
3272 
3273     asm volatile("vblendmps %zmm4,%zmm5,%zmm6");
3274     asm volatile("vblendmpd %zmm4,%zmm5,%zmm6");
3275 
3276     /* AVX-512: Op code 0f 38 66 */
3277 
3278     asm volatile("vpblendmb %zmm4,%zmm5,%zmm6");
3279     asm volatile("vpblendmw %zmm4,%zmm5,%zmm6");
3280 
3281     /* AVX-512: Op code 0f 38 68 */
3282 
3283     asm volatile("vp2intersectd %xmm1, %xmm2, %k3");
3284     asm volatile("vp2intersectd %ymm1, %ymm2, %k3");
3285     asm volatile("vp2intersectd %zmm1, %zmm2, %k3");
3286     asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");
3287 
3288     asm volatile("vp2intersectq %xmm1, %xmm2, %k3");
3289     asm volatile("vp2intersectq %ymm1, %ymm2, %k3");
3290     asm volatile("vp2intersectq %zmm1, %zmm2, %k3");
3291     asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");
3292 
3293     /* AVX-512: Op code 0f 38 70 */
3294 
3295     asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");
3296     asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");
3297     asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");
3298     asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3299 
3300     /* AVX-512: Op code 0f 38 71 */
3301 
3302     asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");
3303     asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");
3304     asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");
3305     asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3306 
3307     asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");
3308     asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");
3309     asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");
3310     asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3311 
3312     /* AVX-512: Op code 0f 38 72 */
3313 
3314     asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");
3315     asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");
3316     asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");
3317     asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3318 
3319     asm volatile("vcvtneps2bf16 %xmm1, %xmm2");
3320     asm volatile("vcvtneps2bf16 %ymm1, %xmm2");
3321     asm volatile("vcvtneps2bf16 %zmm1, %ymm2");
3322     asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");
3323 
3324     asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");
3325     asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");
3326     asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");
3327     asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3328 
3329     /* AVX-512: Op code 0f 38 73 */
3330 
3331     asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");
3332     asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");
3333     asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");
3334     asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3335 
3336     asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");
3337     asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");
3338     asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");
3339     asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3340 
3341     /* AVX-512: Op code 0f 38 75 */
3342 
3343     asm volatile("vpermi2b %zmm4,%zmm5,%zmm6");
3344     asm volatile("vpermi2w %zmm4,%zmm5,%zmm6");
3345 
3346     /* AVX-512: Op code 0f 38 76 */
3347 
3348     asm volatile("vpermi2d %zmm4,%zmm5,%zmm6");
3349     asm volatile("vpermi2q %zmm4,%zmm5,%zmm6");
3350 
3351     /* AVX-512: Op code 0f 38 77 */
3352 
3353     asm volatile("vpermi2ps %zmm4,%zmm5,%zmm6");
3354     asm volatile("vpermi2pd %zmm4,%zmm5,%zmm6");
3355 
3356     /* AVX-512: Op code 0f 38 7a */
3357 
3358     asm volatile("vpbroadcastb %eax,%xmm3");
3359 
3360     /* AVX-512: Op code 0f 38 7b */
3361 
3362     asm volatile("vpbroadcastw %eax,%xmm3");
3363 
3364     /* AVX-512: Op code 0f 38 7c */
3365 
3366     asm volatile("vpbroadcastd %eax,%xmm3");
3367 
3368     /* AVX-512: Op code 0f 38 7d */
3369 
3370     asm volatile("vpermt2b %zmm4,%zmm5,%zmm6");
3371     asm volatile("vpermt2w %zmm4,%zmm5,%zmm6");
3372 
3373     /* AVX-512: Op code 0f 38 7e */
3374 
3375     asm volatile("vpermt2d %zmm4,%zmm5,%zmm6");
3376     asm volatile("vpermt2q %zmm4,%zmm5,%zmm6");
3377 
3378     /* AVX-512: Op code 0f 38 7f */
3379 
3380     asm volatile("vpermt2ps %zmm4,%zmm5,%zmm6");
3381     asm volatile("vpermt2pd %zmm4,%zmm5,%zmm6");
3382 
3383     /* AVX-512: Op code 0f 38 83 */
3384 
3385     asm volatile("vpmultishiftqb %zmm4,%zmm5,%zmm6");
3386 
3387     /* AVX-512: Op code 0f 38 88 */
3388 
3389     asm volatile("vexpandps (%ecx),%zmm6");
3390     asm volatile("vexpandpd (%ecx),%zmm6");
3391 
3392     /* AVX-512: Op code 0f 38 89 */
3393 
3394     asm volatile("vpexpandd (%ecx),%zmm6");
3395     asm volatile("vpexpandq (%ecx),%zmm6");
3396 
3397     /* AVX-512: Op code 0f 38 8a */
3398 
3399     asm volatile("vcompressps %zmm6,(%ecx)");
3400     asm volatile("vcompresspd %zmm6,(%ecx)");
3401 
3402     /* AVX-512: Op code 0f 38 8b */
3403 
3404     asm volatile("vpcompressd %zmm6,(%ecx)");
3405     asm volatile("vpcompressq %zmm6,(%ecx)");
3406 
3407     /* AVX-512: Op code 0f 38 8d */
3408 
3409     asm volatile("vpermb %zmm4,%zmm5,%zmm6");
3410     asm volatile("vpermw %zmm4,%zmm5,%zmm6");
3411 
3412     /* AVX-512: Op code 0f 38 8f */
3413 
3414     asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");
3415     asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");
3416     asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");
3417     asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");
3418 
3419     /* AVX-512: Op code 0f 38 90 */
3420 
3421     asm volatile("vpgatherdd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
3422     asm volatile("vpgatherdq %xmm2,0x04(%ebp,%xmm7,2),%xmm1");
3423     asm volatile("vpgatherdd 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");
3424     asm volatile("vpgatherdq 0x7b(%ebp,%ymm7,8),%zmm6{%k1}");
3425 
3426     /* AVX-512: Op code 0f 38 91 */
3427 
3428     asm volatile("vpgatherqd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
3429     asm volatile("vpgatherqq %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
3430     asm volatile("vpgatherqd 0x7b(%ebp,%zmm7,8),%ymm6{%k1}");
3431     asm volatile("vpgatherqq 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");
3432 
3433     /* AVX-512: Op code 0f 38 9a */
3434 
3435     asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");
3436     asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");
3437     asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");
3438     asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3439 
3440     asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");
3441     asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");
3442     asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");
3443     asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3444 
3445     asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");
3446     asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
3447 
3448     /* AVX-512: Op code 0f 38 9b */
3449 
3450     asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");
3451     asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
3452 
3453     asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");
3454     asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
3455 
3456     asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");
3457     asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
3458 
3459     /* AVX-512: Op code 0f 38 a0 */
3460 
3461     asm volatile("vpscatterdd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
3462     asm volatile("vpscatterdq %zmm6,0x7b(%ebp,%ymm7,8){%k1}");
3463 
3464     /* AVX-512: Op code 0f 38 a1 */
3465 
3466     asm volatile("vpscatterqd %ymm6,0x7b(%ebp,%zmm7,8){%k1}");
3467     asm volatile("vpscatterqq %ymm6,0x7b(%ebp,%ymm7,8){%k1}");
3468 
3469     /* AVX-512: Op code 0f 38 a2 */
3470 
3471     asm volatile("vscatterdps %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
3472     asm volatile("vscatterdpd %zmm6,0x7b(%ebp,%ymm7,8){%k1}");
3473 
3474     /* AVX-512: Op code 0f 38 a3 */
3475 
3476     asm volatile("vscatterqps %ymm6,0x7b(%ebp,%zmm7,8){%k1}");
3477     asm volatile("vscatterqpd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
3478 
3479     /* AVX-512: Op code 0f 38 aa */
3480 
3481     asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");
3482     asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");
3483     asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");
3484     asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3485 
3486     asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");
3487     asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");
3488     asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");
3489     asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3490 
3491     asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");
3492     asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
3493 
3494     /* AVX-512: Op code 0f 38 ab */
3495 
3496     asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");
3497     asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
3498 
3499     asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");
3500     asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
3501 
3502     asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");
3503     asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
3504 
3505     /* AVX-512: Op code 0f 38 b4 */
3506 
3507     asm volatile("vpmadd52luq %zmm4,%zmm5,%zmm6");
3508 
3509     /* AVX-512: Op code 0f 38 b5 */
3510 
3511     asm volatile("vpmadd52huq %zmm4,%zmm5,%zmm6");
3512 
3513     /* AVX-512: Op code 0f 38 c4 */
3514 
3515     asm volatile("vpconflictd %zmm5,%zmm6");
3516     asm volatile("vpconflictq %zmm5,%zmm6");
3517 
3518     /* AVX-512: Op code 0f 38 c8 */
3519 
3520     asm volatile("vexp2ps %zmm6,%zmm7");
3521     asm volatile("vexp2pd %zmm6,%zmm7");
3522 
3523     /* AVX-512: Op code 0f 38 ca */
3524 
3525     asm volatile("vrcp28ps %zmm6,%zmm7");
3526     asm volatile("vrcp28pd %zmm6,%zmm7");
3527 
3528     /* AVX-512: Op code 0f 38 cb */
3529 
3530     asm volatile("vrcp28ss %xmm5,%xmm6,%xmm7{%k7}");
3531     asm volatile("vrcp28sd %xmm5,%xmm6,%xmm7{%k7}");
3532 
3533     /* AVX-512: Op code 0f 38 cc */
3534 
3535     asm volatile("vrsqrt28ps %zmm6,%zmm7");
3536     asm volatile("vrsqrt28pd %zmm6,%zmm7");
3537 
3538     /* AVX-512: Op code 0f 38 cd */
3539 
3540     asm volatile("vrsqrt28ss %xmm5,%xmm6,%xmm7{%k7}");
3541     asm volatile("vrsqrt28sd %xmm5,%xmm6,%xmm7{%k7}");
3542 
3543     /* AVX-512: Op code 0f 38 cf */
3544 
3545     asm volatile("gf2p8mulb %xmm1, %xmm3");
3546     asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");
3547 
3548     asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");
3549     asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");
3550     asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");
3551     asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3552 
3553     /* AVX-512: Op code 0f 38 dc */
3554 
3555     asm volatile("vaesenc %xmm1, %xmm2, %xmm3");
3556     asm volatile("vaesenc %ymm1, %ymm2, %ymm3");
3557     asm volatile("vaesenc %zmm1, %zmm2, %zmm3");
3558     asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3559 
3560     /* AVX-512: Op code 0f 38 dd */
3561 
3562     asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");
3563     asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");
3564     asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");
3565     asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3566 
3567     /* AVX-512: Op code 0f 38 de */
3568 
3569     asm volatile("vaesdec %xmm1, %xmm2, %xmm3");
3570     asm volatile("vaesdec %ymm1, %ymm2, %ymm3");
3571     asm volatile("vaesdec %zmm1, %zmm2, %zmm3");
3572     asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3573 
3574     /* AVX-512: Op code 0f 38 df */
3575 
3576     asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");
3577     asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");
3578     asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");
3579     asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
3580 
3581     /* AVX-512: Op code 0f 3a 03 */
3582 
3583     asm volatile("valignd $0x12,%zmm5,%zmm6,%zmm7");
3584     asm volatile("valignq $0x12,%zmm5,%zmm6,%zmm7");
3585 
3586     /* AVX-512: Op code 0f 3a 08 */
3587 
3588     asm volatile("vroundps $0x5,%ymm6,%ymm2");
3589     asm volatile("vrndscaleps $0x12,%zmm5,%zmm6");
3590 
3591     /* AVX-512: Op code 0f 3a 09 */
3592 
3593     asm volatile("vroundpd $0x5,%ymm6,%ymm2");
3594     asm volatile("vrndscalepd $0x12,%zmm5,%zmm6");
3595 
3596     /* AVX-512: Op code 0f 3a 0a */
3597 
3598     asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");
3599     asm volatile("vrndscaless $0x12,%xmm4,%xmm5,%xmm6{%k7}");
3600 
3601     /* AVX-512: Op code 0f 3a 0b */
3602 
3603     asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");
3604     asm volatile("vrndscalesd $0x12,%xmm4,%xmm5,%xmm6{%k7}");
3605 
3606     /* AVX-512: Op code 0f 3a 18 */
3607 
3608     asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");
3609     asm volatile("vinsertf32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
3610     asm volatile("vinsertf64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
3611 
3612     /* AVX-512: Op code 0f 3a 19 */
3613 
3614     asm volatile("vextractf128 $0x5,%ymm4,%xmm4");
3615     asm volatile("vextractf32x4 $0x12,%zmm5,%xmm6{%k7}");
3616     asm volatile("vextractf64x2 $0x12,%zmm5,%xmm6{%k7}");
3617 
3618     /* AVX-512: Op code 0f 3a 1a */
3619 
3620     asm volatile("vinsertf32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
3621     asm volatile("vinsertf64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
3622 
3623     /* AVX-512: Op code 0f 3a 1b */
3624 
3625     asm volatile("vextractf32x8 $0x12,%zmm6,%ymm7{%k7}");
3626     asm volatile("vextractf64x4 $0x12,%zmm6,%ymm7{%k7}");
3627 
3628     /* AVX-512: Op code 0f 3a 1e */
3629 
3630     asm volatile("vpcmpud $0x12,%zmm6,%zmm7,%k5");
3631     asm volatile("vpcmpuq $0x12,%zmm6,%zmm7,%k5");
3632 
3633     /* AVX-512: Op code 0f 3a 1f */
3634 
3635     asm volatile("vpcmpd $0x12,%zmm6,%zmm7,%k5");
3636     asm volatile("vpcmpq $0x12,%zmm6,%zmm7,%k5");
3637 
3638     /* AVX-512: Op code 0f 3a 23 */
3639 
3640     asm volatile("vshuff32x4 $0x12,%zmm5,%zmm6,%zmm7");
3641     asm volatile("vshuff64x2 $0x12,%zmm5,%zmm6,%zmm7");
3642 
3643     /* AVX-512: Op code 0f 3a 25 */
3644 
3645     asm volatile("vpternlogd $0x12,%zmm5,%zmm6,%zmm7");
3646     asm volatile("vpternlogq $0x12,%zmm5,%zmm6,%zmm7");
3647 
3648     /* AVX-512: Op code 0f 3a 26 */
3649 
3650     asm volatile("vgetmantps $0x12,%zmm6,%zmm7");
3651     asm volatile("vgetmantpd $0x12,%zmm6,%zmm7");
3652 
3653     /* AVX-512: Op code 0f 3a 27 */
3654 
3655     asm volatile("vgetmantss $0x12,%xmm5,%xmm6,%xmm7{%k7}");
3656     asm volatile("vgetmantsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");
3657 
3658     /* AVX-512: Op code 0f 3a 38 */
3659 
3660     asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");
3661     asm volatile("vinserti32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
3662     asm volatile("vinserti64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
3663 
3664     /* AVX-512: Op code 0f 3a 39 */
3665 
3666     asm volatile("vextracti128 $0x5,%ymm4,%xmm6");
3667     asm volatile("vextracti32x4 $0x12,%zmm5,%xmm6{%k7}");
3668     asm volatile("vextracti64x2 $0x12,%zmm5,%xmm6{%k7}");
3669 
3670     /* AVX-512: Op code 0f 3a 3a */
3671 
3672     asm volatile("vinserti32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
3673     asm volatile("vinserti64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
3674 
3675     /* AVX-512: Op code 0f 3a 3b */
3676 
3677     asm volatile("vextracti32x8 $0x12,%zmm6,%ymm7{%k7}");
3678     asm volatile("vextracti64x4 $0x12,%zmm6,%ymm7{%k7}");
3679 
3680     /* AVX-512: Op code 0f 3a 3e */
3681 
3682     asm volatile("vpcmpub $0x12,%zmm6,%zmm7,%k5");
3683     asm volatile("vpcmpuw $0x12,%zmm6,%zmm7,%k5");
3684 
3685     /* AVX-512: Op code 0f 3a 3f */
3686 
3687     asm volatile("vpcmpb $0x12,%zmm6,%zmm7,%k5");
3688     asm volatile("vpcmpw $0x12,%zmm6,%zmm7,%k5");
3689 
3690     /* AVX-512: Op code 0f 3a 42 */
3691 
3692     asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");
3693     asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");
3694 
3695     /* AVX-512: Op code 0f 3a 43 */
3696 
3697     asm volatile("vshufi32x4 $0x12,%zmm5,%zmm6,%zmm7");
3698     asm volatile("vshufi64x2 $0x12,%zmm5,%zmm6,%zmm7");
3699 
3700     /* AVX-512: Op code 0f 3a 44 */
3701 
3702     asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");
3703     asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");
3704     asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");
3705 
3706     /* AVX-512: Op code 0f 3a 50 */
3707 
3708     asm volatile("vrangeps $0x12,%zmm5,%zmm6,%zmm7");
3709     asm volatile("vrangepd $0x12,%zmm5,%zmm6,%zmm7");
3710 
3711     /* AVX-512: Op code 0f 3a 51 */
3712 
3713     asm volatile("vrangess $0x12,%xmm5,%xmm6,%xmm7");
3714     asm volatile("vrangesd $0x12,%xmm5,%xmm6,%xmm7");
3715 
3716     /* AVX-512: Op code 0f 3a 54 */
3717 
3718     asm volatile("vfixupimmps $0x12,%zmm5,%zmm6,%zmm7");
3719     asm volatile("vfixupimmpd $0x12,%zmm5,%zmm6,%zmm7");
3720 
3721     /* AVX-512: Op code 0f 3a 55 */
3722 
3723     asm volatile("vfixupimmss $0x12,%xmm5,%xmm6,%xmm7{%k7}");
3724     asm volatile("vfixupimmsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");
3725 
3726     /* AVX-512: Op code 0f 3a 56 */
3727 
3728     asm volatile("vreduceps $0x12,%zmm6,%zmm7");
3729     asm volatile("vreducepd $0x12,%zmm6,%zmm7");
3730 
3731     /* AVX-512: Op code 0f 3a 57 */
3732 
3733     asm volatile("vreducess $0x12,%xmm5,%xmm6,%xmm7");
3734     asm volatile("vreducesd $0x12,%xmm5,%xmm6,%xmm7");
3735 
3736     /* AVX-512: Op code 0f 3a 66 */
3737 
3738     asm volatile("vfpclassps $0x12,%zmm7,%k5");
3739     asm volatile("vfpclasspd $0x12,%zmm7,%k5");
3740 
3741     /* AVX-512: Op code 0f 3a 67 */
3742 
3743     asm volatile("vfpclassss $0x12,%xmm7,%k5");
3744     asm volatile("vfpclasssd $0x12,%xmm7,%k5");
3745 
3746     /* AVX-512: Op code 0f 3a 70 */
3747 
3748     asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");
3749     asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");
3750     asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");
3751 
3752     /* AVX-512: Op code 0f 3a 71 */
3753 
3754     asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");
3755     asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");
3756     asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");
3757 
3758     asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");
3759     asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");
3760     asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");
3761 
3762     /* AVX-512: Op code 0f 3a 72 */
3763 
3764     asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");
3765     asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");
3766     asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");
3767 
3768     /* AVX-512: Op code 0f 3a 73 */
3769 
3770     asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");
3771     asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");
3772     asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");
3773 
3774     asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");
3775     asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");
3776     asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");
3777 
3778     /* AVX-512: Op code 0f 3a ce */
3779 
3780     asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");
3781 
3782     asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");
3783     asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");
3784     asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");
3785 
3786     /* AVX-512: Op code 0f 3a cf */
3787 
3788     asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");
3789 
3790     asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");
3791     asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");
3792     asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");
3793 
3794     /* AVX-512: Op code 0f 72 (Grp13) */
3795 
3796     asm volatile("vprord $0x12,%zmm5,%zmm6");
3797     asm volatile("vprorq $0x12,%zmm5,%zmm6");
3798     asm volatile("vprold $0x12,%zmm5,%zmm6");
3799     asm volatile("vprolq $0x12,%zmm5,%zmm6");
3800     asm volatile("psrad  $0x2,%mm6");
3801     asm volatile("vpsrad $0x5,%ymm6,%ymm2");
3802     asm volatile("vpsrad $0x5,%zmm6,%zmm2");
3803     asm volatile("vpsraq $0x5,%zmm6,%zmm2");
3804 
3805     /* AVX-512: Op code 0f 38 c6 (Grp18) */
3806 
3807     asm volatile("vgatherpf0dps 0x7b(%ebp,%zmm7,8){%k1}");
3808     asm volatile("vgatherpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");
3809     asm volatile("vgatherpf1dps 0x7b(%ebp,%zmm7,8){%k1}");
3810     asm volatile("vgatherpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");
3811     asm volatile("vscatterpf0dps 0x7b(%ebp,%zmm7,8){%k1}");
3812     asm volatile("vscatterpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");
3813     asm volatile("vscatterpf1dps 0x7b(%ebp,%zmm7,8){%k1}");
3814     asm volatile("vscatterpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");
3815 
3816     /* AVX-512: Op code 0f 38 c7 (Grp19) */
3817 
3818     asm volatile("vgatherpf0qps 0x7b(%ebp,%zmm7,8){%k1}");
3819     asm volatile("vgatherpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");
3820     asm volatile("vgatherpf1qps 0x7b(%ebp,%zmm7,8){%k1}");
3821     asm volatile("vgatherpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");
3822     asm volatile("vscatterpf0qps 0x7b(%ebp,%zmm7,8){%k1}");
3823     asm volatile("vscatterpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");
3824     asm volatile("vscatterpf1qps 0x7b(%ebp,%zmm7,8){%k1}");
3825     asm volatile("vscatterpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");
3826 
3827     /* AVX-512: Examples */
3828 
3829     asm volatile("vaddpd %zmm4,%zmm5,%zmm6");
3830     asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}");
3831     asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}{z}");
3832     asm volatile("vaddpd {rn-sae},%zmm4,%zmm5,%zmm6");
3833     asm volatile("vaddpd {ru-sae},%zmm4,%zmm5,%zmm6");
3834     asm volatile("vaddpd {rd-sae},%zmm4,%zmm5,%zmm6");
3835     asm volatile("vaddpd {rz-sae},%zmm4,%zmm5,%zmm6");
3836     asm volatile("vaddpd (%ecx),%zmm5,%zmm6");
3837     asm volatile("vaddpd 0x123(%eax,%ecx,8),%zmm5,%zmm6");
3838     asm volatile("vaddpd (%ecx){1to8},%zmm5,%zmm6");
3839     asm volatile("vaddpd 0x1fc0(%edx),%zmm5,%zmm6");
3840     asm volatile("vaddpd 0x3f8(%edx){1to8},%zmm5,%zmm6");
3841     asm volatile("vcmpeq_uqps 0x1fc(%edx){1to16},%zmm6,%k5");
3842     asm volatile("vcmpltsd 0x123(%eax,%ecx,8),%xmm3,%k5{%k7}");
3843     asm volatile("vcmplesd {sae},%xmm4,%xmm5,%k5{%k7}");
3844     asm volatile("vgetmantss $0x5b,0x123(%eax,%ecx,8),%xmm4,%xmm5{%k7}");
3845 
3846     /* bndmk m32, bnd */
3847 
3848     asm volatile("bndmk (%eax), %bnd0");
3849     asm volatile("bndmk (0x12345678), %bnd0");
3850     asm volatile("bndmk (%eax), %bnd3");
3851     asm volatile("bndmk (%ecx,%eax,1), %bnd0");
3852     asm volatile("bndmk 0x12345678(,%eax,1), %bnd0");
3853     asm volatile("bndmk (%eax,%ecx,1), %bnd0");
3854     asm volatile("bndmk (%eax,%ecx,8), %bnd0");
3855     asm volatile("bndmk 0x12(%eax), %bnd0");
3856     asm volatile("bndmk 0x12(%ebp), %bnd0");
3857     asm volatile("bndmk 0x12(%ecx,%eax,1), %bnd0");
3858     asm volatile("bndmk 0x12(%ebp,%eax,1), %bnd0");
3859     asm volatile("bndmk 0x12(%eax,%ecx,1), %bnd0");
3860     asm volatile("bndmk 0x12(%eax,%ecx,8), %bnd0");
3861     asm volatile("bndmk 0x12345678(%eax), %bnd0");
3862     asm volatile("bndmk 0x12345678(%ebp), %bnd0");
3863     asm volatile("bndmk 0x12345678(%ecx,%eax,1), %bnd0");
3864     asm volatile("bndmk 0x12345678(%ebp,%eax,1), %bnd0");
3865     asm volatile("bndmk 0x12345678(%eax,%ecx,1), %bnd0");
3866     asm volatile("bndmk 0x12345678(%eax,%ecx,8), %bnd0");
3867 
3868     /* bndcl r/m32, bnd */
3869 
3870     asm volatile("bndcl (%eax), %bnd0");
3871     asm volatile("bndcl (0x12345678), %bnd0");
3872     asm volatile("bndcl (%eax), %bnd3");
3873     asm volatile("bndcl (%ecx,%eax,1), %bnd0");
3874     asm volatile("bndcl 0x12345678(,%eax,1), %bnd0");
3875     asm volatile("bndcl (%eax,%ecx,1), %bnd0");
3876     asm volatile("bndcl (%eax,%ecx,8), %bnd0");
3877     asm volatile("bndcl 0x12(%eax), %bnd0");
3878     asm volatile("bndcl 0x12(%ebp), %bnd0");
3879     asm volatile("bndcl 0x12(%ecx,%eax,1), %bnd0");
3880     asm volatile("bndcl 0x12(%ebp,%eax,1), %bnd0");
3881     asm volatile("bndcl 0x12(%eax,%ecx,1), %bnd0");
3882     asm volatile("bndcl 0x12(%eax,%ecx,8), %bnd0");
3883     asm volatile("bndcl 0x12345678(%eax), %bnd0");
3884     asm volatile("bndcl 0x12345678(%ebp), %bnd0");
3885     asm volatile("bndcl 0x12345678(%ecx,%eax,1), %bnd0");
3886     asm volatile("bndcl 0x12345678(%ebp,%eax,1), %bnd0");
3887     asm volatile("bndcl 0x12345678(%eax,%ecx,1), %bnd0");
3888     asm volatile("bndcl 0x12345678(%eax,%ecx,8), %bnd0");
3889     asm volatile("bndcl %eax, %bnd0");
3890 
3891     /* bndcu r/m32, bnd */
3892 
3893     asm volatile("bndcu (%eax), %bnd0");
3894     asm volatile("bndcu (0x12345678), %bnd0");
3895     asm volatile("bndcu (%eax), %bnd3");
3896     asm volatile("bndcu (%ecx,%eax,1), %bnd0");
3897     asm volatile("bndcu 0x12345678(,%eax,1), %bnd0");
3898     asm volatile("bndcu (%eax,%ecx,1), %bnd0");
3899     asm volatile("bndcu (%eax,%ecx,8), %bnd0");
3900     asm volatile("bndcu 0x12(%eax), %bnd0");
3901     asm volatile("bndcu 0x12(%ebp), %bnd0");
3902     asm volatile("bndcu 0x12(%ecx,%eax,1), %bnd0");
3903     asm volatile("bndcu 0x12(%ebp,%eax,1), %bnd0");
3904     asm volatile("bndcu 0x12(%eax,%ecx,1), %bnd0");
3905     asm volatile("bndcu 0x12(%eax,%ecx,8), %bnd0");
3906     asm volatile("bndcu 0x12345678(%eax), %bnd0");
3907     asm volatile("bndcu 0x12345678(%ebp), %bnd0");
3908     asm volatile("bndcu 0x12345678(%ecx,%eax,1), %bnd0");
3909     asm volatile("bndcu 0x12345678(%ebp,%eax,1), %bnd0");
3910     asm volatile("bndcu 0x12345678(%eax,%ecx,1), %bnd0");
3911     asm volatile("bndcu 0x12345678(%eax,%ecx,8), %bnd0");
3912     asm volatile("bndcu %eax, %bnd0");
3913 
3914     /* bndcn r/m32, bnd */
3915 
3916     asm volatile("bndcn (%eax), %bnd0");
3917     asm volatile("bndcn (0x12345678), %bnd0");
3918     asm volatile("bndcn (%eax), %bnd3");
3919     asm volatile("bndcn (%ecx,%eax,1), %bnd0");
3920     asm volatile("bndcn 0x12345678(,%eax,1), %bnd0");
3921     asm volatile("bndcn (%eax,%ecx,1), %bnd0");
3922     asm volatile("bndcn (%eax,%ecx,8), %bnd0");
3923     asm volatile("bndcn 0x12(%eax), %bnd0");
3924     asm volatile("bndcn 0x12(%ebp), %bnd0");
3925     asm volatile("bndcn 0x12(%ecx,%eax,1), %bnd0");
3926     asm volatile("bndcn 0x12(%ebp,%eax,1), %bnd0");
3927     asm volatile("bndcn 0x12(%eax,%ecx,1), %bnd0");
3928     asm volatile("bndcn 0x12(%eax,%ecx,8), %bnd0");
3929     asm volatile("bndcn 0x12345678(%eax), %bnd0");
3930     asm volatile("bndcn 0x12345678(%ebp), %bnd0");
3931     asm volatile("bndcn 0x12345678(%ecx,%eax,1), %bnd0");
3932     asm volatile("bndcn 0x12345678(%ebp,%eax,1), %bnd0");
3933     asm volatile("bndcn 0x12345678(%eax,%ecx,1), %bnd0");
3934     asm volatile("bndcn 0x12345678(%eax,%ecx,8), %bnd0");
3935     asm volatile("bndcn %eax, %bnd0");
3936 
3937     /* bndmov m64, bnd */
3938 
3939     asm volatile("bndmov (%eax), %bnd0");
3940     asm volatile("bndmov (0x12345678), %bnd0");
3941     asm volatile("bndmov (%eax), %bnd3");
3942     asm volatile("bndmov (%ecx,%eax,1), %bnd0");
3943     asm volatile("bndmov 0x12345678(,%eax,1), %bnd0");
3944     asm volatile("bndmov (%eax,%ecx,1), %bnd0");
3945     asm volatile("bndmov (%eax,%ecx,8), %bnd0");
3946     asm volatile("bndmov 0x12(%eax), %bnd0");
3947     asm volatile("bndmov 0x12(%ebp), %bnd0");
3948     asm volatile("bndmov 0x12(%ecx,%eax,1), %bnd0");
3949     asm volatile("bndmov 0x12(%ebp,%eax,1), %bnd0");
3950     asm volatile("bndmov 0x12(%eax,%ecx,1), %bnd0");
3951     asm volatile("bndmov 0x12(%eax,%ecx,8), %bnd0");
3952     asm volatile("bndmov 0x12345678(%eax), %bnd0");
3953     asm volatile("bndmov 0x12345678(%ebp), %bnd0");
3954     asm volatile("bndmov 0x12345678(%ecx,%eax,1), %bnd0");
3955     asm volatile("bndmov 0x12345678(%ebp,%eax,1), %bnd0");
3956     asm volatile("bndmov 0x12345678(%eax,%ecx,1), %bnd0");
3957     asm volatile("bndmov 0x12345678(%eax,%ecx,8), %bnd0");
3958 
3959     /* bndmov bnd, m64 */
3960 
3961     asm volatile("bndmov %bnd0, (%eax)");
3962     asm volatile("bndmov %bnd0, (0x12345678)");
3963     asm volatile("bndmov %bnd3, (%eax)");
3964     asm volatile("bndmov %bnd0, (%ecx,%eax,1)");
3965     asm volatile("bndmov %bnd0, 0x12345678(,%eax,1)");
3966     asm volatile("bndmov %bnd0, (%eax,%ecx,1)");
3967     asm volatile("bndmov %bnd0, (%eax,%ecx,8)");
3968     asm volatile("bndmov %bnd0, 0x12(%eax)");
3969     asm volatile("bndmov %bnd0, 0x12(%ebp)");
3970     asm volatile("bndmov %bnd0, 0x12(%ecx,%eax,1)");
3971     asm volatile("bndmov %bnd0, 0x12(%ebp,%eax,1)");
3972     asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,1)");
3973     asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,8)");
3974     asm volatile("bndmov %bnd0, 0x12345678(%eax)");
3975     asm volatile("bndmov %bnd0, 0x12345678(%ebp)");
3976     asm volatile("bndmov %bnd0, 0x12345678(%ecx,%eax,1)");
3977     asm volatile("bndmov %bnd0, 0x12345678(%ebp,%eax,1)");
3978     asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,1)");
3979     asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,8)");
3980 
3981     /* bndmov bnd2, bnd1 */
3982 
3983     asm volatile("bndmov %bnd0, %bnd1");
3984     asm volatile("bndmov %bnd1, %bnd0");
3985 
3986     /* bndldx mib, bnd */
3987 
3988     asm volatile("bndldx (%eax), %bnd0");
3989     asm volatile("bndldx (0x12345678), %bnd0");
3990     asm volatile("bndldx (%eax), %bnd3");
3991     asm volatile("bndldx (%ecx,%eax,1), %bnd0");
3992     asm volatile("bndldx 0x12345678(,%eax,1), %bnd0");
3993     asm volatile("bndldx (%eax,%ecx,1), %bnd0");
3994     asm volatile("bndldx 0x12(%eax), %bnd0");
3995     asm volatile("bndldx 0x12(%ebp), %bnd0");
3996     asm volatile("bndldx 0x12(%ecx,%eax,1), %bnd0");
3997     asm volatile("bndldx 0x12(%ebp,%eax,1), %bnd0");
3998     asm volatile("bndldx 0x12(%eax,%ecx,1), %bnd0");
3999     asm volatile("bndldx 0x12345678(%eax), %bnd0");
4000     asm volatile("bndldx 0x12345678(%ebp), %bnd0");
4001     asm volatile("bndldx 0x12345678(%ecx,%eax,1), %bnd0");
4002     asm volatile("bndldx 0x12345678(%ebp,%eax,1), %bnd0");
4003     asm volatile("bndldx 0x12345678(%eax,%ecx,1), %bnd0");
4004 
4005     /* bndstx bnd, mib */
4006 
4007     asm volatile("bndstx %bnd0, (%eax)");
4008     asm volatile("bndstx %bnd0, (0x12345678)");
4009     asm volatile("bndstx %bnd3, (%eax)");
4010     asm volatile("bndstx %bnd0, (%ecx,%eax,1)");
4011     asm volatile("bndstx %bnd0, 0x12345678(,%eax,1)");
4012     asm volatile("bndstx %bnd0, (%eax,%ecx,1)");
4013     asm volatile("bndstx %bnd0, 0x12(%eax)");
4014     asm volatile("bndstx %bnd0, 0x12(%ebp)");
4015     asm volatile("bndstx %bnd0, 0x12(%ecx,%eax,1)");
4016     asm volatile("bndstx %bnd0, 0x12(%ebp,%eax,1)");
4017     asm volatile("bndstx %bnd0, 0x12(%eax,%ecx,1)");
4018     asm volatile("bndstx %bnd0, 0x12345678(%eax)");
4019     asm volatile("bndstx %bnd0, 0x12345678(%ebp)");
4020     asm volatile("bndstx %bnd0, 0x12345678(%ecx,%eax,1)");
4021     asm volatile("bndstx %bnd0, 0x12345678(%ebp,%eax,1)");
4022     asm volatile("bndstx %bnd0, 0x12345678(%eax,%ecx,1)");
4023 
4024     /* bnd prefix on call, ret, jmp and all jcc */
4025 
4026     asm volatile("bnd call label1");  /* Expecting: call unconditional 0xfffffffc */
4027     asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */
4028     asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */
4029     asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */
4030     asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */
4031     asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */
4032     asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0xfffffffc */
4033 
4034     /* sha1rnds4 imm8, xmm2/m128, xmm1 */
4035 
4036     asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");
4037     asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");
4038     asm volatile("sha1rnds4 $0x91, (%eax), %xmm0");
4039     asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");
4040     asm volatile("sha1rnds4 $0x91, (%eax), %xmm3");
4041     asm volatile("sha1rnds4 $0x91, (%ecx,%eax,1), %xmm0");
4042     asm volatile("sha1rnds4 $0x91, 0x12345678(,%eax,1), %xmm0");
4043     asm volatile("sha1rnds4 $0x91, (%eax,%ecx,1), %xmm0");
4044     asm volatile("sha1rnds4 $0x91, (%eax,%ecx,8), %xmm0");
4045     asm volatile("sha1rnds4 $0x91, 0x12(%eax), %xmm0");
4046     asm volatile("sha1rnds4 $0x91, 0x12(%ebp), %xmm0");
4047     asm volatile("sha1rnds4 $0x91, 0x12(%ecx,%eax,1), %xmm0");
4048     asm volatile("sha1rnds4 $0x91, 0x12(%ebp,%eax,1), %xmm0");
4049     asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,1), %xmm0");
4050     asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,8), %xmm0");
4051     asm volatile("sha1rnds4 $0x91, 0x12345678(%eax), %xmm0");
4052     asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp), %xmm0");
4053     asm volatile("sha1rnds4 $0x91, 0x12345678(%ecx,%eax,1), %xmm0");
4054     asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp,%eax,1), %xmm0");
4055     asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,1), %xmm0");
4056     asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,8), %xmm0");
4057 
4058     /* sha1nexte xmm2/m128, xmm1 */
4059 
4060     asm volatile("sha1nexte %xmm1, %xmm0");
4061     asm volatile("sha1nexte %xmm7, %xmm2");
4062     asm volatile("sha1nexte (%eax), %xmm0");
4063     asm volatile("sha1nexte (0x12345678), %xmm0");
4064     asm volatile("sha1nexte (%eax), %xmm3");
4065     asm volatile("sha1nexte (%ecx,%eax,1), %xmm0");
4066     asm volatile("sha1nexte 0x12345678(,%eax,1), %xmm0");
4067     asm volatile("sha1nexte (%eax,%ecx,1), %xmm0");
4068     asm volatile("sha1nexte (%eax,%ecx,8), %xmm0");
4069     asm volatile("sha1nexte 0x12(%eax), %xmm0");
4070     asm volatile("sha1nexte 0x12(%ebp), %xmm0");
4071     asm volatile("sha1nexte 0x12(%ecx,%eax,1), %xmm0");
4072     asm volatile("sha1nexte 0x12(%ebp,%eax,1), %xmm0");
4073     asm volatile("sha1nexte 0x12(%eax,%ecx,1), %xmm0");
4074     asm volatile("sha1nexte 0x12(%eax,%ecx,8), %xmm0");
4075     asm volatile("sha1nexte 0x12345678(%eax), %xmm0");
4076     asm volatile("sha1nexte 0x12345678(%ebp), %xmm0");
4077     asm volatile("sha1nexte 0x12345678(%ecx,%eax,1), %xmm0");
4078     asm volatile("sha1nexte 0x12345678(%ebp,%eax,1), %xmm0");
4079     asm volatile("sha1nexte 0x12345678(%eax,%ecx,1), %xmm0");
4080     asm volatile("sha1nexte 0x12345678(%eax,%ecx,8), %xmm0");
4081 
4082     /* sha1msg1 xmm2/m128, xmm1 */
4083 
4084     asm volatile("sha1msg1 %xmm1, %xmm0");
4085     asm volatile("sha1msg1 %xmm7, %xmm2");
4086     asm volatile("sha1msg1 (%eax), %xmm0");
4087     asm volatile("sha1msg1 (0x12345678), %xmm0");
4088     asm volatile("sha1msg1 (%eax), %xmm3");
4089     asm volatile("sha1msg1 (%ecx,%eax,1), %xmm0");
4090     asm volatile("sha1msg1 0x12345678(,%eax,1), %xmm0");
4091     asm volatile("sha1msg1 (%eax,%ecx,1), %xmm0");
4092     asm volatile("sha1msg1 (%eax,%ecx,8), %xmm0");
4093     asm volatile("sha1msg1 0x12(%eax), %xmm0");
4094     asm volatile("sha1msg1 0x12(%ebp), %xmm0");
4095     asm volatile("sha1msg1 0x12(%ecx,%eax,1), %xmm0");
4096     asm volatile("sha1msg1 0x12(%ebp,%eax,1), %xmm0");
4097     asm volatile("sha1msg1 0x12(%eax,%ecx,1), %xmm0");
4098     asm volatile("sha1msg1 0x12(%eax,%ecx,8), %xmm0");
4099     asm volatile("sha1msg1 0x12345678(%eax), %xmm0");
4100     asm volatile("sha1msg1 0x12345678(%ebp), %xmm0");
4101     asm volatile("sha1msg1 0x12345678(%ecx,%eax,1), %xmm0");
4102     asm volatile("sha1msg1 0x12345678(%ebp,%eax,1), %xmm0");
4103     asm volatile("sha1msg1 0x12345678(%eax,%ecx,1), %xmm0");
4104     asm volatile("sha1msg1 0x12345678(%eax,%ecx,8), %xmm0");
4105 
4106     /* sha1msg2 xmm2/m128, xmm1 */
4107 
4108     asm volatile("sha1msg2 %xmm1, %xmm0");
4109     asm volatile("sha1msg2 %xmm7, %xmm2");
4110     asm volatile("sha1msg2 (%eax), %xmm0");
4111     asm volatile("sha1msg2 (0x12345678), %xmm0");
4112     asm volatile("sha1msg2 (%eax), %xmm3");
4113     asm volatile("sha1msg2 (%ecx,%eax,1), %xmm0");
4114     asm volatile("sha1msg2 0x12345678(,%eax,1), %xmm0");
4115     asm volatile("sha1msg2 (%eax,%ecx,1), %xmm0");
4116     asm volatile("sha1msg2 (%eax,%ecx,8), %xmm0");
4117     asm volatile("sha1msg2 0x12(%eax), %xmm0");
4118     asm volatile("sha1msg2 0x12(%ebp), %xmm0");
4119     asm volatile("sha1msg2 0x12(%ecx,%eax,1), %xmm0");
4120     asm volatile("sha1msg2 0x12(%ebp,%eax,1), %xmm0");
4121     asm volatile("sha1msg2 0x12(%eax,%ecx,1), %xmm0");
4122     asm volatile("sha1msg2 0x12(%eax,%ecx,8), %xmm0");
4123     asm volatile("sha1msg2 0x12345678(%eax), %xmm0");
4124     asm volatile("sha1msg2 0x12345678(%ebp), %xmm0");
4125     asm volatile("sha1msg2 0x12345678(%ecx,%eax,1), %xmm0");
4126     asm volatile("sha1msg2 0x12345678(%ebp,%eax,1), %xmm0");
4127     asm volatile("sha1msg2 0x12345678(%eax,%ecx,1), %xmm0");
4128     asm volatile("sha1msg2 0x12345678(%eax,%ecx,8), %xmm0");
4129 
4130     /* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */
4131     /* Note sha256rnds2 has an implicit operand 'xmm0' */
4132 
4133     asm volatile("sha256rnds2 %xmm4, %xmm1");
4134     asm volatile("sha256rnds2 %xmm7, %xmm2");
4135     asm volatile("sha256rnds2 (%eax), %xmm1");
4136     asm volatile("sha256rnds2 (0x12345678), %xmm1");
4137     asm volatile("sha256rnds2 (%eax), %xmm3");
4138     asm volatile("sha256rnds2 (%ecx,%eax,1), %xmm1");
4139     asm volatile("sha256rnds2 0x12345678(,%eax,1), %xmm1");
4140     asm volatile("sha256rnds2 (%eax,%ecx,1), %xmm1");
4141     asm volatile("sha256rnds2 (%eax,%ecx,8), %xmm1");
4142     asm volatile("sha256rnds2 0x12(%eax), %xmm1");
4143     asm volatile("sha256rnds2 0x12(%ebp), %xmm1");
4144     asm volatile("sha256rnds2 0x12(%ecx,%eax,1), %xmm1");
4145     asm volatile("sha256rnds2 0x12(%ebp,%eax,1), %xmm1");
4146     asm volatile("sha256rnds2 0x12(%eax,%ecx,1), %xmm1");
4147     asm volatile("sha256rnds2 0x12(%eax,%ecx,8), %xmm1");
4148     asm volatile("sha256rnds2 0x12345678(%eax), %xmm1");
4149     asm volatile("sha256rnds2 0x12345678(%ebp), %xmm1");
4150     asm volatile("sha256rnds2 0x12345678(%ecx,%eax,1), %xmm1");
4151     asm volatile("sha256rnds2 0x12345678(%ebp,%eax,1), %xmm1");
4152     asm volatile("sha256rnds2 0x12345678(%eax,%ecx,1), %xmm1");
4153     asm volatile("sha256rnds2 0x12345678(%eax,%ecx,8), %xmm1");
4154 
4155     /* sha256msg1 xmm2/m128, xmm1 */
4156 
4157     asm volatile("sha256msg1 %xmm1, %xmm0");
4158     asm volatile("sha256msg1 %xmm7, %xmm2");
4159     asm volatile("sha256msg1 (%eax), %xmm0");
4160     asm volatile("sha256msg1 (0x12345678), %xmm0");
4161     asm volatile("sha256msg1 (%eax), %xmm3");
4162     asm volatile("sha256msg1 (%ecx,%eax,1), %xmm0");
4163     asm volatile("sha256msg1 0x12345678(,%eax,1), %xmm0");
4164     asm volatile("sha256msg1 (%eax,%ecx,1), %xmm0");
4165     asm volatile("sha256msg1 (%eax,%ecx,8), %xmm0");
4166     asm volatile("sha256msg1 0x12(%eax), %xmm0");
4167     asm volatile("sha256msg1 0x12(%ebp), %xmm0");
4168     asm volatile("sha256msg1 0x12(%ecx,%eax,1), %xmm0");
4169     asm volatile("sha256msg1 0x12(%ebp,%eax,1), %xmm0");
4170     asm volatile("sha256msg1 0x12(%eax,%ecx,1), %xmm0");
4171     asm volatile("sha256msg1 0x12(%eax,%ecx,8), %xmm0");
4172     asm volatile("sha256msg1 0x12345678(%eax), %xmm0");
4173     asm volatile("sha256msg1 0x12345678(%ebp), %xmm0");
4174     asm volatile("sha256msg1 0x12345678(%ecx,%eax,1), %xmm0");
4175     asm volatile("sha256msg1 0x12345678(%ebp,%eax,1), %xmm0");
4176     asm volatile("sha256msg1 0x12345678(%eax,%ecx,1), %xmm0");
4177     asm volatile("sha256msg1 0x12345678(%eax,%ecx,8), %xmm0");
4178 
4179     /* sha256msg2 xmm2/m128, xmm1 */
4180 
4181     asm volatile("sha256msg2 %xmm1, %xmm0");
4182     asm volatile("sha256msg2 %xmm7, %xmm2");
4183     asm volatile("sha256msg2 (%eax), %xmm0");
4184     asm volatile("sha256msg2 (0x12345678), %xmm0");
4185     asm volatile("sha256msg2 (%eax), %xmm3");
4186     asm volatile("sha256msg2 (%ecx,%eax,1), %xmm0");
4187     asm volatile("sha256msg2 0x12345678(,%eax,1), %xmm0");
4188     asm volatile("sha256msg2 (%eax,%ecx,1), %xmm0");
4189     asm volatile("sha256msg2 (%eax,%ecx,8), %xmm0");
4190     asm volatile("sha256msg2 0x12(%eax), %xmm0");
4191     asm volatile("sha256msg2 0x12(%ebp), %xmm0");
4192     asm volatile("sha256msg2 0x12(%ecx,%eax,1), %xmm0");
4193     asm volatile("sha256msg2 0x12(%ebp,%eax,1), %xmm0");
4194     asm volatile("sha256msg2 0x12(%eax,%ecx,1), %xmm0");
4195     asm volatile("sha256msg2 0x12(%eax,%ecx,8), %xmm0");
4196     asm volatile("sha256msg2 0x12345678(%eax), %xmm0");
4197     asm volatile("sha256msg2 0x12345678(%ebp), %xmm0");
4198     asm volatile("sha256msg2 0x12345678(%ecx,%eax,1), %xmm0");
4199     asm volatile("sha256msg2 0x12345678(%ebp,%eax,1), %xmm0");
4200     asm volatile("sha256msg2 0x12345678(%eax,%ecx,1), %xmm0");
4201     asm volatile("sha256msg2 0x12345678(%eax,%ecx,8), %xmm0");
4202 
4203     /* clflushopt m8 */
4204 
4205     asm volatile("clflushopt (%eax)");
4206     asm volatile("clflushopt (0x12345678)");
4207     asm volatile("clflushopt 0x12345678(%eax,%ecx,8)");
4208     /* Also check instructions in the same group encoding as clflushopt */
4209     asm volatile("clflush (%eax)");
4210     asm volatile("sfence");
4211 
4212     /* clwb m8 */
4213 
4214     asm volatile("clwb (%eax)");
4215     asm volatile("clwb (0x12345678)");
4216     asm volatile("clwb 0x12345678(%eax,%ecx,8)");
4217     /* Also check instructions in the same group encoding as clwb */
4218     asm volatile("xsaveopt (%eax)");
4219     asm volatile("mfence");
4220 
4221     /* cldemote m8 */
4222 
4223     asm volatile("cldemote (%eax)");
4224     asm volatile("cldemote (0x12345678)");
4225     asm volatile("cldemote 0x12345678(%eax,%ecx,8)");
4226 
4227     /* xsavec mem */
4228 
4229     asm volatile("xsavec (%eax)");
4230     asm volatile("xsavec (0x12345678)");
4231     asm volatile("xsavec 0x12345678(%eax,%ecx,8)");
4232 
4233     /* xsaves mem */
4234 
4235     asm volatile("xsaves (%eax)");
4236     asm volatile("xsaves (0x12345678)");
4237     asm volatile("xsaves 0x12345678(%eax,%ecx,8)");
4238 
4239     /* xrstors mem */
4240 
4241     asm volatile("xrstors (%eax)");
4242     asm volatile("xrstors (0x12345678)");
4243     asm volatile("xrstors 0x12345678(%eax,%ecx,8)");
4244 
4245     /* ptwrite */
4246 
4247     asm volatile("ptwrite (%eax)");
4248     asm volatile("ptwrite (0x12345678)");
4249     asm volatile("ptwrite 0x12345678(%eax,%ecx,8)");
4250 
4251     asm volatile("ptwritel (%eax)");
4252     asm volatile("ptwritel (0x12345678)");
4253     asm volatile("ptwritel 0x12345678(%eax,%ecx,8)");
4254 
4255     /* tpause */
4256 
4257     asm volatile("tpause %ebx");
4258 
4259     /* umonitor */
4260 
4261     asm volatile("umonitor %ax");
4262     asm volatile("umonitor %eax");
4263 
4264     /* umwait */
4265 
4266     asm volatile("umwait %eax");
4267 
4268     /* movdiri */
4269 
4270     asm volatile("movdiri %eax,(%ebx)");
4271     asm volatile("movdiri %ecx,0x12345678(%eax)");
4272 
4273     /* movdir64b */
4274 
4275     asm volatile("movdir64b (%eax),%ebx");
4276     asm volatile("movdir64b 0x12345678(%eax),%ecx");
4277     asm volatile("movdir64b (%si),%bx");
4278     asm volatile("movdir64b 0x1234(%si),%cx");
4279 
4280     /* enqcmd */
4281 
4282     asm volatile("enqcmd (%eax),%ebx");
4283     asm volatile("enqcmd 0x12345678(%eax),%ecx");
4284     asm volatile("enqcmd (%si),%bx");
4285     asm volatile("enqcmd 0x1234(%si),%cx");
4286 
4287     /* enqcmds */
4288 
4289     asm volatile("enqcmds (%eax),%ebx");
4290     asm volatile("enqcmds 0x12345678(%eax),%ecx");
4291     asm volatile("enqcmds (%si),%bx");
4292     asm volatile("enqcmds 0x1234(%si),%cx");
4293 
4294     /* incsspd */
4295 
4296     asm volatile("incsspd %eax");
4297     /* Also check instructions in the same group encoding as incsspd */
4298     asm volatile("xrstor (%eax)");
4299     asm volatile("xrstor (0x12345678)");
4300     asm volatile("xrstor 0x12345678(%eax,%ecx,8)");
4301     asm volatile("lfence");
4302 
4303     /* rdsspd */
4304 
4305     asm volatile("rdsspd %eax");
4306 
4307     /* saveprevssp */
4308 
4309     asm volatile("saveprevssp");
4310 
4311     /* rstorssp */
4312 
4313     asm volatile("rstorssp (%eax)");
4314     asm volatile("rstorssp (0x12345678)");
4315     asm volatile("rstorssp 0x12345678(%eax,%ecx,8)");
4316 
4317     /* wrssd */
4318 
4319     asm volatile("wrssd %ecx,(%eax)");
4320     asm volatile("wrssd %edx,(0x12345678)");
4321     asm volatile("wrssd %edx,0x12345678(%eax,%ecx,8)");
4322 
4323     /* wrussd */
4324 
4325     asm volatile("wrussd %ecx,(%eax)");
4326     asm volatile("wrussd %edx,(0x12345678)");
4327     asm volatile("wrussd %edx,0x12345678(%eax,%ecx,8)");
4328 
4329     /* setssbsy */
4330 
4331     asm volatile("setssbsy");
4332     /* Also check instructions in the same group encoding as setssbsy */
4333     asm volatile("rdpkru");
4334     asm volatile("wrpkru");
4335 
4336     /* clrssbsy */
4337 
4338     asm volatile("clrssbsy (%eax)");
4339     asm volatile("clrssbsy (0x12345678)");
4340     asm volatile("clrssbsy 0x12345678(%eax,%ecx,8)");
4341 
4342     /* endbr32/64 */
4343 
4344     asm volatile("endbr32");
4345     asm volatile("endbr64");
4346 
4347     /* call with/without notrack prefix */
4348 
4349     asm volatile("call *%eax");             /* Expecting: call indirect 0 */
4350     asm volatile("call *(%eax)");               /* Expecting: call indirect 0 */
4351     asm volatile("call *(0x12345678)");         /* Expecting: call indirect 0 */
4352     asm volatile("call *0x12345678(%eax,%ecx,8)");      /* Expecting: call indirect 0 */
4353 
4354     asm volatile("bnd call *%eax");             /* Expecting: call indirect 0 */
4355     asm volatile("bnd call *(%eax)");           /* Expecting: call indirect 0 */
4356     asm volatile("bnd call *(0x12345678)");         /* Expecting: call indirect 0 */
4357     asm volatile("bnd call *0x12345678(%eax,%ecx,8)");  /* Expecting: call indirect 0 */
4358 
4359     asm volatile("notrack call *%eax");         /* Expecting: call indirect 0 */
4360     asm volatile("notrack call *(%eax)");           /* Expecting: call indirect 0 */
4361     asm volatile("notrack call *(0x12345678)");     /* Expecting: call indirect 0 */
4362     asm volatile("notrack call *0x12345678(%eax,%ecx,8)");  /* Expecting: call indirect 0 */
4363 
4364     asm volatile("notrack bnd call *%eax");         /* Expecting: call indirect 0 */
4365     asm volatile("notrack bnd call *(%eax)");       /* Expecting: call indirect 0 */
4366     asm volatile("notrack bnd call *(0x12345678)");     /* Expecting: call indirect 0 */
4367     asm volatile("notrack bnd call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */
4368 
4369     /* jmp with/without notrack prefix */
4370 
4371     asm volatile("jmp *%eax");              /* Expecting: jmp indirect 0 */
4372     asm volatile("jmp *(%eax)");                /* Expecting: jmp indirect 0 */
4373     asm volatile("jmp *(0x12345678)");          /* Expecting: jmp indirect 0 */
4374     asm volatile("jmp *0x12345678(%eax,%ecx,8)");       /* Expecting: jmp indirect 0 */
4375 
4376     asm volatile("bnd jmp *%eax");              /* Expecting: jmp indirect 0 */
4377     asm volatile("bnd jmp *(%eax)");            /* Expecting: jmp indirect 0 */
4378     asm volatile("bnd jmp *(0x12345678)");          /* Expecting: jmp indirect 0 */
4379     asm volatile("bnd jmp *0x12345678(%eax,%ecx,8)");   /* Expecting: jmp indirect 0 */
4380 
4381     asm volatile("notrack jmp *%eax");          /* Expecting: jmp indirect 0 */
4382     asm volatile("notrack jmp *(%eax)");            /* Expecting: jmp indirect 0 */
4383     asm volatile("notrack jmp *(0x12345678)");      /* Expecting: jmp indirect 0 */
4384     asm volatile("notrack jmp *0x12345678(%eax,%ecx,8)");   /* Expecting: jmp indirect 0 */
4385 
4386     asm volatile("notrack bnd jmp *%eax");          /* Expecting: jmp indirect 0 */
4387     asm volatile("notrack bnd jmp *(%eax)");        /* Expecting: jmp indirect 0 */
4388     asm volatile("notrack bnd jmp *(0x12345678)");      /* Expecting: jmp indirect 0 */
4389     asm volatile("notrack bnd jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */
4390 
4391     /* AVX512-FP16 */
4392 
4393     asm volatile("vaddph %zmm3, %zmm2, %zmm1");
4394     asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4395     asm volatile("vaddph %xmm3, %xmm2, %xmm1");
4396     asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4397     asm volatile("vaddph %ymm3, %ymm2, %ymm1");
4398     asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4399     asm volatile("vaddsh %xmm3, %xmm2, %xmm1");
4400     asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4401     asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");
4402     asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");
4403     asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");
4404     asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
4405     asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");
4406     asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");
4407     asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");
4408     asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
4409     asm volatile("vcomish %xmm2, %xmm1");
4410     asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");
4411     asm volatile("vcvtdq2ph %zmm2, %ymm1");
4412     asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");
4413     asm volatile("vcvtdq2ph %xmm2, %xmm1");
4414     asm volatile("vcvtdq2ph %ymm2, %xmm1");
4415     asm volatile("vcvtpd2ph %zmm2, %xmm1");
4416     asm volatile("vcvtpd2ph %xmm2, %xmm1");
4417     asm volatile("vcvtpd2ph %ymm2, %xmm1");
4418     asm volatile("vcvtph2dq %ymm2, %zmm1");
4419     asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");
4420     asm volatile("vcvtph2dq %xmm2, %xmm1");
4421     asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");
4422     asm volatile("vcvtph2dq %xmm2, %ymm1");
4423     asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");
4424     asm volatile("vcvtph2pd %xmm2, %zmm1");
4425     asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");
4426     asm volatile("vcvtph2pd %xmm2, %xmm1");
4427     asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");
4428     asm volatile("vcvtph2pd %xmm2, %ymm1");
4429     asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");
4430     asm volatile("vcvtph2ps %ymm2, %zmm1");
4431     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");
4432     asm volatile("vcvtph2ps %xmm2, %xmm1");
4433     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
4434     asm volatile("vcvtph2ps %xmm2, %ymm1");
4435     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
4436     asm volatile("vcvtph2ps %xmm2, %xmm1");
4437     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
4438     asm volatile("vcvtph2ps %xmm2, %ymm1");
4439     asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
4440     asm volatile("vcvtph2psx %ymm2, %zmm1");
4441     asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");
4442     asm volatile("vcvtph2psx %xmm2, %xmm1");
4443     asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");
4444     asm volatile("vcvtph2psx %xmm2, %ymm1");
4445     asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");
4446     asm volatile("vcvtph2qq %xmm2, %zmm1");
4447     asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");
4448     asm volatile("vcvtph2qq %xmm2, %xmm1");
4449     asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");
4450     asm volatile("vcvtph2qq %xmm2, %ymm1");
4451     asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");
4452     asm volatile("vcvtph2udq %ymm2, %zmm1");
4453     asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");
4454     asm volatile("vcvtph2udq %xmm2, %xmm1");
4455     asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");
4456     asm volatile("vcvtph2udq %xmm2, %ymm1");
4457     asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");
4458     asm volatile("vcvtph2uqq %xmm2, %zmm1");
4459     asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
4460     asm volatile("vcvtph2uqq %xmm2, %xmm1");
4461     asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
4462     asm volatile("vcvtph2uqq %xmm2, %ymm1");
4463     asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
4464     asm volatile("vcvtph2uw %zmm2, %zmm1");
4465     asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");
4466     asm volatile("vcvtph2uw %xmm2, %xmm1");
4467     asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");
4468     asm volatile("vcvtph2uw %ymm2, %ymm1");
4469     asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");
4470     asm volatile("vcvtph2w %zmm2, %zmm1");
4471     asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");
4472     asm volatile("vcvtph2w %xmm2, %xmm1");
4473     asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");
4474     asm volatile("vcvtph2w %ymm2, %ymm1");
4475     asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");
4476     asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");
4477     asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");
4478     asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");
4479     asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");
4480     asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
4481     asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
4482     asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
4483     asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");
4484     asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
4485     asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");
4486     asm volatile("vcvtps2phx %zmm2, %ymm1");
4487     asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");
4488     asm volatile("vcvtps2phx %xmm2, %xmm1");
4489     asm volatile("vcvtps2phx %ymm2, %xmm1");
4490     asm volatile("vcvtqq2ph %zmm2, %xmm1");
4491     asm volatile("vcvtqq2ph %xmm2, %xmm1");
4492     asm volatile("vcvtqq2ph %ymm2, %xmm1");
4493     asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4494     asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4495     asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");
4496     asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4497     asm volatile("vcvtsh2usi %xmm1, %eax");
4498     asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");
4499     asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");
4500     asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4501     asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4502     asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");
4503     asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4504     asm volatile("vcvttph2dq %ymm2, %zmm1");
4505     asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");
4506     asm volatile("vcvttph2dq %xmm2, %xmm1");
4507     asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");
4508     asm volatile("vcvttph2dq %xmm2, %ymm1");
4509     asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");
4510     asm volatile("vcvttph2qq %xmm2, %zmm1");
4511     asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");
4512     asm volatile("vcvttph2qq %xmm2, %xmm1");
4513     asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");
4514     asm volatile("vcvttph2qq %xmm2, %ymm1");
4515     asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");
4516     asm volatile("vcvttph2udq %ymm2, %zmm1");
4517     asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");
4518     asm volatile("vcvttph2udq %xmm2, %xmm1");
4519     asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");
4520     asm volatile("vcvttph2udq %xmm2, %ymm1");
4521     asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");
4522     asm volatile("vcvttph2uqq %xmm2, %zmm1");
4523     asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
4524     asm volatile("vcvttph2uqq %xmm2, %xmm1");
4525     asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
4526     asm volatile("vcvttph2uqq %xmm2, %ymm1");
4527     asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
4528     asm volatile("vcvttph2uw %zmm2, %zmm1");
4529     asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");
4530     asm volatile("vcvttph2uw %xmm2, %xmm1");
4531     asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");
4532     asm volatile("vcvttph2uw %ymm2, %ymm1");
4533     asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");
4534     asm volatile("vcvttph2w %zmm2, %zmm1");
4535     asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");
4536     asm volatile("vcvttph2w %xmm2, %xmm1");
4537     asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");
4538     asm volatile("vcvttph2w %ymm2, %ymm1");
4539     asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");
4540     asm volatile("vcvttsh2si %xmm1, %eax");
4541     asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");
4542     asm volatile("vcvttsh2usi %xmm1, %eax");
4543     asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");
4544     asm volatile("vcvtudq2ph %zmm2, %ymm1");
4545     asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");
4546     asm volatile("vcvtudq2ph %xmm2, %xmm1");
4547     asm volatile("vcvtudq2ph %ymm2, %xmm1");
4548     asm volatile("vcvtuqq2ph %zmm2, %xmm1");
4549     asm volatile("vcvtuqq2ph %xmm2, %xmm1");
4550     asm volatile("vcvtuqq2ph %ymm2, %xmm1");
4551     asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");
4552     asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4553     asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4554     asm volatile("vcvtuw2ph %zmm2, %zmm1");
4555     asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");
4556     asm volatile("vcvtuw2ph %xmm2, %xmm1");
4557     asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");
4558     asm volatile("vcvtuw2ph %ymm2, %ymm1");
4559     asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");
4560     asm volatile("vcvtw2ph %zmm2, %zmm1");
4561     asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");
4562     asm volatile("vcvtw2ph %xmm2, %xmm1");
4563     asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");
4564     asm volatile("vcvtw2ph %ymm2, %ymm1");
4565     asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");
4566     asm volatile("vdivph %zmm3, %zmm2, %zmm1");
4567     asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4568     asm volatile("vdivph %xmm3, %xmm2, %xmm1");
4569     asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4570     asm volatile("vdivph %ymm3, %ymm2, %ymm1");
4571     asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4572     asm volatile("vdivsh %xmm3, %xmm2, %xmm1");
4573     asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4574     asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");
4575     asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4576     asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");
4577     asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4578     asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");
4579     asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4580     asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");
4581     asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4582     asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");
4583     asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4584     asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");
4585     asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4586     asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");
4587     asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4588     asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");
4589     asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4590     asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");
4591     asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4592     asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");
4593     asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4594     asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");
4595     asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4596     asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");
4597     asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4598     asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");
4599     asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4600     asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");
4601     asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4602     asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");
4603     asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4604     asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");
4605     asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4606     asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");
4607     asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4608     asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");
4609     asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4610     asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");
4611     asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4612     asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");
4613     asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4614     asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");
4615     asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4616     asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");
4617     asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4618     asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");
4619     asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4620     asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");
4621     asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4622     asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");
4623     asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4624     asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");
4625     asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4626     asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");
4627     asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4628     asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");
4629     asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4630     asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");
4631     asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4632     asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");
4633     asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4634     asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");
4635     asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4636     asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");
4637     asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4638     asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");
4639     asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4640     asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");
4641     asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4642     asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");
4643     asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4644     asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");
4645     asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4646     asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");
4647     asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4648     asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");
4649     asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4650     asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");
4651     asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4652     asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");
4653     asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4654     asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");
4655     asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4656     asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");
4657     asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4658     asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");
4659     asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4660     asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");
4661     asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4662     asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");
4663     asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4664     asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");
4665     asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4666     asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");
4667     asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4668     asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");
4669     asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4670     asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");
4671     asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4672     asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");
4673     asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4674     asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");
4675     asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4676     asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");
4677     asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4678     asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");
4679     asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4680     asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");
4681     asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4682     asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");
4683     asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4684     asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");
4685     asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4686     asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");
4687     asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4688     asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");
4689     asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4690     asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");
4691     asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4692     asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");
4693     asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4694     asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");
4695     asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4696     asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");
4697     asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4698     asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");
4699     asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4700     asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");
4701     asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4702     asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");
4703     asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4704     asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");
4705     asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4706     asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");
4707     asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4708     asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");
4709     asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4710     asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");
4711     asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4712     asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");
4713     asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4714     asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");
4715     asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4716     asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");
4717     asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4718     asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");
4719     asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4720     asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");
4721     asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4722     asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");
4723     asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4724     asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");
4725     asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4726     asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");
4727     asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4728     asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");
4729     asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4730     asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");
4731     asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4732     asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");
4733     asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4734     asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");
4735     asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4736     asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");
4737     asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4738     asm volatile("vfpclassph $0x12, %zmm1, %k5");
4739     asm volatile("vfpclassph $0x12, %xmm1, %k5");
4740     asm volatile("vfpclassph $0x12, %ymm1, %k5");
4741     asm volatile("vfpclasssh $0x12, %xmm1, %k5");
4742     asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");
4743     asm volatile("vgetexpph %zmm2, %zmm1");
4744     asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");
4745     asm volatile("vgetexpph %xmm2, %xmm1");
4746     asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");
4747     asm volatile("vgetexpph %ymm2, %ymm1");
4748     asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");
4749     asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");
4750     asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4751     asm volatile("vgetmantph $0x12, %zmm2, %zmm1");
4752     asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
4753     asm volatile("vgetmantph $0x12, %xmm2, %xmm1");
4754     asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
4755     asm volatile("vgetmantph $0x12, %ymm2, %ymm1");
4756     asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
4757     asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");
4758     asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4759     asm volatile("vmaxph %zmm3, %zmm2, %zmm1");
4760     asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4761     asm volatile("vmaxph %xmm3, %xmm2, %xmm1");
4762     asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4763     asm volatile("vmaxph %ymm3, %ymm2, %ymm1");
4764     asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4765     asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");
4766     asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4767     asm volatile("vminph %zmm3, %zmm2, %zmm1");
4768     asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4769     asm volatile("vminph %xmm3, %xmm2, %xmm1");
4770     asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4771     asm volatile("vminph %ymm3, %ymm2, %ymm1");
4772     asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4773     asm volatile("vminsh %xmm3, %xmm2, %xmm1");
4774     asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4775     asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");
4776     asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");
4777     asm volatile("vmovsh %xmm3, %xmm2, %xmm1");
4778     asm volatile("vmovw %xmm1, %eax");
4779     asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");
4780     asm volatile("vmovw %eax, %xmm1");
4781     asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");
4782     asm volatile("vmulph %zmm3, %zmm2, %zmm1");
4783     asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4784     asm volatile("vmulph %xmm3, %xmm2, %xmm1");
4785     asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4786     asm volatile("vmulph %ymm3, %ymm2, %ymm1");
4787     asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4788     asm volatile("vmulsh %xmm3, %xmm2, %xmm1");
4789     asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4790     asm volatile("vrcpph %zmm2, %zmm1");
4791     asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");
4792     asm volatile("vrcpph %xmm2, %xmm1");
4793     asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");
4794     asm volatile("vrcpph %ymm2, %ymm1");
4795     asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");
4796     asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");
4797     asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4798     asm volatile("vreduceph $0x12, %zmm2, %zmm1");
4799     asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
4800     asm volatile("vreduceph $0x12, %xmm2, %xmm1");
4801     asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
4802     asm volatile("vreduceph $0x12, %ymm2, %ymm1");
4803     asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
4804     asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");
4805     asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4806     asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");
4807     asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
4808     asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");
4809     asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
4810     asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");
4811     asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
4812     asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");
4813     asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4814     asm volatile("vrsqrtph %zmm2, %zmm1");
4815     asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
4816     asm volatile("vrsqrtph %xmm2, %xmm1");
4817     asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
4818     asm volatile("vrsqrtph %ymm2, %ymm1");
4819     asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
4820     asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");
4821     asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4822     asm volatile("vscalefph %zmm3, %zmm2, %zmm1");
4823     asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4824     asm volatile("vscalefph %xmm3, %xmm2, %xmm1");
4825     asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4826     asm volatile("vscalefph %ymm3, %ymm2, %ymm1");
4827     asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4828     asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");
4829     asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4830     asm volatile("vsqrtph %zmm2, %zmm1");
4831     asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
4832     asm volatile("vsqrtph %xmm2, %xmm1");
4833     asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
4834     asm volatile("vsqrtph %ymm2, %ymm1");
4835     asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
4836     asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");
4837     asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4838     asm volatile("vsubph %zmm3, %zmm2, %zmm1");
4839     asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
4840     asm volatile("vsubph %xmm3, %xmm2, %xmm1");
4841     asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4842     asm volatile("vsubph %ymm3, %ymm2, %ymm1");
4843     asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
4844     asm volatile("vsubsh %xmm3, %xmm2, %xmm1");
4845     asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
4846     asm volatile("vucomish %xmm2, %xmm1");
4847     asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");
4848 
4849 #endif /* #ifndef __x86_64__ */
4850 
4851     /* Prediction history reset */
4852 
4853     asm volatile("hreset $0");
4854 
4855     /* Serialize instruction execution */
4856 
4857     asm volatile("serialize");
4858 
4859     /* TSX suspend load address tracking */
4860 
4861     asm volatile("xresldtrk");
4862     asm volatile("xsusldtrk");
4863 
4864     /* SGX */
4865 
4866     asm volatile("encls");
4867     asm volatile("enclu");
4868     asm volatile("enclv");
4869 
4870     /* pconfig */
4871 
4872     asm volatile("pconfig");
4873 
4874     /* wbnoinvd */
4875 
4876     asm volatile("wbnoinvd");
4877 
4878     /* Following line is a marker for the awk script - do not change */
4879     asm volatile("rdtsc"); /* Stop here */
4880 
4881     return 0;
4882 }