brintos

brintos / linux-shallow public Read only

0
0
Text · 211.8 KiB · f55505c Raw
5480 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * This file contains instructions for testing by the test titled:4 *5 *         "Test x86 instruction decoder - new instructions"6 *7 * Note that the 'Expecting' comment lines are consumed by the8 * gen-insn-x86-dat.awk script and have the format:9 *10 *         Expecting: <op> <branch> <rel>11 *12 * If this file is changed, remember to run the gen-insn-x86-dat.sh13 * script and commit the result.14 *15 * Refer to insn-x86.c for more details.16 */17 18int main(void)19{20	/* Following line is a marker for the awk script - do not change */21	asm volatile("rdtsc"); /* Start here */22 23	/* Test fix for vcvtph2ps in x86-opcode-map.txt */24 25	asm volatile("vcvtph2ps %xmm3,%ymm5");26 27#ifdef __x86_64__28 29	/* AVX-512: Instructions with the same op codes as Mask Instructions  */30 31	asm volatile("cmovno %rax,%rbx");32	asm volatile("cmovno 0x12345678(%rax),%rcx");33	asm volatile("cmovno 0x12345678(%rax),%cx");34 35	asm volatile("cmove  %rax,%rbx");36	asm volatile("cmove 0x12345678(%rax),%rcx");37	asm volatile("cmove 0x12345678(%rax),%cx");38 39	asm volatile("seto    0x12345678(%rax)");40	asm volatile("setno   0x12345678(%rax)");41	asm volatile("setb    0x12345678(%rax)");42	asm volatile("setc    0x12345678(%rax)");43	asm volatile("setnae  0x12345678(%rax)");44	asm volatile("setae   0x12345678(%rax)");45	asm volatile("setnb   0x12345678(%rax)");46	asm volatile("setnc   0x12345678(%rax)");47	asm volatile("sets    0x12345678(%rax)");48	asm volatile("setns   0x12345678(%rax)");49 50	/* AVX-512: Mask Instructions */51 52	asm volatile("kandw  %k7,%k6,%k5");53	asm volatile("kandq  %k7,%k6,%k5");54	asm volatile("kandb  %k7,%k6,%k5");55	asm volatile("kandd  %k7,%k6,%k5");56 57	asm volatile("kandnw  %k7,%k6,%k5");58	asm volatile("kandnq  %k7,%k6,%k5");59	asm volatile("kandnb  %k7,%k6,%k5");60	asm volatile("kandnd  %k7,%k6,%k5");61 62	asm volatile("knotw  %k7,%k6");63	asm volatile("knotq  %k7,%k6");64	asm volatile("knotb  %k7,%k6");65	asm volatile("knotd  %k7,%k6");66 67	asm volatile("korw  %k7,%k6,%k5");68	asm volatile("korq  %k7,%k6,%k5");69	asm volatile("korb  %k7,%k6,%k5");70	asm volatile("kord  %k7,%k6,%k5");71 72	asm volatile("kxnorw  %k7,%k6,%k5");73	asm volatile("kxnorq  %k7,%k6,%k5");74	asm volatile("kxnorb  %k7,%k6,%k5");75	asm volatile("kxnord  %k7,%k6,%k5");76 77	asm volatile("kxorw  %k7,%k6,%k5");78	asm volatile("kxorq  %k7,%k6,%k5");79	asm volatile("kxorb  %k7,%k6,%k5");80	asm volatile("kxord  %k7,%k6,%k5");81 82	asm volatile("kaddw  %k7,%k6,%k5");83	asm volatile("kaddq  %k7,%k6,%k5");84	asm volatile("kaddb  %k7,%k6,%k5");85	asm volatile("kaddd  %k7,%k6,%k5");86 87	asm volatile("kunpckbw %k7,%k6,%k5");88	asm volatile("kunpckwd %k7,%k6,%k5");89	asm volatile("kunpckdq %k7,%k6,%k5");90 91	asm volatile("kmovw  %k6,%k5");92	asm volatile("kmovw  (%rcx),%k5");93	asm volatile("kmovw  0x123(%rax,%r14,8),%k5");94	asm volatile("kmovw  %k5,(%rcx)");95	asm volatile("kmovw  %k5,0x123(%rax,%r14,8)");96	asm volatile("kmovw  %eax,%k5");97	asm volatile("kmovw  %ebp,%k5");98	asm volatile("kmovw  %r13d,%k5");99	asm volatile("kmovw  %k5,%eax");100	asm volatile("kmovw  %k5,%ebp");101	asm volatile("kmovw  %k5,%r13d");102 103	asm volatile("kmovq  %k6,%k5");104	asm volatile("kmovq  (%rcx),%k5");105	asm volatile("kmovq  0x123(%rax,%r14,8),%k5");106	asm volatile("kmovq  %k5,(%rcx)");107	asm volatile("kmovq  %k5,0x123(%rax,%r14,8)");108	asm volatile("kmovq  %rax,%k5");109	asm volatile("kmovq  %rbp,%k5");110	asm volatile("kmovq  %r13,%k5");111	asm volatile("kmovq  %k5,%rax");112	asm volatile("kmovq  %k5,%rbp");113	asm volatile("kmovq  %k5,%r13");114 115	asm volatile("kmovb  %k6,%k5");116	asm volatile("kmovb  (%rcx),%k5");117	asm volatile("kmovb  0x123(%rax,%r14,8),%k5");118	asm volatile("kmovb  %k5,(%rcx)");119	asm volatile("kmovb  %k5,0x123(%rax,%r14,8)");120	asm volatile("kmovb  %eax,%k5");121	asm volatile("kmovb  %ebp,%k5");122	asm volatile("kmovb  %r13d,%k5");123	asm volatile("kmovb  %k5,%eax");124	asm volatile("kmovb  %k5,%ebp");125	asm volatile("kmovb  %k5,%r13d");126 127	asm volatile("kmovd  %k6,%k5");128	asm volatile("kmovd  (%rcx),%k5");129	asm volatile("kmovd  0x123(%rax,%r14,8),%k5");130	asm volatile("kmovd  %k5,(%rcx)");131	asm volatile("kmovd  %k5,0x123(%rax,%r14,8)");132	asm volatile("kmovd  %eax,%k5");133	asm volatile("kmovd  %ebp,%k5");134	asm volatile("kmovd  %r13d,%k5");135	asm volatile("kmovd  %k5,%eax");136	asm volatile("kmovd  %k5,%ebp");137	asm volatile("kmovd %k5,%r13d");138 139	asm volatile("kortestw %k6,%k5");140	asm volatile("kortestq %k6,%k5");141	asm volatile("kortestb %k6,%k5");142	asm volatile("kortestd %k6,%k5");143 144	asm volatile("ktestw %k6,%k5");145	asm volatile("ktestq %k6,%k5");146	asm volatile("ktestb %k6,%k5");147	asm volatile("ktestd %k6,%k5");148 149	asm volatile("kshiftrw $0x12,%k6,%k5");150	asm volatile("kshiftrq $0x5b,%k6,%k5");151	asm volatile("kshiftlw $0x12,%k6,%k5");152	asm volatile("kshiftlq $0x5b,%k6,%k5");153 154	/* AVX-512: Op code 0f 5b */155	asm volatile("vcvtdq2ps %xmm5,%xmm6");156	asm volatile("vcvtqq2ps %zmm29,%ymm6{%k7}");157	asm volatile("vcvtps2dq %xmm5,%xmm6");158	asm volatile("vcvttps2dq %xmm5,%xmm6");159 160	/* AVX-512: Op code 0f 6f */161 162	asm volatile("movq   %mm0,%mm4");163	asm volatile("vmovdqa %ymm4,%ymm6");164	asm volatile("vmovdqa32 %zmm25,%zmm26");165	asm volatile("vmovdqa64 %zmm25,%zmm26");166	asm volatile("vmovdqu %ymm4,%ymm6");167	asm volatile("vmovdqu32 %zmm29,%zmm30");168	asm volatile("vmovdqu64 %zmm25,%zmm26");169	asm volatile("vmovdqu8 %zmm29,%zmm30");170	asm volatile("vmovdqu16 %zmm25,%zmm26");171 172	/* AVX-512: Op code 0f 78 */173 174	asm volatile("vmread %rax,%rbx");175	asm volatile("vcvttps2udq %zmm25,%zmm26");176	asm volatile("vcvttpd2udq %zmm29,%ymm6{%k7}");177	asm volatile("vcvttsd2usi %xmm6,%rax");178	asm volatile("vcvttss2usi %xmm6,%rax");179	asm volatile("vcvttps2uqq %ymm5,%zmm26{%k7}");180	asm volatile("vcvttpd2uqq %zmm29,%zmm30");181 182	/* AVX-512: Op code 0f 79 */183 184	asm volatile("vmwrite %rax,%rbx");185	asm volatile("vcvtps2udq %zmm25,%zmm26");186	asm volatile("vcvtpd2udq %zmm29,%ymm6{%k7}");187	asm volatile("vcvtsd2usi %xmm6,%rax");188	asm volatile("vcvtss2usi %xmm6,%rax");189	asm volatile("vcvtps2uqq %ymm5,%zmm26{%k7}");190	asm volatile("vcvtpd2uqq %zmm29,%zmm30");191 192	/* AVX-512: Op code 0f 7a */193 194	asm volatile("vcvtudq2pd %ymm5,%zmm29{%k7}");195	asm volatile("vcvtuqq2pd %zmm25,%zmm26");196	asm volatile("vcvtudq2ps %zmm29,%zmm30");197	asm volatile("vcvtuqq2ps %zmm25,%ymm26{%k7}");198	asm volatile("vcvttps2qq %ymm25,%zmm26{%k7}");199	asm volatile("vcvttpd2qq %zmm29,%zmm30");200 201	/* AVX-512: Op code 0f 7b */202 203	asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");204	asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");205	asm volatile("vcvtps2qq %ymm5,%zmm26{%k7}");206	asm volatile("vcvtpd2qq %zmm29,%zmm30");207 208	/* AVX-512: Op code 0f 7f */209 210	asm volatile("movq.s  %mm0,%mm4");211	asm volatile("vmovdqa %ymm8,%ymm6");212	asm volatile("vmovdqa32.s %zmm25,%zmm26");213	asm volatile("vmovdqa64.s %zmm25,%zmm26");214	asm volatile("vmovdqu %ymm8,%ymm6");215	asm volatile("vmovdqu32.s %zmm25,%zmm26");216	asm volatile("vmovdqu64.s %zmm25,%zmm26");217	asm volatile("vmovdqu8.s %zmm30,(%rcx)");218	asm volatile("vmovdqu16.s %zmm25,%zmm26");219 220	/* AVX-512: Op code 0f db */221 222	asm volatile("pand  %mm1,%mm2");223	asm volatile("pand  %xmm1,%xmm2");224	asm volatile("vpand  %ymm4,%ymm6,%ymm2");225	asm volatile("vpandd %zmm24,%zmm25,%zmm26");226	asm volatile("vpandq %zmm24,%zmm25,%zmm26");227 228	/* AVX-512: Op code 0f df */229 230	asm volatile("pandn  %mm1,%mm2");231	asm volatile("pandn  %xmm1,%xmm2");232	asm volatile("vpandn %ymm4,%ymm6,%ymm2");233	asm volatile("vpandnd %zmm24,%zmm25,%zmm26");234	asm volatile("vpandnq %zmm24,%zmm25,%zmm26");235 236	/* AVX-512: Op code 0f e6 */237 238	asm volatile("vcvttpd2dq %xmm1,%xmm2");239	asm volatile("vcvtdq2pd %xmm5,%xmm6");240	asm volatile("vcvtdq2pd %ymm5,%zmm26{%k7}");241	asm volatile("vcvtqq2pd %zmm25,%zmm26");242	asm volatile("vcvtpd2dq %xmm1,%xmm2");243 244	/* AVX-512: Op code 0f eb */245 246	asm volatile("por   %mm4,%mm6");247	asm volatile("vpor   %ymm4,%ymm6,%ymm2");248	asm volatile("vpord  %zmm24,%zmm25,%zmm26");249	asm volatile("vporq  %zmm24,%zmm25,%zmm26");250 251	/* AVX-512: Op code 0f ef */252 253	asm volatile("pxor   %mm4,%mm6");254	asm volatile("vpxor  %ymm4,%ymm6,%ymm2");255	asm volatile("vpxord %zmm24,%zmm25,%zmm26");256	asm volatile("vpxorq %zmm24,%zmm25,%zmm26");257 258	/* AVX-512: Op code 0f 38 10 */259 260	asm volatile("pblendvb %xmm1,%xmm0");261	asm volatile("vpsrlvw %zmm27,%zmm28,%zmm29");262	asm volatile("vpmovuswb %zmm28,%ymm6{%k7}");263 264	/* AVX-512: Op code 0f 38 11 */265 266	asm volatile("vpmovusdb %zmm28,%xmm6{%k7}");267	asm volatile("vpsravw %zmm27,%zmm28,%zmm29");268 269	/* AVX-512: Op code 0f 38 12 */270 271	asm volatile("vpmovusqb %zmm27,%xmm6{%k7}");272	asm volatile("vpsllvw %zmm27,%zmm28,%zmm29");273 274	/* AVX-512: Op code 0f 38 13 */275 276	asm volatile("vcvtph2ps %xmm3,%ymm5");277	asm volatile("vcvtph2ps %ymm5,%zmm27{%k7}");278	asm volatile("vpmovusdw %zmm27,%ymm6{%k7}");279 280	/* AVX-512: Op code 0f 38 14 */281 282	asm volatile("blendvps %xmm1,%xmm0");283	asm volatile("vpmovusqw %zmm27,%xmm6{%k7}");284	asm volatile("vprorvd %zmm27,%zmm28,%zmm29");285	asm volatile("vprorvq %zmm27,%zmm28,%zmm29");286 287	/* AVX-512: Op code 0f 38 15 */288 289	asm volatile("blendvpd %xmm1,%xmm0");290	asm volatile("vpmovusqd %zmm27,%ymm6{%k7}");291	asm volatile("vprolvd %zmm27,%zmm28,%zmm29");292	asm volatile("vprolvq %zmm27,%zmm28,%zmm29");293 294	/* AVX-512: Op code 0f 38 16 */295 296	asm volatile("vpermps %ymm4,%ymm6,%ymm2");297	asm volatile("vpermps %ymm24,%ymm26,%ymm22{%k7}");298	asm volatile("vpermpd %ymm24,%ymm26,%ymm22{%k7}");299 300	/* AVX-512: Op code 0f 38 19 */301 302	asm volatile("vbroadcastsd %xmm4,%ymm6");303	asm volatile("vbroadcastf32x2 %xmm27,%zmm26");304 305	/* AVX-512: Op code 0f 38 1a */306 307	asm volatile("vbroadcastf128 (%rcx),%ymm4");308	asm volatile("vbroadcastf32x4 (%rcx),%zmm26");309	asm volatile("vbroadcastf64x2 (%rcx),%zmm26");310 311	/* AVX-512: Op code 0f 38 1b */312 313	asm volatile("vbroadcastf32x8 (%rcx),%zmm27");314	asm volatile("vbroadcastf64x4 (%rcx),%zmm26");315 316	/* AVX-512: Op code 0f 38 1f */317 318	asm volatile("vpabsq %zmm27,%zmm28");319 320	/* AVX-512: Op code 0f 38 20 */321 322	asm volatile("vpmovsxbw %xmm4,%xmm5");323	asm volatile("vpmovswb %zmm27,%ymm6{%k7}");324 325	/* AVX-512: Op code 0f 38 21 */326 327	asm volatile("vpmovsxbd %xmm4,%ymm6");328	asm volatile("vpmovsdb %zmm27,%xmm6{%k7}");329 330	/* AVX-512: Op code 0f 38 22 */331 332	asm volatile("vpmovsxbq %xmm4,%ymm4");333	asm volatile("vpmovsqb %zmm27,%xmm6{%k7}");334 335	/* AVX-512: Op code 0f 38 23 */336 337	asm volatile("vpmovsxwd %xmm4,%ymm4");338	asm volatile("vpmovsdw %zmm27,%ymm6{%k7}");339 340	/* AVX-512: Op code 0f 38 24 */341 342	asm volatile("vpmovsxwq %xmm4,%ymm6");343	asm volatile("vpmovsqw %zmm27,%xmm6{%k7}");344 345	/* AVX-512: Op code 0f 38 25 */346 347	asm volatile("vpmovsxdq %xmm4,%ymm4");348	asm volatile("vpmovsqd %zmm27,%ymm6{%k7}");349 350	/* AVX-512: Op code 0f 38 26 */351 352	asm volatile("vptestmb %zmm27,%zmm28,%k5");353	asm volatile("vptestmw %zmm27,%zmm28,%k5");354	asm volatile("vptestnmb %zmm26,%zmm27,%k5");355	asm volatile("vptestnmw %zmm26,%zmm27,%k5");356 357	/* AVX-512: Op code 0f 38 27 */358 359	asm volatile("vptestmd %zmm27,%zmm28,%k5");360	asm volatile("vptestmq %zmm27,%zmm28,%k5");361	asm volatile("vptestnmd %zmm26,%zmm27,%k5");362	asm volatile("vptestnmq %zmm26,%zmm27,%k5");363 364	/* AVX-512: Op code 0f 38 28 */365 366	asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");367	asm volatile("vpmovm2b %k5,%zmm28");368	asm volatile("vpmovm2w %k5,%zmm28");369 370	/* AVX-512: Op code 0f 38 29 */371 372	asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");373	asm volatile("vpmovb2m %zmm28,%k5");374	asm volatile("vpmovw2m %zmm28,%k5");375 376	/* AVX-512: Op code 0f 38 2a */377 378	asm volatile("vmovntdqa (%rcx),%ymm4");379	asm volatile("vpbroadcastmb2q %k6,%zmm30");380 381	/* AVX-512: Op code 0f 38 2c */382 383	asm volatile("vmaskmovps (%rcx),%ymm4,%ymm6");384	asm volatile("vscalefps %zmm24,%zmm25,%zmm26");385	asm volatile("vscalefpd %zmm24,%zmm25,%zmm26");386 387	/* AVX-512: Op code 0f 38 2d */388 389	asm volatile("vmaskmovpd (%rcx),%ymm4,%ymm6");390	asm volatile("vscalefss %xmm24,%xmm25,%xmm26{%k7}");391	asm volatile("vscalefsd %xmm24,%xmm25,%xmm26{%k7}");392 393	/* AVX-512: Op code 0f 38 30 */394 395	asm volatile("vpmovzxbw %xmm4,%ymm4");396	asm volatile("vpmovwb %zmm27,%ymm6{%k7}");397 398	/* AVX-512: Op code 0f 38 31 */399 400	asm volatile("vpmovzxbd %xmm4,%ymm6");401	asm volatile("vpmovdb %zmm27,%xmm6{%k7}");402 403	/* AVX-512: Op code 0f 38 32 */404 405	asm volatile("vpmovzxbq %xmm4,%ymm4");406	asm volatile("vpmovqb %zmm27,%xmm6{%k7}");407 408	/* AVX-512: Op code 0f 38 33 */409 410	asm volatile("vpmovzxwd %xmm4,%ymm4");411	asm volatile("vpmovdw %zmm27,%ymm6{%k7}");412 413	/* AVX-512: Op code 0f 38 34 */414 415	asm volatile("vpmovzxwq %xmm4,%ymm6");416	asm volatile("vpmovqw %zmm27,%xmm6{%k7}");417 418	/* AVX-512: Op code 0f 38 35 */419 420	asm volatile("vpmovzxdq %xmm4,%ymm4");421	asm volatile("vpmovqd %zmm27,%ymm6{%k7}");422 423	/* AVX-512: Op code 0f 38 38 */424 425	asm volatile("vpermd %ymm4,%ymm6,%ymm2");426	asm volatile("vpermd %ymm24,%ymm26,%ymm22{%k7}");427	asm volatile("vpermq %ymm24,%ymm26,%ymm22{%k7}");428 429	/* AVX-512: Op code 0f 38 38 */430 431	asm volatile("vpminsb %ymm4,%ymm6,%ymm2");432	asm volatile("vpmovm2d %k5,%zmm28");433	asm volatile("vpmovm2q %k5,%zmm28");434 435	/* AVX-512: Op code 0f 38 39 */436 437	asm volatile("vpminsd %xmm1,%xmm2,%xmm3");438	asm volatile("vpminsd %zmm24,%zmm25,%zmm26");439	asm volatile("vpminsq %zmm24,%zmm25,%zmm26");440	asm volatile("vpmovd2m %zmm28,%k5");441	asm volatile("vpmovq2m %zmm28,%k5");442 443	/* AVX-512: Op code 0f 38 3a */444 445	asm volatile("vpminuw %ymm4,%ymm6,%ymm2");446	asm volatile("vpbroadcastmw2d %k6,%zmm28");447 448	/* AVX-512: Op code 0f 38 3b */449 450	asm volatile("vpminud %ymm4,%ymm6,%ymm2");451	asm volatile("vpminud %zmm24,%zmm25,%zmm26");452	asm volatile("vpminuq %zmm24,%zmm25,%zmm26");453 454	/* AVX-512: Op code 0f 38 3d */455 456	asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");457	asm volatile("vpmaxsd %zmm24,%zmm25,%zmm26");458	asm volatile("vpmaxsq %zmm24,%zmm25,%zmm26");459 460	/* AVX-512: Op code 0f 38 3f */461 462	asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");463	asm volatile("vpmaxud %zmm24,%zmm25,%zmm26");464	asm volatile("vpmaxuq %zmm24,%zmm25,%zmm26");465 466	/* AVX-512: Op code 0f 38 42 */467 468	asm volatile("vpmulld %ymm4,%ymm6,%ymm2");469	asm volatile("vpmulld %zmm24,%zmm25,%zmm26");470	asm volatile("vpmullq %zmm24,%zmm25,%zmm26");471 472	/* AVX-512: Op code 0f 38 42 */473 474	asm volatile("vgetexpps %zmm25,%zmm26");475	asm volatile("vgetexppd %zmm27,%zmm28");476 477	/* AVX-512: Op code 0f 38 43 */478 479	asm volatile("vgetexpss %xmm24,%xmm25,%xmm26{%k7}");480	asm volatile("vgetexpsd %xmm28,%xmm29,%xmm30{%k7}");481 482	/* AVX-512: Op code 0f 38 44 */483 484	asm volatile("vplzcntd %zmm27,%zmm28");485	asm volatile("vplzcntq %zmm27,%zmm28");486 487	/* AVX-512: Op code 0f 38 46 */488 489	asm volatile("vpsravd %ymm4,%ymm6,%ymm2");490	asm volatile("vpsravd %zmm24,%zmm25,%zmm26");491	asm volatile("vpsravq %zmm24,%zmm25,%zmm26");492 493	/* AVX-512: Op code 0f 38 4c */494 495	asm volatile("vrcp14ps %zmm25,%zmm26");496	asm volatile("vrcp14pd %zmm27,%zmm28");497 498	/* AVX-512: Op code 0f 38 4d */499 500	asm volatile("vrcp14ss %xmm24,%xmm25,%xmm26{%k7}");501	asm volatile("vrcp14sd %xmm24,%xmm25,%xmm26{%k7}");502 503	/* AVX-512: Op code 0f 38 4e */504 505	asm volatile("vrsqrt14ps %zmm25,%zmm26");506	asm volatile("vrsqrt14pd %zmm27,%zmm28");507 508	/* AVX-512: Op code 0f 38 4f */509 510	asm volatile("vrsqrt14ss %xmm24,%xmm25,%xmm26{%k7}");511	asm volatile("vrsqrt14sd %xmm24,%xmm25,%xmm26{%k7}");512 513	/* AVX-512: Op code 0f 38 50 */514 515	asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");516	asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");517	asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");518	asm volatile("vpdpbusd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");519	asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");520 521	/* AVX-512: Op code 0f 38 51 */522 523	asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");524	asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");525	asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");526	asm volatile("vpdpbusds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");527	asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");528 529	/* AVX-512: Op code 0f 38 52 */530 531	asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");532	asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");533	asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");534	asm volatile("vdpbf16ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");535	asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");536 537	asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");538	asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");539	asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");540	asm volatile("vpdpwssd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");541	asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");542 543	asm volatile("vp4dpwssd (%rax), %zmm0, %zmm4");544	asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");545	asm volatile("vp4dpwssd 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");546	asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");547 548	/* AVX-512: Op code 0f 38 53 */549 550	asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");551	asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");552	asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");553	asm volatile("vpdpwssds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");554	asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");555 556	asm volatile("vp4dpwssds (%rax), %zmm0, %zmm4");557	asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");558	asm volatile("vp4dpwssds 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");559	asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");560 561	/* AVX-512: Op code 0f 38 54 */562 563	asm volatile("vpopcntb %xmm1, %xmm2");564	asm volatile("vpopcntb %ymm1, %ymm2");565	asm volatile("vpopcntb %zmm1, %zmm2");566	asm volatile("vpopcntb 0x12345678(%rax,%rcx,8),%zmm2");567	asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");568 569	asm volatile("vpopcntw %xmm1, %xmm2");570	asm volatile("vpopcntw %ymm1, %ymm2");571	asm volatile("vpopcntw %zmm1, %zmm2");572	asm volatile("vpopcntw 0x12345678(%rax,%rcx,8),%zmm2");573	asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");574 575	/* AVX-512: Op code 0f 38 55 */576 577	asm volatile("vpopcntd %xmm1, %xmm2");578	asm volatile("vpopcntd %ymm1, %ymm2");579	asm volatile("vpopcntd %zmm1, %zmm2");580	asm volatile("vpopcntd 0x12345678(%rax,%rcx,8),%zmm2");581	asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");582 583	asm volatile("vpopcntq %xmm1, %xmm2");584	asm volatile("vpopcntq %ymm1, %ymm2");585	asm volatile("vpopcntq %zmm1, %zmm2");586	asm volatile("vpopcntq 0x12345678(%rax,%rcx,8),%zmm2");587	asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");588 589	/* AVX-512: Op code 0f 38 59 */590 591	asm volatile("vpbroadcastq %xmm4,%xmm6");592	asm volatile("vbroadcasti32x2 %xmm27,%zmm26");593 594	/* AVX-512: Op code 0f 38 5a */595 596	asm volatile("vbroadcasti128 (%rcx),%ymm4");597	asm volatile("vbroadcasti32x4 (%rcx),%zmm26");598	asm volatile("vbroadcasti64x2 (%rcx),%zmm26");599 600	/* AVX-512: Op code 0f 38 5b */601 602	asm volatile("vbroadcasti32x8 (%rcx),%zmm28");603	asm volatile("vbroadcasti64x4 (%rcx),%zmm26");604 605	/* AVX-512: Op code 0f 38 62 */606 607	asm volatile("vpexpandb %xmm1, %xmm2");608	asm volatile("vpexpandb %ymm1, %ymm2");609	asm volatile("vpexpandb %zmm1, %zmm2");610	asm volatile("vpexpandb 0x12345678(%rax,%rcx,8),%zmm2");611	asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");612 613	asm volatile("vpexpandw %xmm1, %xmm2");614	asm volatile("vpexpandw %ymm1, %ymm2");615	asm volatile("vpexpandw %zmm1, %zmm2");616	asm volatile("vpexpandw 0x12345678(%rax,%rcx,8),%zmm2");617	asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");618 619	/* AVX-512: Op code 0f 38 63 */620 621	asm volatile("vpcompressb %xmm1, %xmm2");622	asm volatile("vpcompressb %ymm1, %ymm2");623	asm volatile("vpcompressb %zmm1, %zmm2");624	asm volatile("vpcompressb %zmm2,0x12345678(%rax,%rcx,8)");625	asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");626 627	asm volatile("vpcompressw %xmm1, %xmm2");628	asm volatile("vpcompressw %ymm1, %ymm2");629	asm volatile("vpcompressw %zmm1, %zmm2");630	asm volatile("vpcompressw %zmm2,0x12345678(%rax,%rcx,8)");631	asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");632 633	/* AVX-512: Op code 0f 38 64 */634 635	asm volatile("vpblendmd %zmm26,%zmm27,%zmm28");636	asm volatile("vpblendmq %zmm26,%zmm27,%zmm28");637 638	/* AVX-512: Op code 0f 38 65 */639 640	asm volatile("vblendmps %zmm24,%zmm25,%zmm26");641	asm volatile("vblendmpd %zmm26,%zmm27,%zmm28");642 643	/* AVX-512: Op code 0f 38 66 */644 645	asm volatile("vpblendmb %zmm26,%zmm27,%zmm28");646	asm volatile("vpblendmw %zmm26,%zmm27,%zmm28");647 648	/* AVX-512: Op code 0f 38 68 */649 650	asm volatile("vp2intersectd %xmm1, %xmm2, %k3");651	asm volatile("vp2intersectd %ymm1, %ymm2, %k3");652	asm volatile("vp2intersectd %zmm1, %zmm2, %k3");653	asm volatile("vp2intersectd 0x12345678(%rax,%rcx,8),%zmm2,%k3");654	asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");655 656	asm volatile("vp2intersectq %xmm1, %xmm2, %k3");657	asm volatile("vp2intersectq %ymm1, %ymm2, %k3");658	asm volatile("vp2intersectq %zmm1, %zmm2, %k3");659	asm volatile("vp2intersectq 0x12345678(%rax,%rcx,8),%zmm2,%k3");660	asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");661 662	/* AVX-512: Op code 0f 38 70 */663 664	asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");665	asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");666	asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");667	asm volatile("vpshldvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");668	asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");669 670	/* AVX-512: Op code 0f 38 71 */671 672	asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");673	asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");674	asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");675	asm volatile("vpshldvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");676	asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");677 678	asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");679	asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");680	asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");681	asm volatile("vpshldvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");682	asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");683 684	/* AVX-512: Op code 0f 38 72 */685 686	asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");687	asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");688	asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");689	asm volatile("vcvtne2ps2bf16 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");690	asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");691 692	asm volatile("vcvtneps2bf16 %xmm1, %xmm2");693	asm volatile("vcvtneps2bf16 %ymm1, %xmm2");694	asm volatile("vcvtneps2bf16 %zmm1, %ymm2");695	asm volatile("vcvtneps2bf16 0x12345678(%rax,%rcx,8),%ymm2");696	asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");697 698	asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");699	asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");700	asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");701	asm volatile("vpshrdvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");702	asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");703 704	/* AVX-512: Op code 0f 38 73 */705 706	asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");707	asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");708	asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");709	asm volatile("vpshrdvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");710	asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");711 712	asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");713	asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");714	asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");715	asm volatile("vpshrdvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");716	asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");717 718	/* AVX-512: Op code 0f 38 75 */719 720	asm volatile("vpermi2b %zmm24,%zmm25,%zmm26");721	asm volatile("vpermi2w %zmm26,%zmm27,%zmm28");722 723	/* AVX-512: Op code 0f 38 76 */724 725	asm volatile("vpermi2d %zmm26,%zmm27,%zmm28");726	asm volatile("vpermi2q %zmm26,%zmm27,%zmm28");727 728	/* AVX-512: Op code 0f 38 77 */729 730	asm volatile("vpermi2ps %zmm26,%zmm27,%zmm28");731	asm volatile("vpermi2pd %zmm26,%zmm27,%zmm28");732 733	/* AVX-512: Op code 0f 38 7a */734 735	asm volatile("vpbroadcastb %eax,%xmm30");736 737	/* AVX-512: Op code 0f 38 7b */738 739	asm volatile("vpbroadcastw %eax,%xmm30");740 741	/* AVX-512: Op code 0f 38 7c */742 743	asm volatile("vpbroadcastd %eax,%xmm30");744	asm volatile("vpbroadcastq %rax,%zmm30");745 746	/* AVX-512: Op code 0f 38 7d */747 748	asm volatile("vpermt2b %zmm26,%zmm27,%zmm28");749	asm volatile("vpermt2w %zmm26,%zmm27,%zmm28");750 751	/* AVX-512: Op code 0f 38 7e */752 753	asm volatile("vpermt2d %zmm26,%zmm27,%zmm28");754	asm volatile("vpermt2q %zmm26,%zmm27,%zmm28");755 756	/* AVX-512: Op code 0f 38 7f */757 758	asm volatile("vpermt2ps %zmm26,%zmm27,%zmm28");759	asm volatile("vpermt2pd %zmm26,%zmm27,%zmm28");760 761	/* AVX-512: Op code 0f 38 83 */762 763	asm volatile("vpmultishiftqb %zmm26,%zmm27,%zmm28");764 765	/* AVX-512: Op code 0f 38 88 */766 767	asm volatile("vexpandps (%rcx),%zmm26");768	asm volatile("vexpandpd (%rcx),%zmm28");769 770	/* AVX-512: Op code 0f 38 89 */771 772	asm volatile("vpexpandd (%rcx),%zmm28");773	asm volatile("vpexpandq (%rcx),%zmm26");774 775	/* AVX-512: Op code 0f 38 8a */776 777	asm volatile("vcompressps %zmm28,(%rcx)");778	asm volatile("vcompresspd %zmm28,(%rcx)");779 780	/* AVX-512: Op code 0f 38 8b */781 782	asm volatile("vpcompressd %zmm28,(%rcx)");783	asm volatile("vpcompressq %zmm26,(%rcx)");784 785	/* AVX-512: Op code 0f 38 8d */786 787	asm volatile("vpermb %zmm26,%zmm27,%zmm28");788	asm volatile("vpermw %zmm26,%zmm27,%zmm28");789 790	/* AVX-512: Op code 0f 38 8f */791 792	asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");793	asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");794	asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");795	asm volatile("vpshufbitqmb 0x12345678(%rax,%rcx,8),%zmm2,%k3");796	asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");797 798	/* AVX-512: Op code 0f 38 90 */799 800	asm volatile("vpgatherdd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");801	asm volatile("vpgatherdq %xmm2,0x04(%rbp,%xmm7,2),%xmm1");802	asm volatile("vpgatherdd 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");803	asm volatile("vpgatherdq 0x7b(%rbp,%ymm27,8),%zmm26{%k1}");804 805	/* AVX-512: Op code 0f 38 91 */806 807	asm volatile("vpgatherqd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");808	asm volatile("vpgatherqq %xmm2,0x02(%rbp,%xmm7,2),%xmm1");809	asm volatile("vpgatherqd 0x7b(%rbp,%zmm27,8),%ymm26{%k1}");810	asm volatile("vpgatherqq 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");811 812	/* AVX-512: Op code 0f 38 9a */813 814	asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");815	asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");816	asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");817	asm volatile("vfmsub132ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");818	asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");819 820	asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");821	asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");822	asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");823	asm volatile("vfmsub132pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");824	asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");825 826	asm volatile("v4fmaddps (%rax), %zmm0, %zmm4");827	asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");828	asm volatile("v4fmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");829	asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");830 831	/* AVX-512: Op code 0f 38 9b */832 833	asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");834	asm volatile("vfmsub132ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");835	asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");836 837	asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");838	asm volatile("vfmsub132sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");839	asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");840 841	asm volatile("v4fmaddss (%rax), %xmm0, %xmm4");842	asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");843	asm volatile("v4fmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");844	asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");845 846	/* AVX-512: Op code 0f 38 a0 */847 848	asm volatile("vpscatterdd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");849	asm volatile("vpscatterdq %zmm26,0x7b(%rbp,%ymm27,8){%k1}");850 851	/* AVX-512: Op code 0f 38 a1 */852 853	asm volatile("vpscatterqd %ymm6,0x7b(%rbp,%zmm29,8){%k1}");854	asm volatile("vpscatterqq %ymm6,0x7b(%rbp,%ymm27,8){%k1}");855 856	/* AVX-512: Op code 0f 38 a2 */857 858	asm volatile("vscatterdps %zmm28,0x7b(%rbp,%zmm29,8){%k1}");859	asm volatile("vscatterdpd %zmm28,0x7b(%rbp,%ymm27,8){%k1}");860 861	/* AVX-512: Op code 0f 38 a3 */862 863	asm volatile("vscatterqps %ymm6,0x7b(%rbp,%zmm29,8){%k1}");864	asm volatile("vscatterqpd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");865 866	/* AVX-512: Op code 0f 38 aa */867 868	asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");869	asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");870	asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");871	asm volatile("vfmsub213ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");872	asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");873 874	asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");875	asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");876	asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");877	asm volatile("vfmsub213pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");878	asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");879 880	asm volatile("v4fnmaddps (%rax), %zmm0, %zmm4");881	asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");882	asm volatile("v4fnmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");883	asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");884 885	/* AVX-512: Op code 0f 38 ab */886 887	asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");888	asm volatile("vfmsub213ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");889	asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");890 891	asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");892	asm volatile("vfmsub213sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");893	asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");894 895	asm volatile("v4fnmaddss (%rax), %xmm0, %xmm4");896	asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");897	asm volatile("v4fnmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");898	asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");899 900	/* AVX-512: Op code 0f 38 b4 */901 902	asm volatile("vpmadd52luq %zmm26,%zmm27,%zmm28");903 904	/* AVX-512: Op code 0f 38 b5 */905 906	asm volatile("vpmadd52huq %zmm26,%zmm27,%zmm28");907 908	/* AVX-512: Op code 0f 38 c4 */909 910	asm volatile("vpconflictd %zmm26,%zmm27");911	asm volatile("vpconflictq %zmm26,%zmm27");912 913	/* AVX-512: Op code 0f 38 c8 */914 915	asm volatile("vexp2ps %zmm29,%zmm30");916	asm volatile("vexp2pd %zmm26,%zmm27");917 918	/* AVX-512: Op code 0f 38 ca */919 920	asm volatile("vrcp28ps %zmm29,%zmm30");921	asm volatile("vrcp28pd %zmm26,%zmm27");922 923	/* AVX-512: Op code 0f 38 cb */924 925	asm volatile("vrcp28ss %xmm28,%xmm29,%xmm30{%k7}");926	asm volatile("vrcp28sd %xmm25,%xmm26,%xmm27{%k7}");927 928	/* AVX-512: Op code 0f 38 cc */929 930	asm volatile("vrsqrt28ps %zmm29,%zmm30");931	asm volatile("vrsqrt28pd %zmm26,%zmm27");932 933	/* AVX-512: Op code 0f 38 cd */934 935	asm volatile("vrsqrt28ss %xmm28,%xmm29,%xmm30{%k7}");936	asm volatile("vrsqrt28sd %xmm25,%xmm26,%xmm27{%k7}");937 938	/* AVX-512: Op code 0f 38 cf */939 940	asm volatile("gf2p8mulb %xmm1, %xmm3");941	asm volatile("gf2p8mulb 0x12345678(%rax,%rcx,8),%xmm3");942	asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");943 944	asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");945	asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");946	asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");947	asm volatile("vgf2p8mulb 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");948	asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");949 950	/* AVX-512: Op code 0f 38 dc */951 952	asm volatile("vaesenc %xmm1, %xmm2, %xmm3");953	asm volatile("vaesenc %ymm1, %ymm2, %ymm3");954	asm volatile("vaesenc %zmm1, %zmm2, %zmm3");955	asm volatile("vaesenc 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");956	asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");957 958	/* AVX-512: Op code 0f 38 dd */959 960	asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");961	asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");962	asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");963	asm volatile("vaesenclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");964	asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");965 966	/* AVX-512: Op code 0f 38 de */967 968	asm volatile("vaesdec %xmm1, %xmm2, %xmm3");969	asm volatile("vaesdec %ymm1, %ymm2, %ymm3");970	asm volatile("vaesdec %zmm1, %zmm2, %zmm3");971	asm volatile("vaesdec 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");972	asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");973 974	/* AVX-512: Op code 0f 38 df */975 976	asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");977	asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");978	asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");979	asm volatile("vaesdeclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");980	asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");981 982	/* AVX-512: Op code 0f 3a 03 */983 984	asm volatile("valignd $0x12,%zmm28,%zmm29,%zmm30");985	asm volatile("valignq $0x12,%zmm25,%zmm26,%zmm27");986 987	/* AVX-512: Op code 0f 3a 08 */988 989	asm volatile("vroundps $0x5,%ymm6,%ymm2");990	asm volatile("vrndscaleps $0x12,%zmm25,%zmm26");991 992	/* AVX-512: Op code 0f 3a 09 */993 994	asm volatile("vroundpd $0x5,%ymm6,%ymm2");995	asm volatile("vrndscalepd $0x12,%zmm25,%zmm26");996 997	/* AVX-512: Op code 0f 3a 1a */998 999	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	/* Key Locker */2632 2633	asm volatile("loadiwkey %xmm1, %xmm2");2634	asm volatile("encodekey128 %eax, %edx");2635	asm volatile("encodekey256 %eax, %edx");2636	asm volatile("aesenc128kl 0x77(%rdx), %xmm3");2637	asm volatile("aesenc256kl 0x77(%rdx), %xmm3");2638	asm volatile("aesdec128kl 0x77(%rdx), %xmm3");2639	asm volatile("aesdec256kl 0x77(%rdx), %xmm3");2640	asm volatile("aesencwide128kl	0x77(%rdx)");2641	asm volatile("aesencwide256kl	0x77(%rdx)");2642	asm volatile("aesdecwide128kl	0x77(%rdx)");2643	asm volatile("aesdecwide256kl	0x77(%rdx)");2644 2645	/* Remote Atomic Operations */2646 2647	asm volatile("aadd %ecx,(%rax)");2648	asm volatile("aadd %edx,(%r8)");2649	asm volatile("aadd %edx,0x12345678(%rax,%rcx,8)");2650	asm volatile("aadd %edx,0x12345678(%r8,%rcx,8)");2651	asm volatile("aadd %rcx,(%rax)");2652	asm volatile("aadd %rdx,(%r8)");2653	asm volatile("aadd %rdx,(0x12345678)");2654	asm volatile("aadd %rdx,0x12345678(%rax,%rcx,8)");2655	asm volatile("aadd %rdx,0x12345678(%r8,%rcx,8)");2656 2657	asm volatile("aand %ecx,(%rax)");2658	asm volatile("aand %edx,(%r8)");2659	asm volatile("aand %edx,0x12345678(%rax,%rcx,8)");2660	asm volatile("aand %edx,0x12345678(%r8,%rcx,8)");2661	asm volatile("aand %rcx,(%rax)");2662	asm volatile("aand %rdx,(%r8)");2663	asm volatile("aand %rdx,(0x12345678)");2664	asm volatile("aand %rdx,0x12345678(%rax,%rcx,8)");2665	asm volatile("aand %rdx,0x12345678(%r8,%rcx,8)");2666 2667	asm volatile("aor %ecx,(%rax)");2668	asm volatile("aor %edx,(%r8)");2669	asm volatile("aor %edx,0x12345678(%rax,%rcx,8)");2670	asm volatile("aor %edx,0x12345678(%r8,%rcx,8)");2671	asm volatile("aor %rcx,(%rax)");2672	asm volatile("aor %rdx,(%r8)");2673	asm volatile("aor %rdx,(0x12345678)");2674	asm volatile("aor %rdx,0x12345678(%rax,%rcx,8)");2675	asm volatile("aor %rdx,0x12345678(%r8,%rcx,8)");2676 2677	asm volatile("axor %ecx,(%rax)");2678	asm volatile("axor %edx,(%r8)");2679	asm volatile("axor %edx,0x12345678(%rax,%rcx,8)");2680	asm volatile("axor %edx,0x12345678(%r8,%rcx,8)");2681	asm volatile("axor %rcx,(%rax)");2682	asm volatile("axor %rdx,(%r8)");2683	asm volatile("axor %rdx,(0x12345678)");2684	asm volatile("axor %rdx,0x12345678(%rax,%rcx,8)");2685	asm volatile("axor %rdx,0x12345678(%r8,%rcx,8)");2686 2687	/* VEX CMPxxXADD */2688 2689	asm volatile("cmpbexadd %ebx,%ecx,(%r9)");2690	asm volatile("cmpbxadd %ebx,%ecx,(%r9)");2691	asm volatile("cmplexadd %ebx,%ecx,(%r9)");2692	asm volatile("cmplxadd %ebx,%ecx,(%r9)");2693	asm volatile("cmpnbexadd %ebx,%ecx,(%r9)");2694	asm volatile("cmpnbxadd %ebx,%ecx,(%r9)");2695	asm volatile("cmpnlexadd %ebx,%ecx,(%r9)");2696	asm volatile("cmpnlxadd %ebx,%ecx,(%r9)");2697	asm volatile("cmpnoxadd %ebx,%ecx,(%r9)");2698	asm volatile("cmpnpxadd %ebx,%ecx,(%r9)");2699	asm volatile("cmpnsxadd %ebx,%ecx,(%r9)");2700	asm volatile("cmpnzxadd %ebx,%ecx,(%r9)");2701	asm volatile("cmpoxadd %ebx,%ecx,(%r9)");2702	asm volatile("cmppxadd %ebx,%ecx,(%r9)");2703	asm volatile("cmpsxadd %ebx,%ecx,(%r9)");2704	asm volatile("cmpzxadd %ebx,%ecx,(%r9)");2705 2706	/* Pre-fetch */2707 2708	asm volatile("prefetch (%rax)");2709	asm volatile("prefetcht0 (%rax)");2710	asm volatile("prefetcht1 (%rax)");2711	asm volatile("prefetcht2 (%rax)");2712	asm volatile("prefetchnta (%rax)");2713	asm volatile("prefetchit0 0x12345678(%rip)");2714	asm volatile("prefetchit1 0x12345678(%rip)");2715 2716	/* MSR List */2717 2718	asm volatile("rdmsrlist");2719	asm volatile("wrmsrlist");2720 2721	/* User Read/Write MSR */2722 2723	asm volatile("urdmsr %rdx,%rax");2724	asm volatile("urdmsr %rdx,%r22");2725	asm volatile("urdmsr $0x7f,%r12");2726	asm volatile("uwrmsr %rax,%rdx");2727	asm volatile("uwrmsr %r22,%rdx");2728	asm volatile("uwrmsr %r12,$0x7f");2729 2730	/* AVX NE Convert */2731 2732	asm volatile("vbcstnebf162ps (%rcx),%xmm6");2733	asm volatile("vbcstnesh2ps (%rcx),%xmm6");2734	asm volatile("vcvtneebf162ps (%rcx),%xmm6");2735	asm volatile("vcvtneeph2ps (%rcx),%xmm6");2736	asm volatile("vcvtneobf162ps (%rcx),%xmm6");2737	asm volatile("vcvtneoph2ps (%rcx),%xmm6");2738	asm volatile("vcvtneps2bf16 %xmm1,%xmm6");2739 2740	/* FRED */2741 2742	asm volatile("erets");	/* Expecting: erets indirect 0 */2743	asm volatile("eretu");	/* Expecting: eretu indirect 0 */2744 2745	/* AMX Complex */2746 2747	asm volatile("tcmmimfp16ps %tmm1,%tmm2,%tmm3");2748	asm volatile("tcmmrlfp16ps %tmm1,%tmm2,%tmm3");2749 2750	/* AMX FP16 */2751 2752	asm volatile("tdpfp16ps %tmm1,%tmm2,%tmm3");2753 2754	/* REX2 */2755 2756	asm volatile("test $0x5, %r18b");2757	asm volatile("test $0x5, %r18d");2758	asm volatile("test $0x5, %r18");2759	asm volatile("test $0x5, %r18w");2760	asm volatile("imull %eax, %r14d");2761	asm volatile("imull %eax, %r17d");2762	asm volatile("punpckldq (%r18), %mm2");2763	asm volatile("leal (%rax), %r16d");2764	asm volatile("leal (%rax), %r31d");2765	asm volatile("leal (,%r16), %eax");2766	asm volatile("leal (,%r31), %eax");2767	asm volatile("leal (%r16), %eax");2768	asm volatile("leal (%r31), %eax");2769	asm volatile("leaq (%rax), %r15");2770	asm volatile("leaq (%rax), %r16");2771	asm volatile("leaq (%r15), %rax");2772	asm volatile("leaq (%r16), %rax");2773	asm volatile("leaq (,%r15), %rax");2774	asm volatile("leaq (,%r16), %rax");2775	asm volatile("add (%r16), %r8");2776	asm volatile("add (%r16), %r15");2777	asm volatile("mov (,%r9), %r16");2778	asm volatile("mov (,%r14), %r16");2779	asm volatile("sub (%r10), %r31");2780	asm volatile("sub (%r13), %r31");2781	asm volatile("leal 1(%r16, %r21), %eax");2782	asm volatile("leal 1(%r16, %r26), %r31d");2783	asm volatile("leal 129(%r21, %r9), %eax");2784	asm volatile("leal 129(%r26, %r9), %r31d");2785	/*2786	 * Have to use .byte for jmpabs because gas does not support the2787	 * mnemonic for some reason, but then it also gets the source line wrong2788	 * with .byte, so the following is a workaround.2789	 */2790	asm volatile(""); /* Expecting: jmp indirect 0 */2791	asm volatile(".byte 0xd5, 0x00, 0xa1, 0xef, 0xcd, 0xab, 0x90, 0x78, 0x56, 0x34, 0x12");2792	asm volatile("pushp %rbx");2793	asm volatile("pushp %r16");2794	asm volatile("pushp %r31");2795	asm volatile("popp %r31");2796	asm volatile("popp %r16");2797	asm volatile("popp %rbx");2798 2799	/* APX */2800 2801	asm volatile("bextr %r25d,%edx,%r10d");2802	asm volatile("bextr %r25d,0x123(%r31,%rax,4),%edx");2803	asm volatile("bextr %r31,%r15,%r11");2804	asm volatile("bextr %r31,0x123(%r31,%rax,4),%r15");2805	asm volatile("blsi %r25d,%edx");2806	asm volatile("blsi %r31,%r15");2807	asm volatile("blsi 0x123(%r31,%rax,4),%r25d");2808	asm volatile("blsi 0x123(%r31,%rax,4),%r31");2809	asm volatile("blsmsk %r25d,%edx");2810	asm volatile("blsmsk %r31,%r15");2811	asm volatile("blsmsk 0x123(%r31,%rax,4),%r25d");2812	asm volatile("blsmsk 0x123(%r31,%rax,4),%r31");2813	asm volatile("blsr %r25d,%edx");2814	asm volatile("blsr %r31,%r15");2815	asm volatile("blsr 0x123(%r31,%rax,4),%r25d");2816	asm volatile("blsr 0x123(%r31,%rax,4),%r31");2817	asm volatile("bzhi %r25d,%edx,%r10d");2818	asm volatile("bzhi %r25d,0x123(%r31,%rax,4),%edx");2819	asm volatile("bzhi %r31,%r15,%r11");2820	asm volatile("bzhi %r31,0x123(%r31,%rax,4),%r15");2821	asm volatile("cmpbexadd %r25d,%edx,0x123(%r31,%rax,4)");2822	asm volatile("cmpbexadd %r31,%r15,0x123(%r31,%rax,4)");2823	asm volatile("cmpbxadd %r25d,%edx,0x123(%r31,%rax,4)");2824	asm volatile("cmpbxadd %r31,%r15,0x123(%r31,%rax,4)");2825	asm volatile("cmplxadd %r25d,%edx,0x123(%r31,%rax,4)");2826	asm volatile("cmplxadd %r31,%r15,0x123(%r31,%rax,4)");2827	asm volatile("cmpnbexadd %r25d,%edx,0x123(%r31,%rax,4)");2828	asm volatile("cmpnbexadd %r31,%r15,0x123(%r31,%rax,4)");2829	asm volatile("cmpnbxadd %r25d,%edx,0x123(%r31,%rax,4)");2830	asm volatile("cmpnbxadd %r31,%r15,0x123(%r31,%rax,4)");2831	asm volatile("cmpnlexadd %r25d,%edx,0x123(%r31,%rax,4)");2832	asm volatile("cmpnlexadd %r31,%r15,0x123(%r31,%rax,4)");2833	asm volatile("cmpnlxadd %r25d,%edx,0x123(%r31,%rax,4)");2834	asm volatile("cmpnlxadd %r31,%r15,0x123(%r31,%rax,4)");2835	asm volatile("cmpnoxadd %r25d,%edx,0x123(%r31,%rax,4)");2836	asm volatile("cmpnoxadd %r31,%r15,0x123(%r31,%rax,4)");2837	asm volatile("cmpnpxadd %r25d,%edx,0x123(%r31,%rax,4)");2838	asm volatile("cmpnpxadd %r31,%r15,0x123(%r31,%rax,4)");2839	asm volatile("cmpnsxadd %r25d,%edx,0x123(%r31,%rax,4)");2840	asm volatile("cmpnsxadd %r31,%r15,0x123(%r31,%rax,4)");2841	asm volatile("cmpnzxadd %r25d,%edx,0x123(%r31,%rax,4)");2842	asm volatile("cmpnzxadd %r31,%r15,0x123(%r31,%rax,4)");2843	asm volatile("cmpoxadd %r25d,%edx,0x123(%r31,%rax,4)");2844	asm volatile("cmpoxadd %r31,%r15,0x123(%r31,%rax,4)");2845	asm volatile("cmppxadd %r25d,%edx,0x123(%r31,%rax,4)");2846	asm volatile("cmppxadd %r31,%r15,0x123(%r31,%rax,4)");2847	asm volatile("cmpsxadd %r25d,%edx,0x123(%r31,%rax,4)");2848	asm volatile("cmpsxadd %r31,%r15,0x123(%r31,%rax,4)");2849	asm volatile("cmpzxadd %r25d,%edx,0x123(%r31,%rax,4)");2850	asm volatile("cmpzxadd %r31,%r15,0x123(%r31,%rax,4)");2851	asm volatile("crc32q %r31, %r22");2852	asm volatile("crc32q (%r31), %r22");2853	asm volatile("crc32b %r19b, %r17");2854	asm volatile("crc32b %r19b, %r21d");2855	asm volatile("crc32b (%r19),%ebx");2856	asm volatile("crc32l %r31d, %r23d");2857	asm volatile("crc32l (%r31), %r23d");2858	asm volatile("crc32w %r31w, %r21d");2859	asm volatile("crc32w (%r31),%r21d");2860	asm volatile("crc32 %rax, %r18");2861	asm volatile("enqcmd 0x123(%r31d,%eax,4),%r25d");2862	asm volatile("enqcmd 0x123(%r31,%rax,4),%r31");2863	asm volatile("enqcmds 0x123(%r31d,%eax,4),%r25d");2864	asm volatile("enqcmds 0x123(%r31,%rax,4),%r31");2865	asm volatile("invept 0x123(%r31,%rax,4),%r31");2866	asm volatile("invpcid 0x123(%r31,%rax,4),%r31");2867	asm volatile("invvpid 0x123(%r31,%rax,4),%r31");2868	asm volatile("kmovb %k5,%r25d");2869	asm volatile("kmovb %k5,0x123(%r31,%rax,4)");2870	asm volatile("kmovb %r25d,%k5");2871	asm volatile("kmovb 0x123(%r31,%rax,4),%k5");2872	asm volatile("kmovd %k5,%r25d");2873	asm volatile("kmovd %k5,0x123(%r31,%rax,4)");2874	asm volatile("kmovd %r25d,%k5");2875	asm volatile("kmovd 0x123(%r31,%rax,4),%k5");2876	asm volatile("kmovq %k5,%r31");2877	asm volatile("kmovq %k5,0x123(%r31,%rax,4)");2878	asm volatile("kmovq %r31,%k5");2879	asm volatile("kmovq 0x123(%r31,%rax,4),%k5");2880	asm volatile("kmovw %k5,%r25d");2881	asm volatile("kmovw %k5,0x123(%r31,%rax,4)");2882	asm volatile("kmovw %r25d,%k5");2883	asm volatile("kmovw 0x123(%r31,%rax,4),%k5");2884	asm volatile("ldtilecfg 0x123(%r31,%rax,4)");2885	asm volatile("movbe %r18w,%ax");2886	asm volatile("movbe %r15w,%ax");2887	asm volatile("movbe %r18w,0x123(%r16,%rax,4)");2888	asm volatile("movbe %r18w,0x123(%r31,%rax,4)");2889	asm volatile("movbe %r25d,%edx");2890	asm volatile("movbe %r15d,%edx");2891	asm volatile("movbe %r25d,0x123(%r16,%rax,4)");2892	asm volatile("movbe %r31,%r15");2893	asm volatile("movbe %r8,%r15");2894	asm volatile("movbe %r31,0x123(%r16,%rax,4)");2895	asm volatile("movbe %r31,0x123(%r31,%rax,4)");2896	asm volatile("movbe 0x123(%r16,%rax,4),%r31");2897	asm volatile("movbe 0x123(%r31,%rax,4),%r18w");2898	asm volatile("movbe 0x123(%r31,%rax,4),%r25d");2899	asm volatile("movdir64b 0x123(%r31d,%eax,4),%r25d");2900	asm volatile("movdir64b 0x123(%r31,%rax,4),%r31");2901	asm volatile("movdiri %r25d,0x123(%r31,%rax,4)");2902	asm volatile("movdiri %r31,0x123(%r31,%rax,4)");2903	asm volatile("pdep %r25d,%edx,%r10d");2904	asm volatile("pdep %r31,%r15,%r11");2905	asm volatile("pdep 0x123(%r31,%rax,4),%r25d,%edx");2906	asm volatile("pdep 0x123(%r31,%rax,4),%r31,%r15");2907	asm volatile("pext %r25d,%edx,%r10d");2908	asm volatile("pext %r31,%r15,%r11");2909	asm volatile("pext 0x123(%r31,%rax,4),%r25d,%edx");2910	asm volatile("pext 0x123(%r31,%rax,4),%r31,%r15");2911	asm volatile("shlx %r25d,%edx,%r10d");2912	asm volatile("shlx %r25d,0x123(%r31,%rax,4),%edx");2913	asm volatile("shlx %r31,%r15,%r11");2914	asm volatile("shlx %r31,0x123(%r31,%rax,4),%r15");2915	asm volatile("shrx %r25d,%edx,%r10d");2916	asm volatile("shrx %r25d,0x123(%r31,%rax,4),%edx");2917	asm volatile("shrx %r31,%r15,%r11");2918	asm volatile("shrx %r31,0x123(%r31,%rax,4),%r15");2919	asm volatile("sttilecfg 0x123(%r31,%rax,4)");2920	asm volatile("tileloadd 0x123(%r31,%rax,4),%tmm6");2921	asm volatile("tileloaddt1 0x123(%r31,%rax,4),%tmm6");2922	asm volatile("tilestored %tmm6,0x123(%r31,%rax,4)");2923	asm volatile("vbroadcastf128 (%r16),%ymm3");2924	asm volatile("vbroadcasti128 (%r16),%ymm3");2925	asm volatile("vextractf128 $1,%ymm3,(%r16)");2926	asm volatile("vextracti128 $1,%ymm3,(%r16)");2927	asm volatile("vinsertf128 $1,(%r16),%ymm3,%ymm8");2928	asm volatile("vinserti128 $1,(%r16),%ymm3,%ymm8");2929	asm volatile("vroundpd $1,(%r24),%xmm6");2930	asm volatile("vroundps $2,(%r24),%xmm6");2931	asm volatile("vroundsd $3,(%r24),%xmm6,%xmm3");2932	asm volatile("vroundss $4,(%r24),%xmm6,%xmm3");2933	asm volatile("wrssd %r25d,0x123(%r31,%rax,4)");2934	asm volatile("wrssq %r31,0x123(%r31,%rax,4)");2935	asm volatile("wrussd %r25d,0x123(%r31,%rax,4)");2936	asm volatile("wrussq %r31,0x123(%r31,%rax,4)");2937 2938	/* APX new data destination */2939 2940	asm volatile("adc $0x1234,%ax,%r30w");2941	asm volatile("adc %r15b,%r17b,%r18b");2942	asm volatile("adc %r15d,(%r8),%r18d");2943	asm volatile("adc (%r15,%rax,1),%r16b,%r8b");2944	asm volatile("adc (%r15,%rax,1),%r16w,%r8w");2945	asm volatile("adcl $0x11,(%r19,%rax,4),%r20d");2946	asm volatile("adcx %r15d,%r8d,%r18d");2947	asm volatile("adcx (%r15,%r31,1),%r8");2948	asm volatile("adcx (%r15,%r31,1),%r8d,%r18d");2949	asm volatile("add $0x1234,%ax,%r30w");2950	asm volatile("add $0x12344433,%r15,%r16");2951	asm volatile("add $0x34,%r13b,%r17b");2952	asm volatile("add $0xfffffffff4332211,%rax,%r8");2953	asm volatile("add %r31,%r8,%r16");2954	asm volatile("add %r31,(%r8),%r16");2955	asm volatile("add %r31,(%r8,%r16,8),%r16");2956	asm volatile("add %r31b,%r8b,%r16b");2957	asm volatile("add %r31d,%r8d,%r16d");2958	asm volatile("add %r31w,%r8w,%r16w");2959	asm volatile("add (%r31),%r8,%r16");2960	asm volatile("add 0x9090(%r31,%r16,1),%r8,%r16");2961	asm volatile("addb %r31b,%r8b,%r16b");2962	asm volatile("addl %r31d,%r8d,%r16d");2963	asm volatile("addl $0x11,(%r19,%rax,4),%r20d");2964	asm volatile("addq %r31,%r8,%r16");2965	asm volatile("addq $0x12344433,(%r15,%rcx,4),%r16");2966	asm volatile("addw %r31w,%r8w,%r16w");2967	asm volatile("adox %r15d,%r8d,%r18d");2968	asm volatile("{load} add %r31,%r8,%r16");2969	asm volatile("{store} add %r31,%r8,%r16");2970	asm volatile("adox (%r15,%r31,1),%r8");2971	asm volatile("adox (%r15,%r31,1),%r8d,%r18d");2972	asm volatile("and $0x1234,%ax,%r30w");2973	asm volatile("and %r15b,%r17b,%r18b");2974	asm volatile("and %r15d,(%r8),%r18d");2975	asm volatile("and (%r15,%rax,1),%r16b,%r8b");2976	asm volatile("and (%r15,%rax,1),%r16w,%r8w");2977	asm volatile("andl $0x11,(%r19,%rax,4),%r20d");2978	asm volatile("cmova 0x90909090(%eax),%edx,%r8d");2979	asm volatile("cmovae 0x90909090(%eax),%edx,%r8d");2980	asm volatile("cmovb 0x90909090(%eax),%edx,%r8d");2981	asm volatile("cmovbe 0x90909090(%eax),%edx,%r8d");2982	asm volatile("cmove 0x90909090(%eax),%edx,%r8d");2983	asm volatile("cmovg 0x90909090(%eax),%edx,%r8d");2984	asm volatile("cmovge 0x90909090(%eax),%edx,%r8d");2985	asm volatile("cmovl 0x90909090(%eax),%edx,%r8d");2986	asm volatile("cmovle 0x90909090(%eax),%edx,%r8d");2987	asm volatile("cmovne 0x90909090(%eax),%edx,%r8d");2988	asm volatile("cmovno 0x90909090(%eax),%edx,%r8d");2989	asm volatile("cmovnp 0x90909090(%eax),%edx,%r8d");2990	asm volatile("cmovns 0x90909090(%eax),%edx,%r8d");2991	asm volatile("cmovo 0x90909090(%eax),%edx,%r8d");2992	asm volatile("cmovp 0x90909090(%eax),%edx,%r8d");2993	asm volatile("cmovs 0x90909090(%eax),%edx,%r8d");2994	asm volatile("dec %rax,%r17");2995	asm volatile("decb (%r31,%r12,1),%r8b");2996	asm volatile("imul 0x909(%rax,%r31,8),%rdx,%r25");2997	asm volatile("imul 0x90909(%eax),%edx,%r8d");2998	asm volatile("inc %r31,%r16");2999	asm volatile("inc %r31,%r8");3000	asm volatile("inc %rax,%rbx");3001	asm volatile("neg %rax,%r17");3002	asm volatile("negb (%r31,%r12,1),%r8b");3003	asm volatile("not %rax,%r17");3004	asm volatile("notb (%r31,%r12,1),%r8b");3005	asm volatile("or $0x1234,%ax,%r30w");3006	asm volatile("or %r15b,%r17b,%r18b");3007	asm volatile("or %r15d,(%r8),%r18d");3008	asm volatile("or (%r15,%rax,1),%r16b,%r8b");3009	asm volatile("or (%r15,%rax,1),%r16w,%r8w");3010	asm volatile("orl $0x11,(%r19,%rax,4),%r20d");3011	asm volatile("rcl $0x2,%r12b,%r31b");3012	asm volatile("rcl %cl,%r16b,%r8b");3013	asm volatile("rclb $0x1,(%rax),%r31b");3014	asm volatile("rcll $0x2,(%rax),%r31d");3015	asm volatile("rclw $0x1,(%rax),%r31w");3016	asm volatile("rclw %cl,(%r19,%rax,4),%r31w");3017	asm volatile("rcr $0x2,%r12b,%r31b");3018	asm volatile("rcr %cl,%r16b,%r8b");3019	asm volatile("rcrb $0x1,(%rax),%r31b");3020	asm volatile("rcrl $0x2,(%rax),%r31d");3021	asm volatile("rcrw $0x1,(%rax),%r31w");3022	asm volatile("rcrw %cl,(%r19,%rax,4),%r31w");3023	asm volatile("rol $0x2,%r12b,%r31b");3024	asm volatile("rol %cl,%r16b,%r8b");3025	asm volatile("rolb $0x1,(%rax),%r31b");3026	asm volatile("roll $0x2,(%rax),%r31d");3027	asm volatile("rolw $0x1,(%rax),%r31w");3028	asm volatile("rolw %cl,(%r19,%rax,4),%r31w");3029	asm volatile("ror $0x2,%r12b,%r31b");3030	asm volatile("ror %cl,%r16b,%r8b");3031	asm volatile("rorb $0x1,(%rax),%r31b");3032	asm volatile("rorl $0x2,(%rax),%r31d");3033	asm volatile("rorw $0x1,(%rax),%r31w");3034	asm volatile("rorw %cl,(%r19,%rax,4),%r31w");3035	asm volatile("sar $0x2,%r12b,%r31b");3036	asm volatile("sar %cl,%r16b,%r8b");3037	asm volatile("sarb $0x1,(%rax),%r31b");3038	asm volatile("sarl $0x2,(%rax),%r31d");3039	asm volatile("sarw $0x1,(%rax),%r31w");3040	asm volatile("sarw %cl,(%r19,%rax,4),%r31w");3041	asm volatile("sbb $0x1234,%ax,%r30w");3042	asm volatile("sbb %r15b,%r17b,%r18b");3043	asm volatile("sbb %r15d,(%r8),%r18d");3044	asm volatile("sbb (%r15,%rax,1),%r16b,%r8b");3045	asm volatile("sbb (%r15,%rax,1),%r16w,%r8w");3046	asm volatile("sbbl $0x11,(%r19,%rax,4),%r20d");3047	asm volatile("shl $0x2,%r12b,%r31b");3048	asm volatile("shl $0x2,%r12b,%r31b");3049	asm volatile("shl %cl,%r16b,%r8b");3050	asm volatile("shl %cl,%r16b,%r8b");3051	asm volatile("shlb $0x1,(%rax),%r31b");3052	asm volatile("shlb $0x1,(%rax),%r31b");3053	asm volatile("shld $0x1,%r12,(%rax),%r31");3054	asm volatile("shld $0x2,%r15d,(%rax),%r31d");3055	asm volatile("shld $0x2,%r8w,%r12w,%r31w");3056	asm volatile("shld %cl,%r12,%r16,%r8");3057	asm volatile("shld %cl,%r13w,(%r19,%rax,4),%r31w");3058	asm volatile("shld %cl,%r9w,(%rax),%r31w");3059	asm volatile("shll $0x2,(%rax),%r31d");3060	asm volatile("shll $0x2,(%rax),%r31d");3061	asm volatile("shlw $0x1,(%rax),%r31w");3062	asm volatile("shlw $0x1,(%rax),%r31w");3063	asm volatile("shlw %cl,(%r19,%rax,4),%r31w");3064	asm volatile("shlw %cl,(%r19,%rax,4),%r31w");3065	asm volatile("shr $0x2,%r12b,%r31b");3066	asm volatile("shr %cl,%r16b,%r8b");3067	asm volatile("shrb $0x1,(%rax),%r31b");3068	asm volatile("shrd $0x1,%r12,(%rax),%r31");3069	asm volatile("shrd $0x2,%r15d,(%rax),%r31d");3070	asm volatile("shrd $0x2,%r8w,%r12w,%r31w");3071	asm volatile("shrd %cl,%r12,%r16,%r8");3072	asm volatile("shrd %cl,%r13w,(%r19,%rax,4),%r31w");3073	asm volatile("shrd %cl,%r9w,(%rax),%r31w");3074	asm volatile("shrl $0x2,(%rax),%r31d");3075	asm volatile("shrw $0x1,(%rax),%r31w");3076	asm volatile("shrw %cl,(%r19,%rax,4),%r31w");3077	asm volatile("sub $0x1234,%ax,%r30w");3078	asm volatile("sub %r15b,%r17b,%r18b");3079	asm volatile("sub %r15d,(%r8),%r18d");3080	asm volatile("sub (%r15,%rax,1),%r16b,%r8b");3081	asm volatile("sub (%r15,%rax,1),%r16w,%r8w");3082	asm volatile("subl $0x11,(%r19,%rax,4),%r20d");3083	asm volatile("xor $0x1234,%ax,%r30w");3084	asm volatile("xor %r15b,%r17b,%r18b");3085	asm volatile("xor %r15d,(%r8),%r18d");3086	asm volatile("xor (%r15,%rax,1),%r16b,%r8b");3087	asm volatile("xor (%r15,%rax,1),%r16w,%r8w");3088	asm volatile("xorl $0x11,(%r19,%rax,4),%r20d");3089 3090	/* APX suppress status flags */3091 3092	asm volatile("{nf} add %bl,%dl,%r8b");3093	asm volatile("{nf} add %dx,%ax,%r9w");3094	asm volatile("{nf} add 0x123(%r8,%rax,4),%bl,%dl");3095	asm volatile("{nf} add 0x123(%r8,%rax,4),%dx,%ax");3096	asm volatile("{nf} or %bl,%dl,%r8b");3097	asm volatile("{nf} or %dx,%ax,%r9w");3098	asm volatile("{nf} or 0x123(%r8,%rax,4),%bl,%dl");3099	asm volatile("{nf} or 0x123(%r8,%rax,4),%dx,%ax");3100	asm volatile("{nf} and %bl,%dl,%r8b");3101	asm volatile("{nf} and %dx,%ax,%r9w");3102	asm volatile("{nf} and 0x123(%r8,%rax,4),%bl,%dl");3103	asm volatile("{nf} and 0x123(%r8,%rax,4),%dx,%ax");3104	asm volatile("{nf} shld $0x7b,%dx,%ax,%r9w");3105	asm volatile("{nf} sub %bl,%dl,%r8b");3106	asm volatile("{nf} sub %dx,%ax,%r9w");3107	asm volatile("{nf} sub 0x123(%r8,%rax,4),%bl,%dl");3108	asm volatile("{nf} sub 0x123(%r8,%rax,4),%dx,%ax");3109	asm volatile("{nf} shrd $0x7b,%dx,%ax,%r9w");3110	asm volatile("{nf} xor %bl,%dl,%r8b");3111	asm volatile("{nf} xor %r31,%r31");3112	asm volatile("{nf} xor 0x123(%r8,%rax,4),%bl,%dl");3113	asm volatile("{nf} xor 0x123(%r8,%rax,4),%dx,%ax");3114	asm volatile("{nf} imul $0xff90,%r9,%r15");3115	asm volatile("{nf} imul $0x7b,%r9,%r15");3116	asm volatile("{nf} xor $0x7b,%bl,%dl");3117	asm volatile("{nf} xor $0x7b,%dx,%ax");3118	asm volatile("{nf} popcnt %r9,%r31");3119	asm volatile("{nf} shld %cl,%dx,%ax,%r9w");3120	asm volatile("{nf} shrd %cl,%dx,%ax,%r9w");3121	asm volatile("{nf} imul %r9,%r31,%r11");3122	asm volatile("{nf} sar $0x7b,%bl,%dl");3123	asm volatile("{nf} sar $0x7b,%dx,%ax");3124	asm volatile("{nf} sar $1,%bl,%dl");3125	asm volatile("{nf} sar $1,%dx,%ax");3126	asm volatile("{nf} sar %cl,%bl,%dl");3127	asm volatile("{nf} sar %cl,%dx,%ax");3128	asm volatile("{nf} andn %r9,%r31,%r11");3129	asm volatile("{nf} blsi %r9,%r31");3130	asm volatile("{nf} tzcnt %r9,%r31");3131	asm volatile("{nf} lzcnt %r9,%r31");3132	asm volatile("{nf} idiv %bl");3133	asm volatile("{nf} idiv %dx");3134	asm volatile("{nf} dec %bl,%dl");3135	asm volatile("{nf} dec %dx,%ax");3136 3137#else  /* #ifdef __x86_64__ */3138 3139	/* bound r32, mem (same op code as EVEX prefix) */3140 3141	asm volatile("bound %eax, 0x12345678(%ecx)");3142	asm volatile("bound %ecx, 0x12345678(%eax)");3143	asm volatile("bound %edx, 0x12345678(%eax)");3144	asm volatile("bound %ebx, 0x12345678(%eax)");3145	asm volatile("bound %esp, 0x12345678(%eax)");3146	asm volatile("bound %ebp, 0x12345678(%eax)");3147	asm volatile("bound %esi, 0x12345678(%eax)");3148	asm volatile("bound %edi, 0x12345678(%eax)");3149	asm volatile("bound %ecx, (%eax)");3150	asm volatile("bound %eax, (0x12345678)");3151	asm volatile("bound %edx, (%ecx,%eax,1)");3152	asm volatile("bound %edx, 0x12345678(,%eax,1)");3153	asm volatile("bound %edx, (%eax,%ecx,1)");3154	asm volatile("bound %edx, (%eax,%ecx,8)");3155	asm volatile("bound %edx, 0x12(%eax)");3156	asm volatile("bound %edx, 0x12(%ebp)");3157	asm volatile("bound %edx, 0x12(%ecx,%eax,1)");3158	asm volatile("bound %edx, 0x12(%ebp,%eax,1)");3159	asm volatile("bound %edx, 0x12(%eax,%ecx,1)");3160	asm volatile("bound %edx, 0x12(%eax,%ecx,8)");3161	asm volatile("bound %edx, 0x12345678(%eax)");3162	asm volatile("bound %edx, 0x12345678(%ebp)");3163	asm volatile("bound %edx, 0x12345678(%ecx,%eax,1)");3164	asm volatile("bound %edx, 0x12345678(%ebp,%eax,1)");3165	asm volatile("bound %edx, 0x12345678(%eax,%ecx,1)");3166	asm volatile("bound %edx, 0x12345678(%eax,%ecx,8)");3167 3168	/* bound r16, mem (same op code as EVEX prefix) */3169 3170	asm volatile("bound %ax, 0x12345678(%ecx)");3171	asm volatile("bound %cx, 0x12345678(%eax)");3172	asm volatile("bound %dx, 0x12345678(%eax)");3173	asm volatile("bound %bx, 0x12345678(%eax)");3174	asm volatile("bound %sp, 0x12345678(%eax)");3175	asm volatile("bound %bp, 0x12345678(%eax)");3176	asm volatile("bound %si, 0x12345678(%eax)");3177	asm volatile("bound %di, 0x12345678(%eax)");3178	asm volatile("bound %cx, (%eax)");3179	asm volatile("bound %ax, (0x12345678)");3180	asm volatile("bound %dx, (%ecx,%eax,1)");3181	asm volatile("bound %dx, 0x12345678(,%eax,1)");3182	asm volatile("bound %dx, (%eax,%ecx,1)");3183	asm volatile("bound %dx, (%eax,%ecx,8)");3184	asm volatile("bound %dx, 0x12(%eax)");3185	asm volatile("bound %dx, 0x12(%ebp)");3186	asm volatile("bound %dx, 0x12(%ecx,%eax,1)");3187	asm volatile("bound %dx, 0x12(%ebp,%eax,1)");3188	asm volatile("bound %dx, 0x12(%eax,%ecx,1)");3189	asm volatile("bound %dx, 0x12(%eax,%ecx,8)");3190	asm volatile("bound %dx, 0x12345678(%eax)");3191	asm volatile("bound %dx, 0x12345678(%ebp)");3192	asm volatile("bound %dx, 0x12345678(%ecx,%eax,1)");3193	asm volatile("bound %dx, 0x12345678(%ebp,%eax,1)");3194	asm volatile("bound %dx, 0x12345678(%eax,%ecx,1)");3195	asm volatile("bound %dx, 0x12345678(%eax,%ecx,8)");3196 3197	/* AVX-512: Instructions with the same op codes as Mask Instructions  */3198 3199	asm volatile("cmovno %eax,%ebx");3200	asm volatile("cmovno 0x12345678(%eax),%ecx");3201	asm volatile("cmovno 0x12345678(%eax),%cx");3202 3203	asm volatile("cmove  %eax,%ebx");3204	asm volatile("cmove 0x12345678(%eax),%ecx");3205	asm volatile("cmove 0x12345678(%eax),%cx");3206 3207	asm volatile("seto    0x12345678(%eax)");3208	asm volatile("setno   0x12345678(%eax)");3209	asm volatile("setb    0x12345678(%eax)");3210	asm volatile("setc    0x12345678(%eax)");3211	asm volatile("setnae  0x12345678(%eax)");3212	asm volatile("setae   0x12345678(%eax)");3213	asm volatile("setnb   0x12345678(%eax)");3214	asm volatile("setnc   0x12345678(%eax)");3215	asm volatile("sets    0x12345678(%eax)");3216	asm volatile("setns   0x12345678(%eax)");3217 3218	/* AVX-512: Mask Instructions */3219 3220	asm volatile("kandw  %k7,%k6,%k5");3221	asm volatile("kandq  %k7,%k6,%k5");3222	asm volatile("kandb  %k7,%k6,%k5");3223	asm volatile("kandd  %k7,%k6,%k5");3224 3225	asm volatile("kandnw  %k7,%k6,%k5");3226	asm volatile("kandnq  %k7,%k6,%k5");3227	asm volatile("kandnb  %k7,%k6,%k5");3228	asm volatile("kandnd  %k7,%k6,%k5");3229 3230	asm volatile("knotw  %k7,%k6");3231	asm volatile("knotq  %k7,%k6");3232	asm volatile("knotb  %k7,%k6");3233	asm volatile("knotd  %k7,%k6");3234 3235	asm volatile("korw  %k7,%k6,%k5");3236	asm volatile("korq  %k7,%k6,%k5");3237	asm volatile("korb  %k7,%k6,%k5");3238	asm volatile("kord  %k7,%k6,%k5");3239 3240	asm volatile("kxnorw  %k7,%k6,%k5");3241	asm volatile("kxnorq  %k7,%k6,%k5");3242	asm volatile("kxnorb  %k7,%k6,%k5");3243	asm volatile("kxnord  %k7,%k6,%k5");3244 3245	asm volatile("kxorw  %k7,%k6,%k5");3246	asm volatile("kxorq  %k7,%k6,%k5");3247	asm volatile("kxorb  %k7,%k6,%k5");3248	asm volatile("kxord  %k7,%k6,%k5");3249 3250	asm volatile("kaddw  %k7,%k6,%k5");3251	asm volatile("kaddq  %k7,%k6,%k5");3252	asm volatile("kaddb  %k7,%k6,%k5");3253	asm volatile("kaddd  %k7,%k6,%k5");3254 3255	asm volatile("kunpckbw %k7,%k6,%k5");3256	asm volatile("kunpckwd %k7,%k6,%k5");3257	asm volatile("kunpckdq %k7,%k6,%k5");3258 3259	asm volatile("kmovw  %k6,%k5");3260	asm volatile("kmovw  (%ecx),%k5");3261	asm volatile("kmovw  0x123(%eax,%ecx,8),%k5");3262	asm volatile("kmovw  %k5,(%ecx)");3263	asm volatile("kmovw  %k5,0x123(%eax,%ecx,8)");3264	asm volatile("kmovw  %eax,%k5");3265	asm volatile("kmovw  %ebp,%k5");3266	asm volatile("kmovw  %k5,%eax");3267	asm volatile("kmovw  %k5,%ebp");3268 3269	asm volatile("kmovq  %k6,%k5");3270	asm volatile("kmovq  (%ecx),%k5");3271	asm volatile("kmovq  0x123(%eax,%ecx,8),%k5");3272	asm volatile("kmovq  %k5,(%ecx)");3273	asm volatile("kmovq  %k5,0x123(%eax,%ecx,8)");3274 3275	asm volatile("kmovb  %k6,%k5");3276	asm volatile("kmovb  (%ecx),%k5");3277	asm volatile("kmovb  0x123(%eax,%ecx,8),%k5");3278	asm volatile("kmovb  %k5,(%ecx)");3279	asm volatile("kmovb  %k5,0x123(%eax,%ecx,8)");3280	asm volatile("kmovb  %eax,%k5");3281	asm volatile("kmovb  %ebp,%k5");3282	asm volatile("kmovb  %k5,%eax");3283	asm volatile("kmovb  %k5,%ebp");3284 3285	asm volatile("kmovd  %k6,%k5");3286	asm volatile("kmovd  (%ecx),%k5");3287	asm volatile("kmovd  0x123(%eax,%ecx,8),%k5");3288	asm volatile("kmovd  %k5,(%ecx)");3289	asm volatile("kmovd  %k5,0x123(%eax,%ecx,8)");3290	asm volatile("kmovd  %eax,%k5");3291	asm volatile("kmovd  %ebp,%k5");3292	asm volatile("kmovd  %k5,%eax");3293	asm volatile("kmovd  %k5,%ebp");3294 3295	asm volatile("kortestw %k6,%k5");3296	asm volatile("kortestq %k6,%k5");3297	asm volatile("kortestb %k6,%k5");3298	asm volatile("kortestd %k6,%k5");3299 3300	asm volatile("ktestw %k6,%k5");3301	asm volatile("ktestq %k6,%k5");3302	asm volatile("ktestb %k6,%k5");3303	asm volatile("ktestd %k6,%k5");3304 3305	asm volatile("kshiftrw $0x12,%k6,%k5");3306	asm volatile("kshiftrq $0x5b,%k6,%k5");3307	asm volatile("kshiftlw $0x12,%k6,%k5");3308	asm volatile("kshiftlq $0x5b,%k6,%k5");3309 3310	/* AVX-512: Op code 0f 5b */3311	asm volatile("vcvtdq2ps %xmm5,%xmm6");3312	asm volatile("vcvtqq2ps %zmm5,%ymm6{%k7}");3313	asm volatile("vcvtps2dq %xmm5,%xmm6");3314	asm volatile("vcvttps2dq %xmm5,%xmm6");3315 3316	/* AVX-512: Op code 0f 6f */3317 3318	asm volatile("movq   %mm0,%mm4");3319	asm volatile("vmovdqa %ymm4,%ymm6");3320	asm volatile("vmovdqa32 %zmm5,%zmm6");3321	asm volatile("vmovdqa64 %zmm5,%zmm6");3322	asm volatile("vmovdqu %ymm4,%ymm6");3323	asm volatile("vmovdqu32 %zmm5,%zmm6");3324	asm volatile("vmovdqu64 %zmm5,%zmm6");3325	asm volatile("vmovdqu8 %zmm5,%zmm6");3326	asm volatile("vmovdqu16 %zmm5,%zmm6");3327 3328	/* AVX-512: Op code 0f 78 */3329 3330	asm volatile("vmread %eax,%ebx");3331	asm volatile("vcvttps2udq %zmm5,%zmm6");3332	asm volatile("vcvttpd2udq %zmm5,%ymm6{%k7}");3333	asm volatile("vcvttsd2usi %xmm6,%eax");3334	asm volatile("vcvttss2usi %xmm6,%eax");3335	asm volatile("vcvttps2uqq %ymm5,%zmm6{%k7}");3336	asm volatile("vcvttpd2uqq %zmm5,%zmm6");3337 3338	/* AVX-512: Op code 0f 79 */3339 3340	asm volatile("vmwrite %eax,%ebx");3341	asm volatile("vcvtps2udq %zmm5,%zmm6");3342	asm volatile("vcvtpd2udq %zmm5,%ymm6{%k7}");3343	asm volatile("vcvtsd2usi %xmm6,%eax");3344	asm volatile("vcvtss2usi %xmm6,%eax");3345	asm volatile("vcvtps2uqq %ymm5,%zmm6{%k7}");3346	asm volatile("vcvtpd2uqq %zmm5,%zmm6");3347 3348	/* AVX-512: Op code 0f 7a */3349 3350	asm volatile("vcvtudq2pd %ymm5,%zmm6{%k7}");3351	asm volatile("vcvtuqq2pd %zmm5,%zmm6");3352	asm volatile("vcvtudq2ps %zmm5,%zmm6");3353	asm volatile("vcvtuqq2ps %zmm5,%ymm6{%k7}");3354	asm volatile("vcvttps2qq %ymm5,%zmm6{%k7}");3355	asm volatile("vcvttpd2qq %zmm5,%zmm6");3356 3357	/* AVX-512: Op code 0f 7b */3358 3359	asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");3360	asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");3361	asm volatile("vcvtps2qq %ymm5,%zmm6{%k7}");3362	asm volatile("vcvtpd2qq %zmm5,%zmm6");3363 3364	/* AVX-512: Op code 0f 7f */3365 3366	asm volatile("movq.s  %mm0,%mm4");3367	asm volatile("vmovdqa.s %ymm5,%ymm6");3368	asm volatile("vmovdqa32.s %zmm5,%zmm6");3369	asm volatile("vmovdqa64.s %zmm5,%zmm6");3370	asm volatile("vmovdqu.s %ymm5,%ymm6");3371	asm volatile("vmovdqu32.s %zmm5,%zmm6");3372	asm volatile("vmovdqu64.s %zmm5,%zmm6");3373	asm volatile("vmovdqu8.s %zmm5,%zmm6");3374	asm volatile("vmovdqu16.s %zmm5,%zmm6");3375 3376	/* AVX-512: Op code 0f db */3377 3378	asm volatile("pand  %mm1,%mm2");3379	asm volatile("pand  %xmm1,%xmm2");3380	asm volatile("vpand  %ymm4,%ymm6,%ymm2");3381	asm volatile("vpandd %zmm4,%zmm5,%zmm6");3382	asm volatile("vpandq %zmm4,%zmm5,%zmm6");3383 3384	/* AVX-512: Op code 0f df */3385 3386	asm volatile("pandn  %mm1,%mm2");3387	asm volatile("pandn  %xmm1,%xmm2");3388	asm volatile("vpandn %ymm4,%ymm6,%ymm2");3389	asm volatile("vpandnd %zmm4,%zmm5,%zmm6");3390	asm volatile("vpandnq %zmm4,%zmm5,%zmm6");3391 3392	/* AVX-512: Op code 0f e6 */3393 3394	asm volatile("vcvttpd2dq %xmm1,%xmm2");3395	asm volatile("vcvtdq2pd %xmm5,%xmm6");3396	asm volatile("vcvtdq2pd %ymm5,%zmm6{%k7}");3397	asm volatile("vcvtqq2pd %zmm5,%zmm6");3398	asm volatile("vcvtpd2dq %xmm1,%xmm2");3399 3400	/* AVX-512: Op code 0f eb */3401 3402	asm volatile("por   %mm4,%mm6");3403	asm volatile("vpor   %ymm4,%ymm6,%ymm2");3404	asm volatile("vpord  %zmm4,%zmm5,%zmm6");3405	asm volatile("vporq  %zmm4,%zmm5,%zmm6");3406 3407	/* AVX-512: Op code 0f ef */3408 3409	asm volatile("pxor   %mm4,%mm6");3410	asm volatile("vpxor  %ymm4,%ymm6,%ymm2");3411	asm volatile("vpxord %zmm4,%zmm5,%zmm6");3412	asm volatile("vpxorq %zmm4,%zmm5,%zmm6");3413 3414	/* AVX-512: Op code 0f 38 10 */3415 3416	asm volatile("pblendvb %xmm1,%xmm0");3417	asm volatile("vpsrlvw %zmm4,%zmm5,%zmm6");3418	asm volatile("vpmovuswb %zmm5,%ymm6{%k7}");3419 3420	/* AVX-512: Op code 0f 38 11 */3421 3422	asm volatile("vpmovusdb %zmm5,%xmm6{%k7}");3423	asm volatile("vpsravw %zmm4,%zmm5,%zmm6");3424 3425	/* AVX-512: Op code 0f 38 12 */3426 3427	asm volatile("vpmovusqb %zmm5,%xmm6{%k7}");3428	asm volatile("vpsllvw %zmm4,%zmm5,%zmm6");3429 3430	/* AVX-512: Op code 0f 38 13 */3431 3432	asm volatile("vcvtph2ps %xmm3,%ymm5");3433	asm volatile("vcvtph2ps %ymm5,%zmm6{%k7}");3434	asm volatile("vpmovusdw %zmm5,%ymm6{%k7}");3435 3436	/* AVX-512: Op code 0f 38 14 */3437 3438	asm volatile("blendvps %xmm1,%xmm0");3439	asm volatile("vpmovusqw %zmm5,%xmm6{%k7}");3440	asm volatile("vprorvd %zmm4,%zmm5,%zmm6");3441	asm volatile("vprorvq %zmm4,%zmm5,%zmm6");3442 3443	/* AVX-512: Op code 0f 38 15 */3444 3445	asm volatile("blendvpd %xmm1,%xmm0");3446	asm volatile("vpmovusqd %zmm5,%ymm6{%k7}");3447	asm volatile("vprolvd %zmm4,%zmm5,%zmm6");3448	asm volatile("vprolvq %zmm4,%zmm5,%zmm6");3449 3450	/* AVX-512: Op code 0f 38 16 */3451 3452	asm volatile("vpermps %ymm4,%ymm6,%ymm2");3453	asm volatile("vpermps %ymm4,%ymm6,%ymm2{%k7}");3454	asm volatile("vpermpd %ymm4,%ymm6,%ymm2{%k7}");3455 3456	/* AVX-512: Op code 0f 38 19 */3457 3458	asm volatile("vbroadcastsd %xmm4,%ymm6");3459	asm volatile("vbroadcastf32x2 %xmm7,%zmm6");3460 3461	/* AVX-512: Op code 0f 38 1a */3462 3463	asm volatile("vbroadcastf128 (%ecx),%ymm4");3464	asm volatile("vbroadcastf32x4 (%ecx),%zmm6");3465	asm volatile("vbroadcastf64x2 (%ecx),%zmm6");3466 3467	/* AVX-512: Op code 0f 38 1b */3468 3469	asm volatile("vbroadcastf32x8 (%ecx),%zmm6");3470	asm volatile("vbroadcastf64x4 (%ecx),%zmm6");3471 3472	/* AVX-512: Op code 0f 38 1f */3473 3474	asm volatile("vpabsq %zmm4,%zmm6");3475 3476	/* AVX-512: Op code 0f 38 20 */3477 3478	asm volatile("vpmovsxbw %xmm4,%xmm5");3479	asm volatile("vpmovswb %zmm5,%ymm6{%k7}");3480 3481	/* AVX-512: Op code 0f 38 21 */3482 3483	asm volatile("vpmovsxbd %xmm4,%ymm6");3484	asm volatile("vpmovsdb %zmm5,%xmm6{%k7}");3485 3486	/* AVX-512: Op code 0f 38 22 */3487 3488	asm volatile("vpmovsxbq %xmm4,%ymm4");3489	asm volatile("vpmovsqb %zmm5,%xmm6{%k7}");3490 3491	/* AVX-512: Op code 0f 38 23 */3492 3493	asm volatile("vpmovsxwd %xmm4,%ymm4");3494	asm volatile("vpmovsdw %zmm5,%ymm6{%k7}");3495 3496	/* AVX-512: Op code 0f 38 24 */3497 3498	asm volatile("vpmovsxwq %xmm4,%ymm6");3499	asm volatile("vpmovsqw %zmm5,%xmm6{%k7}");3500 3501	/* AVX-512: Op code 0f 38 25 */3502 3503	asm volatile("vpmovsxdq %xmm4,%ymm4");3504	asm volatile("vpmovsqd %zmm5,%ymm6{%k7}");3505 3506	/* AVX-512: Op code 0f 38 26 */3507 3508	asm volatile("vptestmb %zmm5,%zmm6,%k5");3509	asm volatile("vptestmw %zmm5,%zmm6,%k5");3510	asm volatile("vptestnmb %zmm4,%zmm5,%k5");3511	asm volatile("vptestnmw %zmm4,%zmm5,%k5");3512 3513	/* AVX-512: Op code 0f 38 27 */3514 3515	asm volatile("vptestmd %zmm5,%zmm6,%k5");3516	asm volatile("vptestmq %zmm5,%zmm6,%k5");3517	asm volatile("vptestnmd %zmm4,%zmm5,%k5");3518	asm volatile("vptestnmq %zmm4,%zmm5,%k5");3519 3520	/* AVX-512: Op code 0f 38 28 */3521 3522	asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");3523	asm volatile("vpmovm2b %k5,%zmm6");3524	asm volatile("vpmovm2w %k5,%zmm6");3525 3526	/* AVX-512: Op code 0f 38 29 */3527 3528	asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");3529	asm volatile("vpmovb2m %zmm6,%k5");3530	asm volatile("vpmovw2m %zmm6,%k5");3531 3532	/* AVX-512: Op code 0f 38 2a */3533 3534	asm volatile("vmovntdqa (%ecx),%ymm4");3535	asm volatile("vpbroadcastmb2q %k6,%zmm1");3536 3537	/* AVX-512: Op code 0f 38 2c */3538 3539	asm volatile("vmaskmovps (%ecx),%ymm4,%ymm6");3540	asm volatile("vscalefps %zmm4,%zmm5,%zmm6");3541	asm volatile("vscalefpd %zmm4,%zmm5,%zmm6");3542 3543	/* AVX-512: Op code 0f 38 2d */3544 3545	asm volatile("vmaskmovpd (%ecx),%ymm4,%ymm6");3546	asm volatile("vscalefss %xmm4,%xmm5,%xmm6{%k7}");3547	asm volatile("vscalefsd %xmm4,%xmm5,%xmm6{%k7}");3548 3549	/* AVX-512: Op code 0f 38 30 */3550 3551	asm volatile("vpmovzxbw %xmm4,%ymm4");3552	asm volatile("vpmovwb %zmm5,%ymm6{%k7}");3553 3554	/* AVX-512: Op code 0f 38 31 */3555 3556	asm volatile("vpmovzxbd %xmm4,%ymm6");3557	asm volatile("vpmovdb %zmm5,%xmm6{%k7}");3558 3559	/* AVX-512: Op code 0f 38 32 */3560 3561	asm volatile("vpmovzxbq %xmm4,%ymm4");3562	asm volatile("vpmovqb %zmm5,%xmm6{%k7}");3563 3564	/* AVX-512: Op code 0f 38 33 */3565 3566	asm volatile("vpmovzxwd %xmm4,%ymm4");3567	asm volatile("vpmovdw %zmm5,%ymm6{%k7}");3568 3569	/* AVX-512: Op code 0f 38 34 */3570 3571	asm volatile("vpmovzxwq %xmm4,%ymm6");3572	asm volatile("vpmovqw %zmm5,%xmm6{%k7}");3573 3574	/* AVX-512: Op code 0f 38 35 */3575 3576	asm volatile("vpmovzxdq %xmm4,%ymm4");3577	asm volatile("vpmovqd %zmm5,%ymm6{%k7}");3578 3579	/* AVX-512: Op code 0f 38 36 */3580 3581	asm volatile("vpermd %ymm4,%ymm6,%ymm2");3582	asm volatile("vpermd %ymm4,%ymm6,%ymm2{%k7}");3583	asm volatile("vpermq %ymm4,%ymm6,%ymm2{%k7}");3584 3585	/* AVX-512: Op code 0f 38 38 */3586 3587	asm volatile("vpminsb %ymm4,%ymm6,%ymm2");3588	asm volatile("vpmovm2d %k5,%zmm6");3589	asm volatile("vpmovm2q %k5,%zmm6");3590 3591	/* AVX-512: Op code 0f 38 39 */3592 3593	asm volatile("vpminsd %xmm1,%xmm2,%xmm3");3594	asm volatile("vpminsd %zmm4,%zmm5,%zmm6");3595	asm volatile("vpminsq %zmm4,%zmm5,%zmm6");3596	asm volatile("vpmovd2m %zmm6,%k5");3597	asm volatile("vpmovq2m %zmm6,%k5");3598 3599	/* AVX-512: Op code 0f 38 3a */3600 3601	asm volatile("vpminuw %ymm4,%ymm6,%ymm2");3602	asm volatile("vpbroadcastmw2d %k6,%zmm6");3603 3604	/* AVX-512: Op code 0f 38 3b */3605 3606	asm volatile("vpminud %ymm4,%ymm6,%ymm2");3607	asm volatile("vpminud %zmm4,%zmm5,%zmm6");3608	asm volatile("vpminuq %zmm4,%zmm5,%zmm6");3609 3610	/* AVX-512: Op code 0f 38 3d */3611 3612	asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");3613	asm volatile("vpmaxsd %zmm4,%zmm5,%zmm6");3614	asm volatile("vpmaxsq %zmm4,%zmm5,%zmm6");3615 3616	/* AVX-512: Op code 0f 38 3f */3617 3618	asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");3619	asm volatile("vpmaxud %zmm4,%zmm5,%zmm6");3620	asm volatile("vpmaxuq %zmm4,%zmm5,%zmm6");3621 3622	/* AVX-512: Op code 0f 38 40 */3623 3624	asm volatile("vpmulld %ymm4,%ymm6,%ymm2");3625	asm volatile("vpmulld %zmm4,%zmm5,%zmm6");3626	asm volatile("vpmullq %zmm4,%zmm5,%zmm6");3627 3628	/* AVX-512: Op code 0f 38 42 */3629 3630	asm volatile("vgetexpps %zmm5,%zmm6");3631	asm volatile("vgetexppd %zmm5,%zmm6");3632 3633	/* AVX-512: Op code 0f 38 43 */3634 3635	asm volatile("vgetexpss %xmm4,%xmm5,%xmm6{%k7}");3636	asm volatile("vgetexpsd %xmm2,%xmm3,%xmm4{%k7}");3637 3638	/* AVX-512: Op code 0f 38 44 */3639 3640	asm volatile("vplzcntd %zmm5,%zmm6");3641	asm volatile("vplzcntq %zmm5,%zmm6");3642 3643	/* AVX-512: Op code 0f 38 46 */3644 3645	asm volatile("vpsravd %ymm4,%ymm6,%ymm2");3646	asm volatile("vpsravd %zmm4,%zmm5,%zmm6");3647	asm volatile("vpsravq %zmm4,%zmm5,%zmm6");3648 3649	/* AVX-512: Op code 0f 38 4c */3650 3651	asm volatile("vrcp14ps %zmm5,%zmm6");3652	asm volatile("vrcp14pd %zmm5,%zmm6");3653 3654	/* AVX-512: Op code 0f 38 4d */3655 3656	asm volatile("vrcp14ss %xmm4,%xmm5,%xmm6{%k7}");3657	asm volatile("vrcp14sd %xmm4,%xmm5,%xmm6{%k7}");3658 3659	/* AVX-512: Op code 0f 38 4e */3660 3661	asm volatile("vrsqrt14ps %zmm5,%zmm6");3662	asm volatile("vrsqrt14pd %zmm5,%zmm6");3663 3664	/* AVX-512: Op code 0f 38 4f */3665 3666	asm volatile("vrsqrt14ss %xmm4,%xmm5,%xmm6{%k7}");3667	asm volatile("vrsqrt14sd %xmm4,%xmm5,%xmm6{%k7}");3668 3669	/* AVX-512: Op code 0f 38 50 */3670 3671	asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");3672	asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");3673	asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");3674	asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3675 3676	/* AVX-512: Op code 0f 38 51 */3677 3678	asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");3679	asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");3680	asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");3681	asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3682 3683	/* AVX-512: Op code 0f 38 52 */3684 3685	asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");3686	asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");3687	asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");3688	asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3689 3690	asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");3691	asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");3692	asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");3693	asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3694 3695	asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");3696	asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");3697 3698	/* AVX-512: Op code 0f 38 53 */3699 3700	asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");3701	asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");3702	asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");3703	asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3704 3705	asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");3706	asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");3707 3708	/* AVX-512: Op code 0f 38 54 */3709 3710	asm volatile("vpopcntb %xmm1, %xmm2");3711	asm volatile("vpopcntb %ymm1, %ymm2");3712	asm volatile("vpopcntb %zmm1, %zmm2");3713	asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");3714 3715	asm volatile("vpopcntw %xmm1, %xmm2");3716	asm volatile("vpopcntw %ymm1, %ymm2");3717	asm volatile("vpopcntw %zmm1, %zmm2");3718	asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");3719 3720	/* AVX-512: Op code 0f 38 55 */3721 3722	asm volatile("vpopcntd %xmm1, %xmm2");3723	asm volatile("vpopcntd %ymm1, %ymm2");3724	asm volatile("vpopcntd %zmm1, %zmm2");3725	asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");3726 3727	asm volatile("vpopcntq %xmm1, %xmm2");3728	asm volatile("vpopcntq %ymm1, %ymm2");3729	asm volatile("vpopcntq %zmm1, %zmm2");3730	asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");3731 3732	/* AVX-512: Op code 0f 38 59 */3733 3734	asm volatile("vpbroadcastq %xmm4,%xmm6");3735	asm volatile("vbroadcasti32x2 %xmm7,%zmm6");3736 3737	/* AVX-512: Op code 0f 38 5a */3738 3739	asm volatile("vbroadcasti128 (%ecx),%ymm4");3740	asm volatile("vbroadcasti32x4 (%ecx),%zmm6");3741	asm volatile("vbroadcasti64x2 (%ecx),%zmm6");3742 3743	/* AVX-512: Op code 0f 38 5b */3744 3745	asm volatile("vbroadcasti32x8 (%ecx),%zmm6");3746	asm volatile("vbroadcasti64x4 (%ecx),%zmm6");3747 3748	/* AVX-512: Op code 0f 38 62 */3749 3750	asm volatile("vpexpandb %xmm1, %xmm2");3751	asm volatile("vpexpandb %ymm1, %ymm2");3752	asm volatile("vpexpandb %zmm1, %zmm2");3753	asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");3754 3755	asm volatile("vpexpandw %xmm1, %xmm2");3756	asm volatile("vpexpandw %ymm1, %ymm2");3757	asm volatile("vpexpandw %zmm1, %zmm2");3758	asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");3759 3760	/* AVX-512: Op code 0f 38 63 */3761 3762	asm volatile("vpcompressb %xmm1, %xmm2");3763	asm volatile("vpcompressb %ymm1, %ymm2");3764	asm volatile("vpcompressb %zmm1, %zmm2");3765	asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");3766 3767	asm volatile("vpcompressw %xmm1, %xmm2");3768	asm volatile("vpcompressw %ymm1, %ymm2");3769	asm volatile("vpcompressw %zmm1, %zmm2");3770	asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");3771 3772	/* AVX-512: Op code 0f 38 64 */3773 3774	asm volatile("vpblendmd %zmm4,%zmm5,%zmm6");3775	asm volatile("vpblendmq %zmm4,%zmm5,%zmm6");3776 3777	/* AVX-512: Op code 0f 38 65 */3778 3779	asm volatile("vblendmps %zmm4,%zmm5,%zmm6");3780	asm volatile("vblendmpd %zmm4,%zmm5,%zmm6");3781 3782	/* AVX-512: Op code 0f 38 66 */3783 3784	asm volatile("vpblendmb %zmm4,%zmm5,%zmm6");3785	asm volatile("vpblendmw %zmm4,%zmm5,%zmm6");3786 3787	/* AVX-512: Op code 0f 38 68 */3788 3789	asm volatile("vp2intersectd %xmm1, %xmm2, %k3");3790	asm volatile("vp2intersectd %ymm1, %ymm2, %k3");3791	asm volatile("vp2intersectd %zmm1, %zmm2, %k3");3792	asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");3793 3794	asm volatile("vp2intersectq %xmm1, %xmm2, %k3");3795	asm volatile("vp2intersectq %ymm1, %ymm2, %k3");3796	asm volatile("vp2intersectq %zmm1, %zmm2, %k3");3797	asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");3798 3799	/* AVX-512: Op code 0f 38 70 */3800 3801	asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");3802	asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");3803	asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");3804	asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3805 3806	/* AVX-512: Op code 0f 38 71 */3807 3808	asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");3809	asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");3810	asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");3811	asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3812 3813	asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");3814	asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");3815	asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");3816	asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3817 3818	/* AVX-512: Op code 0f 38 72 */3819 3820	asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");3821	asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");3822	asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");3823	asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3824 3825	asm volatile("vcvtneps2bf16 %xmm1, %xmm2");3826	asm volatile("vcvtneps2bf16 %ymm1, %xmm2");3827	asm volatile("vcvtneps2bf16 %zmm1, %ymm2");3828	asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");3829 3830	asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");3831	asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");3832	asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");3833	asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3834 3835	/* AVX-512: Op code 0f 38 73 */3836 3837	asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");3838	asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");3839	asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");3840	asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3841 3842	asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");3843	asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");3844	asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");3845	asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3846 3847	/* AVX-512: Op code 0f 38 75 */3848 3849	asm volatile("vpermi2b %zmm4,%zmm5,%zmm6");3850	asm volatile("vpermi2w %zmm4,%zmm5,%zmm6");3851 3852	/* AVX-512: Op code 0f 38 76 */3853 3854	asm volatile("vpermi2d %zmm4,%zmm5,%zmm6");3855	asm volatile("vpermi2q %zmm4,%zmm5,%zmm6");3856 3857	/* AVX-512: Op code 0f 38 77 */3858 3859	asm volatile("vpermi2ps %zmm4,%zmm5,%zmm6");3860	asm volatile("vpermi2pd %zmm4,%zmm5,%zmm6");3861 3862	/* AVX-512: Op code 0f 38 7a */3863 3864	asm volatile("vpbroadcastb %eax,%xmm3");3865 3866	/* AVX-512: Op code 0f 38 7b */3867 3868	asm volatile("vpbroadcastw %eax,%xmm3");3869 3870	/* AVX-512: Op code 0f 38 7c */3871 3872	asm volatile("vpbroadcastd %eax,%xmm3");3873 3874	/* AVX-512: Op code 0f 38 7d */3875 3876	asm volatile("vpermt2b %zmm4,%zmm5,%zmm6");3877	asm volatile("vpermt2w %zmm4,%zmm5,%zmm6");3878 3879	/* AVX-512: Op code 0f 38 7e */3880 3881	asm volatile("vpermt2d %zmm4,%zmm5,%zmm6");3882	asm volatile("vpermt2q %zmm4,%zmm5,%zmm6");3883 3884	/* AVX-512: Op code 0f 38 7f */3885 3886	asm volatile("vpermt2ps %zmm4,%zmm5,%zmm6");3887	asm volatile("vpermt2pd %zmm4,%zmm5,%zmm6");3888 3889	/* AVX-512: Op code 0f 38 83 */3890 3891	asm volatile("vpmultishiftqb %zmm4,%zmm5,%zmm6");3892 3893	/* AVX-512: Op code 0f 38 88 */3894 3895	asm volatile("vexpandps (%ecx),%zmm6");3896	asm volatile("vexpandpd (%ecx),%zmm6");3897 3898	/* AVX-512: Op code 0f 38 89 */3899 3900	asm volatile("vpexpandd (%ecx),%zmm6");3901	asm volatile("vpexpandq (%ecx),%zmm6");3902 3903	/* AVX-512: Op code 0f 38 8a */3904 3905	asm volatile("vcompressps %zmm6,(%ecx)");3906	asm volatile("vcompresspd %zmm6,(%ecx)");3907 3908	/* AVX-512: Op code 0f 38 8b */3909 3910	asm volatile("vpcompressd %zmm6,(%ecx)");3911	asm volatile("vpcompressq %zmm6,(%ecx)");3912 3913	/* AVX-512: Op code 0f 38 8d */3914 3915	asm volatile("vpermb %zmm4,%zmm5,%zmm6");3916	asm volatile("vpermw %zmm4,%zmm5,%zmm6");3917 3918	/* AVX-512: Op code 0f 38 8f */3919 3920	asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");3921	asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");3922	asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");3923	asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");3924 3925	/* AVX-512: Op code 0f 38 90 */3926 3927	asm volatile("vpgatherdd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");3928	asm volatile("vpgatherdq %xmm2,0x04(%ebp,%xmm7,2),%xmm1");3929	asm volatile("vpgatherdd 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");3930	asm volatile("vpgatherdq 0x7b(%ebp,%ymm7,8),%zmm6{%k1}");3931 3932	/* AVX-512: Op code 0f 38 91 */3933 3934	asm volatile("vpgatherqd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");3935	asm volatile("vpgatherqq %xmm2,0x02(%ebp,%xmm7,2),%xmm1");3936	asm volatile("vpgatherqd 0x7b(%ebp,%zmm7,8),%ymm6{%k1}");3937	asm volatile("vpgatherqq 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");3938 3939	/* AVX-512: Op code 0f 38 9a */3940 3941	asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");3942	asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");3943	asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");3944	asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3945 3946	asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");3947	asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");3948	asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");3949	asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3950 3951	asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");3952	asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");3953 3954	/* AVX-512: Op code 0f 38 9b */3955 3956	asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");3957	asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");3958 3959	asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");3960	asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");3961 3962	asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");3963	asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");3964 3965	/* AVX-512: Op code 0f 38 a0 */3966 3967	asm volatile("vpscatterdd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");3968	asm volatile("vpscatterdq %zmm6,0x7b(%ebp,%ymm7,8){%k1}");3969 3970	/* AVX-512: Op code 0f 38 a1 */3971 3972	asm volatile("vpscatterqd %ymm6,0x7b(%ebp,%zmm7,8){%k1}");3973	asm volatile("vpscatterqq %ymm6,0x7b(%ebp,%ymm7,8){%k1}");3974 3975	/* AVX-512: Op code 0f 38 a2 */3976 3977	asm volatile("vscatterdps %zmm6,0x7b(%ebp,%zmm7,8){%k1}");3978	asm volatile("vscatterdpd %zmm6,0x7b(%ebp,%ymm7,8){%k1}");3979 3980	/* AVX-512: Op code 0f 38 a3 */3981 3982	asm volatile("vscatterqps %ymm6,0x7b(%ebp,%zmm7,8){%k1}");3983	asm volatile("vscatterqpd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");3984 3985	/* AVX-512: Op code 0f 38 aa */3986 3987	asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");3988	asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");3989	asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");3990	asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3991 3992	asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");3993	asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");3994	asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");3995	asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");3996 3997	asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");3998	asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");3999 4000	/* AVX-512: Op code 0f 38 ab */4001 4002	asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");4003	asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");4004 4005	asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");4006	asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");4007 4008	asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");4009	asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");4010 4011	/* AVX-512: Op code 0f 38 b4 */4012 4013	asm volatile("vpmadd52luq %zmm4,%zmm5,%zmm6");4014 4015	/* AVX-512: Op code 0f 38 b5 */4016 4017	asm volatile("vpmadd52huq %zmm4,%zmm5,%zmm6");4018 4019	/* AVX-512: Op code 0f 38 c4 */4020 4021	asm volatile("vpconflictd %zmm5,%zmm6");4022	asm volatile("vpconflictq %zmm5,%zmm6");4023 4024	/* AVX-512: Op code 0f 38 c8 */4025 4026	asm volatile("vexp2ps %zmm6,%zmm7");4027	asm volatile("vexp2pd %zmm6,%zmm7");4028 4029	/* AVX-512: Op code 0f 38 ca */4030 4031	asm volatile("vrcp28ps %zmm6,%zmm7");4032	asm volatile("vrcp28pd %zmm6,%zmm7");4033 4034	/* AVX-512: Op code 0f 38 cb */4035 4036	asm volatile("vrcp28ss %xmm5,%xmm6,%xmm7{%k7}");4037	asm volatile("vrcp28sd %xmm5,%xmm6,%xmm7{%k7}");4038 4039	/* AVX-512: Op code 0f 38 cc */4040 4041	asm volatile("vrsqrt28ps %zmm6,%zmm7");4042	asm volatile("vrsqrt28pd %zmm6,%zmm7");4043 4044	/* AVX-512: Op code 0f 38 cd */4045 4046	asm volatile("vrsqrt28ss %xmm5,%xmm6,%xmm7{%k7}");4047	asm volatile("vrsqrt28sd %xmm5,%xmm6,%xmm7{%k7}");4048 4049	/* AVX-512: Op code 0f 38 cf */4050 4051	asm volatile("gf2p8mulb %xmm1, %xmm3");4052	asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");4053 4054	asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");4055	asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");4056	asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");4057	asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");4058 4059	/* AVX-512: Op code 0f 38 dc */4060 4061	asm volatile("vaesenc %xmm1, %xmm2, %xmm3");4062	asm volatile("vaesenc %ymm1, %ymm2, %ymm3");4063	asm volatile("vaesenc %zmm1, %zmm2, %zmm3");4064	asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");4065 4066	/* AVX-512: Op code 0f 38 dd */4067 4068	asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");4069	asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");4070	asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");4071	asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");4072 4073	/* AVX-512: Op code 0f 38 de */4074 4075	asm volatile("vaesdec %xmm1, %xmm2, %xmm3");4076	asm volatile("vaesdec %ymm1, %ymm2, %ymm3");4077	asm volatile("vaesdec %zmm1, %zmm2, %zmm3");4078	asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");4079 4080	/* AVX-512: Op code 0f 38 df */4081 4082	asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");4083	asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");4084	asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");4085	asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");4086 4087	/* AVX-512: Op code 0f 3a 03 */4088 4089	asm volatile("valignd $0x12,%zmm5,%zmm6,%zmm7");4090	asm volatile("valignq $0x12,%zmm5,%zmm6,%zmm7");4091 4092	/* AVX-512: Op code 0f 3a 08 */4093 4094	asm volatile("vroundps $0x5,%ymm6,%ymm2");4095	asm volatile("vrndscaleps $0x12,%zmm5,%zmm6");4096 4097	/* AVX-512: Op code 0f 3a 09 */4098 4099	asm volatile("vroundpd $0x5,%ymm6,%ymm2");4100	asm volatile("vrndscalepd $0x12,%zmm5,%zmm6");4101 4102	/* AVX-512: Op code 0f 3a 0a */4103 4104	asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");4105	asm volatile("vrndscaless $0x12,%xmm4,%xmm5,%xmm6{%k7}");4106 4107	/* AVX-512: Op code 0f 3a 0b */4108 4109	asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");4110	asm volatile("vrndscalesd $0x12,%xmm4,%xmm5,%xmm6{%k7}");4111 4112	/* AVX-512: Op code 0f 3a 18 */4113 4114	asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");4115	asm volatile("vinsertf32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");4116	asm volatile("vinsertf64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");4117 4118	/* AVX-512: Op code 0f 3a 19 */4119 4120	asm volatile("vextractf128 $0x5,%ymm4,%xmm4");4121	asm volatile("vextractf32x4 $0x12,%zmm5,%xmm6{%k7}");4122	asm volatile("vextractf64x2 $0x12,%zmm5,%xmm6{%k7}");4123 4124	/* AVX-512: Op code 0f 3a 1a */4125 4126	asm volatile("vinsertf32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");4127	asm volatile("vinsertf64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");4128 4129	/* AVX-512: Op code 0f 3a 1b */4130 4131	asm volatile("vextractf32x8 $0x12,%zmm6,%ymm7{%k7}");4132	asm volatile("vextractf64x4 $0x12,%zmm6,%ymm7{%k7}");4133 4134	/* AVX-512: Op code 0f 3a 1e */4135 4136	asm volatile("vpcmpud $0x12,%zmm6,%zmm7,%k5");4137	asm volatile("vpcmpuq $0x12,%zmm6,%zmm7,%k5");4138 4139	/* AVX-512: Op code 0f 3a 1f */4140 4141	asm volatile("vpcmpd $0x12,%zmm6,%zmm7,%k5");4142	asm volatile("vpcmpq $0x12,%zmm6,%zmm7,%k5");4143 4144	/* AVX-512: Op code 0f 3a 23 */4145 4146	asm volatile("vshuff32x4 $0x12,%zmm5,%zmm6,%zmm7");4147	asm volatile("vshuff64x2 $0x12,%zmm5,%zmm6,%zmm7");4148 4149	/* AVX-512: Op code 0f 3a 25 */4150 4151	asm volatile("vpternlogd $0x12,%zmm5,%zmm6,%zmm7");4152	asm volatile("vpternlogq $0x12,%zmm5,%zmm6,%zmm7");4153 4154	/* AVX-512: Op code 0f 3a 26 */4155 4156	asm volatile("vgetmantps $0x12,%zmm6,%zmm7");4157	asm volatile("vgetmantpd $0x12,%zmm6,%zmm7");4158 4159	/* AVX-512: Op code 0f 3a 27 */4160 4161	asm volatile("vgetmantss $0x12,%xmm5,%xmm6,%xmm7{%k7}");4162	asm volatile("vgetmantsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");4163 4164	/* AVX-512: Op code 0f 3a 38 */4165 4166	asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");4167	asm volatile("vinserti32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");4168	asm volatile("vinserti64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");4169 4170	/* AVX-512: Op code 0f 3a 39 */4171 4172	asm volatile("vextracti128 $0x5,%ymm4,%xmm6");4173	asm volatile("vextracti32x4 $0x12,%zmm5,%xmm6{%k7}");4174	asm volatile("vextracti64x2 $0x12,%zmm5,%xmm6{%k7}");4175 4176	/* AVX-512: Op code 0f 3a 3a */4177 4178	asm volatile("vinserti32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");4179	asm volatile("vinserti64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");4180 4181	/* AVX-512: Op code 0f 3a 3b */4182 4183	asm volatile("vextracti32x8 $0x12,%zmm6,%ymm7{%k7}");4184	asm volatile("vextracti64x4 $0x12,%zmm6,%ymm7{%k7}");4185 4186	/* AVX-512: Op code 0f 3a 3e */4187 4188	asm volatile("vpcmpub $0x12,%zmm6,%zmm7,%k5");4189	asm volatile("vpcmpuw $0x12,%zmm6,%zmm7,%k5");4190 4191	/* AVX-512: Op code 0f 3a 3f */4192 4193	asm volatile("vpcmpb $0x12,%zmm6,%zmm7,%k5");4194	asm volatile("vpcmpw $0x12,%zmm6,%zmm7,%k5");4195 4196	/* AVX-512: Op code 0f 3a 42 */4197 4198	asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");4199	asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");4200 4201	/* AVX-512: Op code 0f 3a 43 */4202 4203	asm volatile("vshufi32x4 $0x12,%zmm5,%zmm6,%zmm7");4204	asm volatile("vshufi64x2 $0x12,%zmm5,%zmm6,%zmm7");4205 4206	/* AVX-512: Op code 0f 3a 44 */4207 4208	asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");4209	asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");4210	asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");4211 4212	/* AVX-512: Op code 0f 3a 50 */4213 4214	asm volatile("vrangeps $0x12,%zmm5,%zmm6,%zmm7");4215	asm volatile("vrangepd $0x12,%zmm5,%zmm6,%zmm7");4216 4217	/* AVX-512: Op code 0f 3a 51 */4218 4219	asm volatile("vrangess $0x12,%xmm5,%xmm6,%xmm7");4220	asm volatile("vrangesd $0x12,%xmm5,%xmm6,%xmm7");4221 4222	/* AVX-512: Op code 0f 3a 54 */4223 4224	asm volatile("vfixupimmps $0x12,%zmm5,%zmm6,%zmm7");4225	asm volatile("vfixupimmpd $0x12,%zmm5,%zmm6,%zmm7");4226 4227	/* AVX-512: Op code 0f 3a 55 */4228 4229	asm volatile("vfixupimmss $0x12,%xmm5,%xmm6,%xmm7{%k7}");4230	asm volatile("vfixupimmsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");4231 4232	/* AVX-512: Op code 0f 3a 56 */4233 4234	asm volatile("vreduceps $0x12,%zmm6,%zmm7");4235	asm volatile("vreducepd $0x12,%zmm6,%zmm7");4236 4237	/* AVX-512: Op code 0f 3a 57 */4238 4239	asm volatile("vreducess $0x12,%xmm5,%xmm6,%xmm7");4240	asm volatile("vreducesd $0x12,%xmm5,%xmm6,%xmm7");4241 4242	/* AVX-512: Op code 0f 3a 66 */4243 4244	asm volatile("vfpclassps $0x12,%zmm7,%k5");4245	asm volatile("vfpclasspd $0x12,%zmm7,%k5");4246 4247	/* AVX-512: Op code 0f 3a 67 */4248 4249	asm volatile("vfpclassss $0x12,%xmm7,%k5");4250	asm volatile("vfpclasssd $0x12,%xmm7,%k5");4251 4252	/* AVX-512: Op code 0f 3a 70 */4253 4254	asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");4255	asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");4256	asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");4257 4258	/* AVX-512: Op code 0f 3a 71 */4259 4260	asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");4261	asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");4262	asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");4263 4264	asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");4265	asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");4266	asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");4267 4268	/* AVX-512: Op code 0f 3a 72 */4269 4270	asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");4271	asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");4272	asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");4273 4274	/* AVX-512: Op code 0f 3a 73 */4275 4276	asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");4277	asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");4278	asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");4279 4280	asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");4281	asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");4282	asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");4283 4284	/* AVX-512: Op code 0f 3a ce */4285 4286	asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");4287 4288	asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");4289	asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");4290	asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");4291 4292	/* AVX-512: Op code 0f 3a cf */4293 4294	asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");4295 4296	asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");4297	asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");4298	asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");4299 4300	/* AVX-512: Op code 0f 72 (Grp13) */4301 4302	asm volatile("vprord $0x12,%zmm5,%zmm6");4303	asm volatile("vprorq $0x12,%zmm5,%zmm6");4304	asm volatile("vprold $0x12,%zmm5,%zmm6");4305	asm volatile("vprolq $0x12,%zmm5,%zmm6");4306	asm volatile("psrad  $0x2,%mm6");4307	asm volatile("vpsrad $0x5,%ymm6,%ymm2");4308	asm volatile("vpsrad $0x5,%zmm6,%zmm2");4309	asm volatile("vpsraq $0x5,%zmm6,%zmm2");4310 4311	/* AVX-512: Op code 0f 38 c6 (Grp18) */4312 4313	asm volatile("vgatherpf0dps 0x7b(%ebp,%zmm7,8){%k1}");4314	asm volatile("vgatherpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");4315	asm volatile("vgatherpf1dps 0x7b(%ebp,%zmm7,8){%k1}");4316	asm volatile("vgatherpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");4317	asm volatile("vscatterpf0dps 0x7b(%ebp,%zmm7,8){%k1}");4318	asm volatile("vscatterpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");4319	asm volatile("vscatterpf1dps 0x7b(%ebp,%zmm7,8){%k1}");4320	asm volatile("vscatterpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");4321 4322	/* AVX-512: Op code 0f 38 c7 (Grp19) */4323 4324	asm volatile("vgatherpf0qps 0x7b(%ebp,%zmm7,8){%k1}");4325	asm volatile("vgatherpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");4326	asm volatile("vgatherpf1qps 0x7b(%ebp,%zmm7,8){%k1}");4327	asm volatile("vgatherpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");4328	asm volatile("vscatterpf0qps 0x7b(%ebp,%zmm7,8){%k1}");4329	asm volatile("vscatterpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");4330	asm volatile("vscatterpf1qps 0x7b(%ebp,%zmm7,8){%k1}");4331	asm volatile("vscatterpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");4332 4333	/* AVX-512: Examples */4334 4335	asm volatile("vaddpd %zmm4,%zmm5,%zmm6");4336	asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}");4337	asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}{z}");4338	asm volatile("vaddpd {rn-sae},%zmm4,%zmm5,%zmm6");4339	asm volatile("vaddpd {ru-sae},%zmm4,%zmm5,%zmm6");4340	asm volatile("vaddpd {rd-sae},%zmm4,%zmm5,%zmm6");4341	asm volatile("vaddpd {rz-sae},%zmm4,%zmm5,%zmm6");4342	asm volatile("vaddpd (%ecx),%zmm5,%zmm6");4343	asm volatile("vaddpd 0x123(%eax,%ecx,8),%zmm5,%zmm6");4344	asm volatile("vaddpd (%ecx){1to8},%zmm5,%zmm6");4345	asm volatile("vaddpd 0x1fc0(%edx),%zmm5,%zmm6");4346	asm volatile("vaddpd 0x3f8(%edx){1to8},%zmm5,%zmm6");4347	asm volatile("vcmpeq_uqps 0x1fc(%edx){1to16},%zmm6,%k5");4348	asm volatile("vcmpltsd 0x123(%eax,%ecx,8),%xmm3,%k5{%k7}");4349	asm volatile("vcmplesd {sae},%xmm4,%xmm5,%k5{%k7}");4350	asm volatile("vgetmantss $0x5b,0x123(%eax,%ecx,8),%xmm4,%xmm5{%k7}");4351 4352	/* bndmk m32, bnd */4353 4354	asm volatile("bndmk (%eax), %bnd0");4355	asm volatile("bndmk (0x12345678), %bnd0");4356	asm volatile("bndmk (%eax), %bnd3");4357	asm volatile("bndmk (%ecx,%eax,1), %bnd0");4358	asm volatile("bndmk 0x12345678(,%eax,1), %bnd0");4359	asm volatile("bndmk (%eax,%ecx,1), %bnd0");4360	asm volatile("bndmk (%eax,%ecx,8), %bnd0");4361	asm volatile("bndmk 0x12(%eax), %bnd0");4362	asm volatile("bndmk 0x12(%ebp), %bnd0");4363	asm volatile("bndmk 0x12(%ecx,%eax,1), %bnd0");4364	asm volatile("bndmk 0x12(%ebp,%eax,1), %bnd0");4365	asm volatile("bndmk 0x12(%eax,%ecx,1), %bnd0");4366	asm volatile("bndmk 0x12(%eax,%ecx,8), %bnd0");4367	asm volatile("bndmk 0x12345678(%eax), %bnd0");4368	asm volatile("bndmk 0x12345678(%ebp), %bnd0");4369	asm volatile("bndmk 0x12345678(%ecx,%eax,1), %bnd0");4370	asm volatile("bndmk 0x12345678(%ebp,%eax,1), %bnd0");4371	asm volatile("bndmk 0x12345678(%eax,%ecx,1), %bnd0");4372	asm volatile("bndmk 0x12345678(%eax,%ecx,8), %bnd0");4373 4374	/* bndcl r/m32, bnd */4375 4376	asm volatile("bndcl (%eax), %bnd0");4377	asm volatile("bndcl (0x12345678), %bnd0");4378	asm volatile("bndcl (%eax), %bnd3");4379	asm volatile("bndcl (%ecx,%eax,1), %bnd0");4380	asm volatile("bndcl 0x12345678(,%eax,1), %bnd0");4381	asm volatile("bndcl (%eax,%ecx,1), %bnd0");4382	asm volatile("bndcl (%eax,%ecx,8), %bnd0");4383	asm volatile("bndcl 0x12(%eax), %bnd0");4384	asm volatile("bndcl 0x12(%ebp), %bnd0");4385	asm volatile("bndcl 0x12(%ecx,%eax,1), %bnd0");4386	asm volatile("bndcl 0x12(%ebp,%eax,1), %bnd0");4387	asm volatile("bndcl 0x12(%eax,%ecx,1), %bnd0");4388	asm volatile("bndcl 0x12(%eax,%ecx,8), %bnd0");4389	asm volatile("bndcl 0x12345678(%eax), %bnd0");4390	asm volatile("bndcl 0x12345678(%ebp), %bnd0");4391	asm volatile("bndcl 0x12345678(%ecx,%eax,1), %bnd0");4392	asm volatile("bndcl 0x12345678(%ebp,%eax,1), %bnd0");4393	asm volatile("bndcl 0x12345678(%eax,%ecx,1), %bnd0");4394	asm volatile("bndcl 0x12345678(%eax,%ecx,8), %bnd0");4395	asm volatile("bndcl %eax, %bnd0");4396 4397	/* bndcu r/m32, bnd */4398 4399	asm volatile("bndcu (%eax), %bnd0");4400	asm volatile("bndcu (0x12345678), %bnd0");4401	asm volatile("bndcu (%eax), %bnd3");4402	asm volatile("bndcu (%ecx,%eax,1), %bnd0");4403	asm volatile("bndcu 0x12345678(,%eax,1), %bnd0");4404	asm volatile("bndcu (%eax,%ecx,1), %bnd0");4405	asm volatile("bndcu (%eax,%ecx,8), %bnd0");4406	asm volatile("bndcu 0x12(%eax), %bnd0");4407	asm volatile("bndcu 0x12(%ebp), %bnd0");4408	asm volatile("bndcu 0x12(%ecx,%eax,1), %bnd0");4409	asm volatile("bndcu 0x12(%ebp,%eax,1), %bnd0");4410	asm volatile("bndcu 0x12(%eax,%ecx,1), %bnd0");4411	asm volatile("bndcu 0x12(%eax,%ecx,8), %bnd0");4412	asm volatile("bndcu 0x12345678(%eax), %bnd0");4413	asm volatile("bndcu 0x12345678(%ebp), %bnd0");4414	asm volatile("bndcu 0x12345678(%ecx,%eax,1), %bnd0");4415	asm volatile("bndcu 0x12345678(%ebp,%eax,1), %bnd0");4416	asm volatile("bndcu 0x12345678(%eax,%ecx,1), %bnd0");4417	asm volatile("bndcu 0x12345678(%eax,%ecx,8), %bnd0");4418	asm volatile("bndcu %eax, %bnd0");4419 4420	/* bndcn r/m32, bnd */4421 4422	asm volatile("bndcn (%eax), %bnd0");4423	asm volatile("bndcn (0x12345678), %bnd0");4424	asm volatile("bndcn (%eax), %bnd3");4425	asm volatile("bndcn (%ecx,%eax,1), %bnd0");4426	asm volatile("bndcn 0x12345678(,%eax,1), %bnd0");4427	asm volatile("bndcn (%eax,%ecx,1), %bnd0");4428	asm volatile("bndcn (%eax,%ecx,8), %bnd0");4429	asm volatile("bndcn 0x12(%eax), %bnd0");4430	asm volatile("bndcn 0x12(%ebp), %bnd0");4431	asm volatile("bndcn 0x12(%ecx,%eax,1), %bnd0");4432	asm volatile("bndcn 0x12(%ebp,%eax,1), %bnd0");4433	asm volatile("bndcn 0x12(%eax,%ecx,1), %bnd0");4434	asm volatile("bndcn 0x12(%eax,%ecx,8), %bnd0");4435	asm volatile("bndcn 0x12345678(%eax), %bnd0");4436	asm volatile("bndcn 0x12345678(%ebp), %bnd0");4437	asm volatile("bndcn 0x12345678(%ecx,%eax,1), %bnd0");4438	asm volatile("bndcn 0x12345678(%ebp,%eax,1), %bnd0");4439	asm volatile("bndcn 0x12345678(%eax,%ecx,1), %bnd0");4440	asm volatile("bndcn 0x12345678(%eax,%ecx,8), %bnd0");4441	asm volatile("bndcn %eax, %bnd0");4442 4443	/* bndmov m64, bnd */4444 4445	asm volatile("bndmov (%eax), %bnd0");4446	asm volatile("bndmov (0x12345678), %bnd0");4447	asm volatile("bndmov (%eax), %bnd3");4448	asm volatile("bndmov (%ecx,%eax,1), %bnd0");4449	asm volatile("bndmov 0x12345678(,%eax,1), %bnd0");4450	asm volatile("bndmov (%eax,%ecx,1), %bnd0");4451	asm volatile("bndmov (%eax,%ecx,8), %bnd0");4452	asm volatile("bndmov 0x12(%eax), %bnd0");4453	asm volatile("bndmov 0x12(%ebp), %bnd0");4454	asm volatile("bndmov 0x12(%ecx,%eax,1), %bnd0");4455	asm volatile("bndmov 0x12(%ebp,%eax,1), %bnd0");4456	asm volatile("bndmov 0x12(%eax,%ecx,1), %bnd0");4457	asm volatile("bndmov 0x12(%eax,%ecx,8), %bnd0");4458	asm volatile("bndmov 0x12345678(%eax), %bnd0");4459	asm volatile("bndmov 0x12345678(%ebp), %bnd0");4460	asm volatile("bndmov 0x12345678(%ecx,%eax,1), %bnd0");4461	asm volatile("bndmov 0x12345678(%ebp,%eax,1), %bnd0");4462	asm volatile("bndmov 0x12345678(%eax,%ecx,1), %bnd0");4463	asm volatile("bndmov 0x12345678(%eax,%ecx,8), %bnd0");4464 4465	/* bndmov bnd, m64 */4466 4467	asm volatile("bndmov %bnd0, (%eax)");4468	asm volatile("bndmov %bnd0, (0x12345678)");4469	asm volatile("bndmov %bnd3, (%eax)");4470	asm volatile("bndmov %bnd0, (%ecx,%eax,1)");4471	asm volatile("bndmov %bnd0, 0x12345678(,%eax,1)");4472	asm volatile("bndmov %bnd0, (%eax,%ecx,1)");4473	asm volatile("bndmov %bnd0, (%eax,%ecx,8)");4474	asm volatile("bndmov %bnd0, 0x12(%eax)");4475	asm volatile("bndmov %bnd0, 0x12(%ebp)");4476	asm volatile("bndmov %bnd0, 0x12(%ecx,%eax,1)");4477	asm volatile("bndmov %bnd0, 0x12(%ebp,%eax,1)");4478	asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,1)");4479	asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,8)");4480	asm volatile("bndmov %bnd0, 0x12345678(%eax)");4481	asm volatile("bndmov %bnd0, 0x12345678(%ebp)");4482	asm volatile("bndmov %bnd0, 0x12345678(%ecx,%eax,1)");4483	asm volatile("bndmov %bnd0, 0x12345678(%ebp,%eax,1)");4484	asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,1)");4485	asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,8)");4486 4487	/* bndmov bnd2, bnd1 */4488 4489	asm volatile("bndmov %bnd0, %bnd1");4490	asm volatile("bndmov %bnd1, %bnd0");4491 4492	/* bndldx mib, bnd */4493 4494	asm volatile("bndldx (%eax), %bnd0");4495	asm volatile("bndldx (0x12345678), %bnd0");4496	asm volatile("bndldx (%eax), %bnd3");4497	asm volatile("bndldx (%ecx,%eax,1), %bnd0");4498	asm volatile("bndldx 0x12345678(,%eax,1), %bnd0");4499	asm volatile("bndldx (%eax,%ecx,1), %bnd0");4500	asm volatile("bndldx 0x12(%eax), %bnd0");4501	asm volatile("bndldx 0x12(%ebp), %bnd0");4502	asm volatile("bndldx 0x12(%ecx,%eax,1), %bnd0");4503	asm volatile("bndldx 0x12(%ebp,%eax,1), %bnd0");4504	asm volatile("bndldx 0x12(%eax,%ecx,1), %bnd0");4505	asm volatile("bndldx 0x12345678(%eax), %bnd0");4506	asm volatile("bndldx 0x12345678(%ebp), %bnd0");4507	asm volatile("bndldx 0x12345678(%ecx,%eax,1), %bnd0");4508	asm volatile("bndldx 0x12345678(%ebp,%eax,1), %bnd0");4509	asm volatile("bndldx 0x12345678(%eax,%ecx,1), %bnd0");4510 4511	/* bndstx bnd, mib */4512 4513	asm volatile("bndstx %bnd0, (%eax)");4514	asm volatile("bndstx %bnd0, (0x12345678)");4515	asm volatile("bndstx %bnd3, (%eax)");4516	asm volatile("bndstx %bnd0, (%ecx,%eax,1)");4517	asm volatile("bndstx %bnd0, 0x12345678(,%eax,1)");4518	asm volatile("bndstx %bnd0, (%eax,%ecx,1)");4519	asm volatile("bndstx %bnd0, 0x12(%eax)");4520	asm volatile("bndstx %bnd0, 0x12(%ebp)");4521	asm volatile("bndstx %bnd0, 0x12(%ecx,%eax,1)");4522	asm volatile("bndstx %bnd0, 0x12(%ebp,%eax,1)");4523	asm volatile("bndstx %bnd0, 0x12(%eax,%ecx,1)");4524	asm volatile("bndstx %bnd0, 0x12345678(%eax)");4525	asm volatile("bndstx %bnd0, 0x12345678(%ebp)");4526	asm volatile("bndstx %bnd0, 0x12345678(%ecx,%eax,1)");4527	asm volatile("bndstx %bnd0, 0x12345678(%ebp,%eax,1)");4528	asm volatile("bndstx %bnd0, 0x12345678(%eax,%ecx,1)");4529 4530	/* bnd prefix on call, ret, jmp and all jcc */4531 4532	asm volatile("bnd call label1");  /* Expecting: call unconditional 0xfffffffc */4533	asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */4534	asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */4535	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */4536	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */4537	asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */4538	asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0xfffffffc */4539 4540	/* sha1rnds4 imm8, xmm2/m128, xmm1 */4541 4542	asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");4543	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");4544	asm volatile("sha1rnds4 $0x91, (%eax), %xmm0");4545	asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");4546	asm volatile("sha1rnds4 $0x91, (%eax), %xmm3");4547	asm volatile("sha1rnds4 $0x91, (%ecx,%eax,1), %xmm0");4548	asm volatile("sha1rnds4 $0x91, 0x12345678(,%eax,1), %xmm0");4549	asm volatile("sha1rnds4 $0x91, (%eax,%ecx,1), %xmm0");4550	asm volatile("sha1rnds4 $0x91, (%eax,%ecx,8), %xmm0");4551	asm volatile("sha1rnds4 $0x91, 0x12(%eax), %xmm0");4552	asm volatile("sha1rnds4 $0x91, 0x12(%ebp), %xmm0");4553	asm volatile("sha1rnds4 $0x91, 0x12(%ecx,%eax,1), %xmm0");4554	asm volatile("sha1rnds4 $0x91, 0x12(%ebp,%eax,1), %xmm0");4555	asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,1), %xmm0");4556	asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,8), %xmm0");4557	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax), %xmm0");4558	asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp), %xmm0");4559	asm volatile("sha1rnds4 $0x91, 0x12345678(%ecx,%eax,1), %xmm0");4560	asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp,%eax,1), %xmm0");4561	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,1), %xmm0");4562	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,8), %xmm0");4563 4564	/* sha1nexte xmm2/m128, xmm1 */4565 4566	asm volatile("sha1nexte %xmm1, %xmm0");4567	asm volatile("sha1nexte %xmm7, %xmm2");4568	asm volatile("sha1nexte (%eax), %xmm0");4569	asm volatile("sha1nexte (0x12345678), %xmm0");4570	asm volatile("sha1nexte (%eax), %xmm3");4571	asm volatile("sha1nexte (%ecx,%eax,1), %xmm0");4572	asm volatile("sha1nexte 0x12345678(,%eax,1), %xmm0");4573	asm volatile("sha1nexte (%eax,%ecx,1), %xmm0");4574	asm volatile("sha1nexte (%eax,%ecx,8), %xmm0");4575	asm volatile("sha1nexte 0x12(%eax), %xmm0");4576	asm volatile("sha1nexte 0x12(%ebp), %xmm0");4577	asm volatile("sha1nexte 0x12(%ecx,%eax,1), %xmm0");4578	asm volatile("sha1nexte 0x12(%ebp,%eax,1), %xmm0");4579	asm volatile("sha1nexte 0x12(%eax,%ecx,1), %xmm0");4580	asm volatile("sha1nexte 0x12(%eax,%ecx,8), %xmm0");4581	asm volatile("sha1nexte 0x12345678(%eax), %xmm0");4582	asm volatile("sha1nexte 0x12345678(%ebp), %xmm0");4583	asm volatile("sha1nexte 0x12345678(%ecx,%eax,1), %xmm0");4584	asm volatile("sha1nexte 0x12345678(%ebp,%eax,1), %xmm0");4585	asm volatile("sha1nexte 0x12345678(%eax,%ecx,1), %xmm0");4586	asm volatile("sha1nexte 0x12345678(%eax,%ecx,8), %xmm0");4587 4588	/* sha1msg1 xmm2/m128, xmm1 */4589 4590	asm volatile("sha1msg1 %xmm1, %xmm0");4591	asm volatile("sha1msg1 %xmm7, %xmm2");4592	asm volatile("sha1msg1 (%eax), %xmm0");4593	asm volatile("sha1msg1 (0x12345678), %xmm0");4594	asm volatile("sha1msg1 (%eax), %xmm3");4595	asm volatile("sha1msg1 (%ecx,%eax,1), %xmm0");4596	asm volatile("sha1msg1 0x12345678(,%eax,1), %xmm0");4597	asm volatile("sha1msg1 (%eax,%ecx,1), %xmm0");4598	asm volatile("sha1msg1 (%eax,%ecx,8), %xmm0");4599	asm volatile("sha1msg1 0x12(%eax), %xmm0");4600	asm volatile("sha1msg1 0x12(%ebp), %xmm0");4601	asm volatile("sha1msg1 0x12(%ecx,%eax,1), %xmm0");4602	asm volatile("sha1msg1 0x12(%ebp,%eax,1), %xmm0");4603	asm volatile("sha1msg1 0x12(%eax,%ecx,1), %xmm0");4604	asm volatile("sha1msg1 0x12(%eax,%ecx,8), %xmm0");4605	asm volatile("sha1msg1 0x12345678(%eax), %xmm0");4606	asm volatile("sha1msg1 0x12345678(%ebp), %xmm0");4607	asm volatile("sha1msg1 0x12345678(%ecx,%eax,1), %xmm0");4608	asm volatile("sha1msg1 0x12345678(%ebp,%eax,1), %xmm0");4609	asm volatile("sha1msg1 0x12345678(%eax,%ecx,1), %xmm0");4610	asm volatile("sha1msg1 0x12345678(%eax,%ecx,8), %xmm0");4611 4612	/* sha1msg2 xmm2/m128, xmm1 */4613 4614	asm volatile("sha1msg2 %xmm1, %xmm0");4615	asm volatile("sha1msg2 %xmm7, %xmm2");4616	asm volatile("sha1msg2 (%eax), %xmm0");4617	asm volatile("sha1msg2 (0x12345678), %xmm0");4618	asm volatile("sha1msg2 (%eax), %xmm3");4619	asm volatile("sha1msg2 (%ecx,%eax,1), %xmm0");4620	asm volatile("sha1msg2 0x12345678(,%eax,1), %xmm0");4621	asm volatile("sha1msg2 (%eax,%ecx,1), %xmm0");4622	asm volatile("sha1msg2 (%eax,%ecx,8), %xmm0");4623	asm volatile("sha1msg2 0x12(%eax), %xmm0");4624	asm volatile("sha1msg2 0x12(%ebp), %xmm0");4625	asm volatile("sha1msg2 0x12(%ecx,%eax,1), %xmm0");4626	asm volatile("sha1msg2 0x12(%ebp,%eax,1), %xmm0");4627	asm volatile("sha1msg2 0x12(%eax,%ecx,1), %xmm0");4628	asm volatile("sha1msg2 0x12(%eax,%ecx,8), %xmm0");4629	asm volatile("sha1msg2 0x12345678(%eax), %xmm0");4630	asm volatile("sha1msg2 0x12345678(%ebp), %xmm0");4631	asm volatile("sha1msg2 0x12345678(%ecx,%eax,1), %xmm0");4632	asm volatile("sha1msg2 0x12345678(%ebp,%eax,1), %xmm0");4633	asm volatile("sha1msg2 0x12345678(%eax,%ecx,1), %xmm0");4634	asm volatile("sha1msg2 0x12345678(%eax,%ecx,8), %xmm0");4635 4636	/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */4637	/* Note sha256rnds2 has an implicit operand 'xmm0' */4638 4639	asm volatile("sha256rnds2 %xmm4, %xmm1");4640	asm volatile("sha256rnds2 %xmm7, %xmm2");4641	asm volatile("sha256rnds2 (%eax), %xmm1");4642	asm volatile("sha256rnds2 (0x12345678), %xmm1");4643	asm volatile("sha256rnds2 (%eax), %xmm3");4644	asm volatile("sha256rnds2 (%ecx,%eax,1), %xmm1");4645	asm volatile("sha256rnds2 0x12345678(,%eax,1), %xmm1");4646	asm volatile("sha256rnds2 (%eax,%ecx,1), %xmm1");4647	asm volatile("sha256rnds2 (%eax,%ecx,8), %xmm1");4648	asm volatile("sha256rnds2 0x12(%eax), %xmm1");4649	asm volatile("sha256rnds2 0x12(%ebp), %xmm1");4650	asm volatile("sha256rnds2 0x12(%ecx,%eax,1), %xmm1");4651	asm volatile("sha256rnds2 0x12(%ebp,%eax,1), %xmm1");4652	asm volatile("sha256rnds2 0x12(%eax,%ecx,1), %xmm1");4653	asm volatile("sha256rnds2 0x12(%eax,%ecx,8), %xmm1");4654	asm volatile("sha256rnds2 0x12345678(%eax), %xmm1");4655	asm volatile("sha256rnds2 0x12345678(%ebp), %xmm1");4656	asm volatile("sha256rnds2 0x12345678(%ecx,%eax,1), %xmm1");4657	asm volatile("sha256rnds2 0x12345678(%ebp,%eax,1), %xmm1");4658	asm volatile("sha256rnds2 0x12345678(%eax,%ecx,1), %xmm1");4659	asm volatile("sha256rnds2 0x12345678(%eax,%ecx,8), %xmm1");4660 4661	/* sha256msg1 xmm2/m128, xmm1 */4662 4663	asm volatile("sha256msg1 %xmm1, %xmm0");4664	asm volatile("sha256msg1 %xmm7, %xmm2");4665	asm volatile("sha256msg1 (%eax), %xmm0");4666	asm volatile("sha256msg1 (0x12345678), %xmm0");4667	asm volatile("sha256msg1 (%eax), %xmm3");4668	asm volatile("sha256msg1 (%ecx,%eax,1), %xmm0");4669	asm volatile("sha256msg1 0x12345678(,%eax,1), %xmm0");4670	asm volatile("sha256msg1 (%eax,%ecx,1), %xmm0");4671	asm volatile("sha256msg1 (%eax,%ecx,8), %xmm0");4672	asm volatile("sha256msg1 0x12(%eax), %xmm0");4673	asm volatile("sha256msg1 0x12(%ebp), %xmm0");4674	asm volatile("sha256msg1 0x12(%ecx,%eax,1), %xmm0");4675	asm volatile("sha256msg1 0x12(%ebp,%eax,1), %xmm0");4676	asm volatile("sha256msg1 0x12(%eax,%ecx,1), %xmm0");4677	asm volatile("sha256msg1 0x12(%eax,%ecx,8), %xmm0");4678	asm volatile("sha256msg1 0x12345678(%eax), %xmm0");4679	asm volatile("sha256msg1 0x12345678(%ebp), %xmm0");4680	asm volatile("sha256msg1 0x12345678(%ecx,%eax,1), %xmm0");4681	asm volatile("sha256msg1 0x12345678(%ebp,%eax,1), %xmm0");4682	asm volatile("sha256msg1 0x12345678(%eax,%ecx,1), %xmm0");4683	asm volatile("sha256msg1 0x12345678(%eax,%ecx,8), %xmm0");4684 4685	/* sha256msg2 xmm2/m128, xmm1 */4686 4687	asm volatile("sha256msg2 %xmm1, %xmm0");4688	asm volatile("sha256msg2 %xmm7, %xmm2");4689	asm volatile("sha256msg2 (%eax), %xmm0");4690	asm volatile("sha256msg2 (0x12345678), %xmm0");4691	asm volatile("sha256msg2 (%eax), %xmm3");4692	asm volatile("sha256msg2 (%ecx,%eax,1), %xmm0");4693	asm volatile("sha256msg2 0x12345678(,%eax,1), %xmm0");4694	asm volatile("sha256msg2 (%eax,%ecx,1), %xmm0");4695	asm volatile("sha256msg2 (%eax,%ecx,8), %xmm0");4696	asm volatile("sha256msg2 0x12(%eax), %xmm0");4697	asm volatile("sha256msg2 0x12(%ebp), %xmm0");4698	asm volatile("sha256msg2 0x12(%ecx,%eax,1), %xmm0");4699	asm volatile("sha256msg2 0x12(%ebp,%eax,1), %xmm0");4700	asm volatile("sha256msg2 0x12(%eax,%ecx,1), %xmm0");4701	asm volatile("sha256msg2 0x12(%eax,%ecx,8), %xmm0");4702	asm volatile("sha256msg2 0x12345678(%eax), %xmm0");4703	asm volatile("sha256msg2 0x12345678(%ebp), %xmm0");4704	asm volatile("sha256msg2 0x12345678(%ecx,%eax,1), %xmm0");4705	asm volatile("sha256msg2 0x12345678(%ebp,%eax,1), %xmm0");4706	asm volatile("sha256msg2 0x12345678(%eax,%ecx,1), %xmm0");4707	asm volatile("sha256msg2 0x12345678(%eax,%ecx,8), %xmm0");4708 4709	/* clflushopt m8 */4710 4711	asm volatile("clflushopt (%eax)");4712	asm volatile("clflushopt (0x12345678)");4713	asm volatile("clflushopt 0x12345678(%eax,%ecx,8)");4714	/* Also check instructions in the same group encoding as clflushopt */4715	asm volatile("clflush (%eax)");4716	asm volatile("sfence");4717 4718	/* clwb m8 */4719 4720	asm volatile("clwb (%eax)");4721	asm volatile("clwb (0x12345678)");4722	asm volatile("clwb 0x12345678(%eax,%ecx,8)");4723	/* Also check instructions in the same group encoding as clwb */4724	asm volatile("xsaveopt (%eax)");4725	asm volatile("mfence");4726 4727	/* cldemote m8 */4728 4729	asm volatile("cldemote (%eax)");4730	asm volatile("cldemote (0x12345678)");4731	asm volatile("cldemote 0x12345678(%eax,%ecx,8)");4732 4733	/* xsavec mem */4734 4735	asm volatile("xsavec (%eax)");4736	asm volatile("xsavec (0x12345678)");4737	asm volatile("xsavec 0x12345678(%eax,%ecx,8)");4738 4739	/* xsaves mem */4740 4741	asm volatile("xsaves (%eax)");4742	asm volatile("xsaves (0x12345678)");4743	asm volatile("xsaves 0x12345678(%eax,%ecx,8)");4744 4745	/* xrstors mem */4746 4747	asm volatile("xrstors (%eax)");4748	asm volatile("xrstors (0x12345678)");4749	asm volatile("xrstors 0x12345678(%eax,%ecx,8)");4750 4751	/* ptwrite */4752 4753	asm volatile("ptwrite (%eax)");4754	asm volatile("ptwrite (0x12345678)");4755	asm volatile("ptwrite 0x12345678(%eax,%ecx,8)");4756 4757	asm volatile("ptwritel (%eax)");4758	asm volatile("ptwritel (0x12345678)");4759	asm volatile("ptwritel 0x12345678(%eax,%ecx,8)");4760 4761	/* tpause */4762 4763	asm volatile("tpause %ebx");4764 4765	/* umonitor */4766 4767	asm volatile("umonitor %ax");4768	asm volatile("umonitor %eax");4769 4770	/* umwait */4771 4772	asm volatile("umwait %eax");4773 4774	/* movdiri */4775 4776	asm volatile("movdiri %eax,(%ebx)");4777	asm volatile("movdiri %ecx,0x12345678(%eax)");4778 4779	/* movdir64b */4780 4781	asm volatile("movdir64b (%eax),%ebx");4782	asm volatile("movdir64b 0x12345678(%eax),%ecx");4783	asm volatile("movdir64b (%si),%bx");4784	asm volatile("movdir64b 0x1234(%si),%cx");4785 4786	/* enqcmd */4787 4788	asm volatile("enqcmd (%eax),%ebx");4789	asm volatile("enqcmd 0x12345678(%eax),%ecx");4790	asm volatile("enqcmd (%si),%bx");4791	asm volatile("enqcmd 0x1234(%si),%cx");4792 4793	/* enqcmds */4794 4795	asm volatile("enqcmds (%eax),%ebx");4796	asm volatile("enqcmds 0x12345678(%eax),%ecx");4797	asm volatile("enqcmds (%si),%bx");4798	asm volatile("enqcmds 0x1234(%si),%cx");4799 4800	/* incsspd */4801 4802	asm volatile("incsspd %eax");4803	/* Also check instructions in the same group encoding as incsspd */4804	asm volatile("xrstor (%eax)");4805	asm volatile("xrstor (0x12345678)");4806	asm volatile("xrstor 0x12345678(%eax,%ecx,8)");4807	asm volatile("lfence");4808 4809	/* rdsspd */4810 4811	asm volatile("rdsspd %eax");4812 4813	/* saveprevssp */4814 4815	asm volatile("saveprevssp");4816 4817	/* rstorssp */4818 4819	asm volatile("rstorssp (%eax)");4820	asm volatile("rstorssp (0x12345678)");4821	asm volatile("rstorssp 0x12345678(%eax,%ecx,8)");4822 4823	/* wrssd */4824 4825	asm volatile("wrssd %ecx,(%eax)");4826	asm volatile("wrssd %edx,(0x12345678)");4827	asm volatile("wrssd %edx,0x12345678(%eax,%ecx,8)");4828 4829	/* wrussd */4830 4831	asm volatile("wrussd %ecx,(%eax)");4832	asm volatile("wrussd %edx,(0x12345678)");4833	asm volatile("wrussd %edx,0x12345678(%eax,%ecx,8)");4834 4835	/* setssbsy */4836 4837	asm volatile("setssbsy");4838	/* Also check instructions in the same group encoding as setssbsy */4839	asm volatile("rdpkru");4840	asm volatile("wrpkru");4841 4842	/* clrssbsy */4843 4844	asm volatile("clrssbsy (%eax)");4845	asm volatile("clrssbsy (0x12345678)");4846	asm volatile("clrssbsy 0x12345678(%eax,%ecx,8)");4847 4848	/* endbr32/64 */4849 4850	asm volatile("endbr32");4851	asm volatile("endbr64");4852 4853	/* call with/without notrack prefix */4854 4855	asm volatile("call *%eax");				/* Expecting: call indirect 0 */4856	asm volatile("call *(%eax)");				/* Expecting: call indirect 0 */4857	asm volatile("call *(0x12345678)");			/* Expecting: call indirect 0 */4858	asm volatile("call *0x12345678(%eax,%ecx,8)");		/* Expecting: call indirect 0 */4859 4860	asm volatile("bnd call *%eax");				/* Expecting: call indirect 0 */4861	asm volatile("bnd call *(%eax)");			/* Expecting: call indirect 0 */4862	asm volatile("bnd call *(0x12345678)");			/* Expecting: call indirect 0 */4863	asm volatile("bnd call *0x12345678(%eax,%ecx,8)");	/* Expecting: call indirect 0 */4864 4865	asm volatile("notrack call *%eax");			/* Expecting: call indirect 0 */4866	asm volatile("notrack call *(%eax)");			/* Expecting: call indirect 0 */4867	asm volatile("notrack call *(0x12345678)");		/* Expecting: call indirect 0 */4868	asm volatile("notrack call *0x12345678(%eax,%ecx,8)");	/* Expecting: call indirect 0 */4869 4870	asm volatile("notrack bnd call *%eax");			/* Expecting: call indirect 0 */4871	asm volatile("notrack bnd call *(%eax)");		/* Expecting: call indirect 0 */4872	asm volatile("notrack bnd call *(0x12345678)");		/* Expecting: call indirect 0 */4873	asm volatile("notrack bnd call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */4874 4875	/* jmp with/without notrack prefix */4876 4877	asm volatile("jmp *%eax");				/* Expecting: jmp indirect 0 */4878	asm volatile("jmp *(%eax)");				/* Expecting: jmp indirect 0 */4879	asm volatile("jmp *(0x12345678)");			/* Expecting: jmp indirect 0 */4880	asm volatile("jmp *0x12345678(%eax,%ecx,8)");		/* Expecting: jmp indirect 0 */4881 4882	asm volatile("bnd jmp *%eax");				/* Expecting: jmp indirect 0 */4883	asm volatile("bnd jmp *(%eax)");			/* Expecting: jmp indirect 0 */4884	asm volatile("bnd jmp *(0x12345678)");			/* Expecting: jmp indirect 0 */4885	asm volatile("bnd jmp *0x12345678(%eax,%ecx,8)");	/* Expecting: jmp indirect 0 */4886 4887	asm volatile("notrack jmp *%eax");			/* Expecting: jmp indirect 0 */4888	asm volatile("notrack jmp *(%eax)");			/* Expecting: jmp indirect 0 */4889	asm volatile("notrack jmp *(0x12345678)");		/* Expecting: jmp indirect 0 */4890	asm volatile("notrack jmp *0x12345678(%eax,%ecx,8)");	/* Expecting: jmp indirect 0 */4891 4892	asm volatile("notrack bnd jmp *%eax");			/* Expecting: jmp indirect 0 */4893	asm volatile("notrack bnd jmp *(%eax)");		/* Expecting: jmp indirect 0 */4894	asm volatile("notrack bnd jmp *(0x12345678)");		/* Expecting: jmp indirect 0 */4895	asm volatile("notrack bnd jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */4896 4897	/* AVX512-FP16 */4898 4899	asm volatile("vaddph %zmm3, %zmm2, %zmm1");4900	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");4901	asm volatile("vaddph %xmm3, %xmm2, %xmm1");4902	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");4903	asm volatile("vaddph %ymm3, %ymm2, %ymm1");4904	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");4905	asm volatile("vaddsh %xmm3, %xmm2, %xmm1");4906	asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");4907	asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");4908	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");4909	asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");4910	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");4911	asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");4912	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");4913	asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");4914	asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");4915	asm volatile("vcomish %xmm2, %xmm1");4916	asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");4917	asm volatile("vcvtdq2ph %zmm2, %ymm1");4918	asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");4919	asm volatile("vcvtdq2ph %xmm2, %xmm1");4920	asm volatile("vcvtdq2ph %ymm2, %xmm1");4921	asm volatile("vcvtpd2ph %zmm2, %xmm1");4922	asm volatile("vcvtpd2ph %xmm2, %xmm1");4923	asm volatile("vcvtpd2ph %ymm2, %xmm1");4924	asm volatile("vcvtph2dq %ymm2, %zmm1");4925	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");4926	asm volatile("vcvtph2dq %xmm2, %xmm1");4927	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");4928	asm volatile("vcvtph2dq %xmm2, %ymm1");4929	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");4930	asm volatile("vcvtph2pd %xmm2, %zmm1");4931	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");4932	asm volatile("vcvtph2pd %xmm2, %xmm1");4933	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");4934	asm volatile("vcvtph2pd %xmm2, %ymm1");4935	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");4936	asm volatile("vcvtph2ps %ymm2, %zmm1");4937	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");4938	asm volatile("vcvtph2ps %xmm2, %xmm1");4939	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");4940	asm volatile("vcvtph2ps %xmm2, %ymm1");4941	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");4942	asm volatile("vcvtph2ps %xmm2, %xmm1");4943	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");4944	asm volatile("vcvtph2ps %xmm2, %ymm1");4945	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");4946	asm volatile("vcvtph2psx %ymm2, %zmm1");4947	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");4948	asm volatile("vcvtph2psx %xmm2, %xmm1");4949	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");4950	asm volatile("vcvtph2psx %xmm2, %ymm1");4951	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");4952	asm volatile("vcvtph2qq %xmm2, %zmm1");4953	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");4954	asm volatile("vcvtph2qq %xmm2, %xmm1");4955	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");4956	asm volatile("vcvtph2qq %xmm2, %ymm1");4957	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");4958	asm volatile("vcvtph2udq %ymm2, %zmm1");4959	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");4960	asm volatile("vcvtph2udq %xmm2, %xmm1");4961	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");4962	asm volatile("vcvtph2udq %xmm2, %ymm1");4963	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");4964	asm volatile("vcvtph2uqq %xmm2, %zmm1");4965	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");4966	asm volatile("vcvtph2uqq %xmm2, %xmm1");4967	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");4968	asm volatile("vcvtph2uqq %xmm2, %ymm1");4969	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");4970	asm volatile("vcvtph2uw %zmm2, %zmm1");4971	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");4972	asm volatile("vcvtph2uw %xmm2, %xmm1");4973	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");4974	asm volatile("vcvtph2uw %ymm2, %ymm1");4975	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");4976	asm volatile("vcvtph2w %zmm2, %zmm1");4977	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");4978	asm volatile("vcvtph2w %xmm2, %xmm1");4979	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");4980	asm volatile("vcvtph2w %ymm2, %ymm1");4981	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");4982	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");4983	asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");4984	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");4985	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");4986	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");4987	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");4988	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");4989	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");4990	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");4991	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");4992	asm volatile("vcvtps2phx %zmm2, %ymm1");4993	asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");4994	asm volatile("vcvtps2phx %xmm2, %xmm1");4995	asm volatile("vcvtps2phx %ymm2, %xmm1");4996	asm volatile("vcvtqq2ph %zmm2, %xmm1");4997	asm volatile("vcvtqq2ph %xmm2, %xmm1");4998	asm volatile("vcvtqq2ph %ymm2, %xmm1");4999	asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5000	asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5001	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");5002	asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5003	asm volatile("vcvtsh2usi %xmm1, %eax");5004	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");5005	asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");5006	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5007	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5008	asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");5009	asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5010	asm volatile("vcvttph2dq %ymm2, %zmm1");5011	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");5012	asm volatile("vcvttph2dq %xmm2, %xmm1");5013	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");5014	asm volatile("vcvttph2dq %xmm2, %ymm1");5015	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");5016	asm volatile("vcvttph2qq %xmm2, %zmm1");5017	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");5018	asm volatile("vcvttph2qq %xmm2, %xmm1");5019	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");5020	asm volatile("vcvttph2qq %xmm2, %ymm1");5021	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");5022	asm volatile("vcvttph2udq %ymm2, %zmm1");5023	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");5024	asm volatile("vcvttph2udq %xmm2, %xmm1");5025	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");5026	asm volatile("vcvttph2udq %xmm2, %ymm1");5027	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");5028	asm volatile("vcvttph2uqq %xmm2, %zmm1");5029	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");5030	asm volatile("vcvttph2uqq %xmm2, %xmm1");5031	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");5032	asm volatile("vcvttph2uqq %xmm2, %ymm1");5033	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");5034	asm volatile("vcvttph2uw %zmm2, %zmm1");5035	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");5036	asm volatile("vcvttph2uw %xmm2, %xmm1");5037	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");5038	asm volatile("vcvttph2uw %ymm2, %ymm1");5039	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");5040	asm volatile("vcvttph2w %zmm2, %zmm1");5041	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");5042	asm volatile("vcvttph2w %xmm2, %xmm1");5043	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");5044	asm volatile("vcvttph2w %ymm2, %ymm1");5045	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");5046	asm volatile("vcvttsh2si %xmm1, %eax");5047	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");5048	asm volatile("vcvttsh2usi %xmm1, %eax");5049	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");5050	asm volatile("vcvtudq2ph %zmm2, %ymm1");5051	asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");5052	asm volatile("vcvtudq2ph %xmm2, %xmm1");5053	asm volatile("vcvtudq2ph %ymm2, %xmm1");5054	asm volatile("vcvtuqq2ph %zmm2, %xmm1");5055	asm volatile("vcvtuqq2ph %xmm2, %xmm1");5056	asm volatile("vcvtuqq2ph %ymm2, %xmm1");5057	asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");5058	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5059	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5060	asm volatile("vcvtuw2ph %zmm2, %zmm1");5061	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");5062	asm volatile("vcvtuw2ph %xmm2, %xmm1");5063	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");5064	asm volatile("vcvtuw2ph %ymm2, %ymm1");5065	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");5066	asm volatile("vcvtw2ph %zmm2, %zmm1");5067	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");5068	asm volatile("vcvtw2ph %xmm2, %xmm1");5069	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");5070	asm volatile("vcvtw2ph %ymm2, %ymm1");5071	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");5072	asm volatile("vdivph %zmm3, %zmm2, %zmm1");5073	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5074	asm volatile("vdivph %xmm3, %xmm2, %xmm1");5075	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5076	asm volatile("vdivph %ymm3, %ymm2, %ymm1");5077	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5078	asm volatile("vdivsh %xmm3, %xmm2, %xmm1");5079	asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5080	asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");5081	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5082	asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");5083	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5084	asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");5085	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5086	asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");5087	asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5088	asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");5089	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5090	asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");5091	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5092	asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");5093	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5094	asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");5095	asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5096	asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");5097	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5098	asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");5099	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5100	asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");5101	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5102	asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");5103	asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5104	asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");5105	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5106	asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");5107	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5108	asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");5109	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5110	asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");5111	asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5112	asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");5113	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5114	asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");5115	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5116	asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");5117	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5118	asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");5119	asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5120	asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");5121	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5122	asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");5123	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5124	asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");5125	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5126	asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");5127	asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5128	asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");5129	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5130	asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");5131	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5132	asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");5133	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5134	asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");5135	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5136	asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");5137	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5138	asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");5139	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5140	asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");5141	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5142	asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");5143	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5144	asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");5145	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5146	asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");5147	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5148	asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");5149	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5150	asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");5151	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5152	asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");5153	asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5154	asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");5155	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5156	asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");5157	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5158	asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");5159	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5160	asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");5161	asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5162	asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");5163	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5164	asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");5165	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5166	asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");5167	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5168	asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");5169	asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5170	asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");5171	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5172	asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");5173	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5174	asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");5175	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5176	asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");5177	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5178	asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");5179	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5180	asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");5181	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5182	asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");5183	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5184	asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");5185	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5186	asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");5187	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5188	asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");5189	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5190	asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");5191	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5192	asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");5193	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5194	asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");5195	asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5196	asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");5197	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5198	asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");5199	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5200	asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");5201	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5202	asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");5203	asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5204	asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");5205	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5206	asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");5207	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5208	asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");5209	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5210	asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");5211	asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5212	asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");5213	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5214	asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");5215	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5216	asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");5217	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5218	asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");5219	asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5220	asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");5221	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5222	asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");5223	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5224	asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");5225	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5226	asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");5227	asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5228	asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");5229	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5230	asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");5231	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5232	asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");5233	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5234	asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");5235	asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5236	asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");5237	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5238	asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");5239	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5240	asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");5241	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5242	asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");5243	asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5244	asm volatile("vfpclassph $0x12, %zmm1, %k5");5245	asm volatile("vfpclassph $0x12, %xmm1, %k5");5246	asm volatile("vfpclassph $0x12, %ymm1, %k5");5247	asm volatile("vfpclasssh $0x12, %xmm1, %k5");5248	asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");5249	asm volatile("vgetexpph %zmm2, %zmm1");5250	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");5251	asm volatile("vgetexpph %xmm2, %xmm1");5252	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");5253	asm volatile("vgetexpph %ymm2, %ymm1");5254	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");5255	asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");5256	asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5257	asm volatile("vgetmantph $0x12, %zmm2, %zmm1");5258	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");5259	asm volatile("vgetmantph $0x12, %xmm2, %xmm1");5260	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");5261	asm volatile("vgetmantph $0x12, %ymm2, %ymm1");5262	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");5263	asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");5264	asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5265	asm volatile("vmaxph %zmm3, %zmm2, %zmm1");5266	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5267	asm volatile("vmaxph %xmm3, %xmm2, %xmm1");5268	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5269	asm volatile("vmaxph %ymm3, %ymm2, %ymm1");5270	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5271	asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");5272	asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5273	asm volatile("vminph %zmm3, %zmm2, %zmm1");5274	asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5275	asm volatile("vminph %xmm3, %xmm2, %xmm1");5276	asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5277	asm volatile("vminph %ymm3, %ymm2, %ymm1");5278	asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5279	asm volatile("vminsh %xmm3, %xmm2, %xmm1");5280	asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5281	asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");5282	asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");5283	asm volatile("vmovsh %xmm3, %xmm2, %xmm1");5284	asm volatile("vmovw %xmm1, %eax");5285	asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");5286	asm volatile("vmovw %eax, %xmm1");5287	asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");5288	asm volatile("vmulph %zmm3, %zmm2, %zmm1");5289	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5290	asm volatile("vmulph %xmm3, %xmm2, %xmm1");5291	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5292	asm volatile("vmulph %ymm3, %ymm2, %ymm1");5293	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5294	asm volatile("vmulsh %xmm3, %xmm2, %xmm1");5295	asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5296	asm volatile("vrcpph %zmm2, %zmm1");5297	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");5298	asm volatile("vrcpph %xmm2, %xmm1");5299	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");5300	asm volatile("vrcpph %ymm2, %ymm1");5301	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");5302	asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");5303	asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5304	asm volatile("vreduceph $0x12, %zmm2, %zmm1");5305	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");5306	asm volatile("vreduceph $0x12, %xmm2, %xmm1");5307	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");5308	asm volatile("vreduceph $0x12, %ymm2, %ymm1");5309	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");5310	asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");5311	asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5312	asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");5313	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");5314	asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");5315	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");5316	asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");5317	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");5318	asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");5319	asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5320	asm volatile("vrsqrtph %zmm2, %zmm1");5321	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");5322	asm volatile("vrsqrtph %xmm2, %xmm1");5323	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");5324	asm volatile("vrsqrtph %ymm2, %ymm1");5325	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");5326	asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");5327	asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5328	asm volatile("vscalefph %zmm3, %zmm2, %zmm1");5329	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5330	asm volatile("vscalefph %xmm3, %xmm2, %xmm1");5331	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5332	asm volatile("vscalefph %ymm3, %ymm2, %ymm1");5333	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5334	asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");5335	asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5336	asm volatile("vsqrtph %zmm2, %zmm1");5337	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");5338	asm volatile("vsqrtph %xmm2, %xmm1");5339	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");5340	asm volatile("vsqrtph %ymm2, %ymm1");5341	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");5342	asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");5343	asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5344	asm volatile("vsubph %zmm3, %zmm2, %zmm1");5345	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5346	asm volatile("vsubph %xmm3, %xmm2, %xmm1");5347	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5348	asm volatile("vsubph %ymm3, %ymm2, %ymm1");5349	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5350	asm volatile("vsubsh %xmm3, %xmm2, %xmm1");5351	asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5352	asm volatile("vucomish %xmm2, %xmm1");5353	asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");5354 5355#endif /* #ifndef __x86_64__ */5356 5357	/* Key Locker */5358 5359	asm volatile("	loadiwkey %xmm1, %xmm2");5360	asm volatile("	encodekey128 %eax, %edx");5361	asm volatile("	encodekey256 %eax, %edx");5362	asm volatile("	aesenc128kl 0x77(%edx), %xmm3");5363	asm volatile("	aesenc256kl 0x77(%edx), %xmm3");5364	asm volatile("	aesdec128kl 0x77(%edx), %xmm3");5365	asm volatile("	aesdec256kl 0x77(%edx), %xmm3");5366	asm volatile("	aesencwide128kl	0x77(%edx)");5367	asm volatile("	aesencwide256kl	0x77(%edx)");5368	asm volatile("	aesdecwide128kl	0x77(%edx)");5369	asm volatile("	aesdecwide256kl	0x77(%edx)");5370 5371	/* Remote Atomic Operations */5372 5373	asm volatile("aadd %ecx,(%eax)");5374	asm volatile("aadd %edx,(0x12345678)");5375	asm volatile("aadd %edx,0x12345678(%eax,%ecx,8)");5376 5377	asm volatile("aand %ecx,(%eax)");5378	asm volatile("aand %edx,(0x12345678)");5379	asm volatile("aand %edx,0x12345678(%eax,%ecx,8)");5380 5381	asm volatile("aor %ecx,(%eax)");5382	asm volatile("aor %edx,(0x12345678)");5383	asm volatile("aor %edx,0x12345678(%eax,%ecx,8)");5384 5385	asm volatile("axor %ecx,(%eax)");5386	asm volatile("axor %edx,(0x12345678)");5387	asm volatile("axor %edx,0x12345678(%eax,%ecx,8)");5388 5389	/* AVX NE Convert */5390 5391	asm volatile("vbcstnebf162ps (%ecx),%xmm6");5392	asm volatile("vbcstnesh2ps (%ecx),%xmm6");5393	asm volatile("vcvtneebf162ps (%ecx),%xmm6");5394	asm volatile("vcvtneeph2ps (%ecx),%xmm6");5395	asm volatile("vcvtneobf162ps (%ecx),%xmm6");5396	asm volatile("vcvtneoph2ps (%ecx),%xmm6");5397	asm volatile("vcvtneps2bf16 %xmm1,%xmm6");5398 5399	/* AVX VNNI INT16 */5400 5401	asm volatile("vpdpbssd %xmm1,%xmm2,%xmm3");5402	asm volatile("vpdpbssds %xmm1,%xmm2,%xmm3");5403	asm volatile("vpdpbsud %xmm1,%xmm2,%xmm3");5404	asm volatile("vpdpbsuds %xmm1,%xmm2,%xmm3");5405	asm volatile("vpdpbuud %xmm1,%xmm2,%xmm3");5406	asm volatile("vpdpbuuds %xmm1,%xmm2,%xmm3");5407	asm volatile("vpdpwsud %xmm1,%xmm2,%xmm3");5408	asm volatile("vpdpwsuds %xmm1,%xmm2,%xmm3");5409	asm volatile("vpdpwusd %xmm1,%xmm2,%xmm3");5410	asm volatile("vpdpwusds %xmm1,%xmm2,%xmm3");5411	asm volatile("vpdpwuud %xmm1,%xmm2,%xmm3");5412	asm volatile("vpdpwuuds %xmm1,%xmm2,%xmm3");5413 5414	/* AVX IFMA */5415 5416	asm volatile("vpmadd52huq %xmm1,%xmm2,%xmm3");5417	asm volatile("vpmadd52luq %xmm1,%xmm2,%xmm3");5418 5419	/* AVX SHA512 */5420 5421	asm volatile("vsha512msg1 %xmm1,%ymm2");5422	asm volatile("vsha512msg2 %ymm1,%ymm2");5423	asm volatile("vsha512rnds2 %xmm1,%ymm2,%ymm3");5424 5425	/* AVX SM3 */5426 5427	asm volatile("vsm3msg1 %xmm1,%xmm2,%xmm3");5428	asm volatile("vsm3msg2 %xmm1,%xmm2,%xmm3");5429	asm volatile("vsm3rnds2 $0xa1,%xmm1,%xmm2,%xmm3");5430 5431	/* AVX SM4 */5432 5433	asm volatile("vsm4key4 %xmm1,%xmm2,%xmm3");5434	asm volatile("vsm4rnds4 %xmm1,%xmm2,%xmm3");5435 5436	/* Pre-fetch */5437 5438	asm volatile("prefetch (%eax)");5439	asm volatile("prefetcht0 (%eax)");5440	asm volatile("prefetcht1 (%eax)");5441	asm volatile("prefetcht2 (%eax)");5442	asm volatile("prefetchnta (%eax)");5443 5444	/* Non-serializing write MSR */5445 5446	asm volatile("wrmsrns");5447 5448	/* Prediction history reset */5449 5450	asm volatile("hreset $0");5451 5452	/* Serialize instruction execution */5453 5454	asm volatile("serialize");5455 5456	/* TSX suspend load address tracking */5457 5458	asm volatile("xresldtrk");5459	asm volatile("xsusldtrk");5460 5461	/* SGX */5462 5463	asm volatile("encls");5464	asm volatile("enclu");5465	asm volatile("enclv");5466 5467	/* pconfig */5468 5469	asm volatile("pconfig");5470 5471	/* wbnoinvd */5472 5473	asm volatile("wbnoinvd");5474 5475	/* Following line is a marker for the awk script - do not change */5476	asm volatile("rdtsc"); /* Stop here */5477 5478	return 0;5479}5480