Path: blob/master/tools/perf/arch/x86/tests/insn-x86-dat-src.c
26292 views
// SPDX-License-Identifier: GPL-2.01/*2* This file contains instructions for testing by the test titled:3*4* "Test x86 instruction decoder - new instructions"5*6* Note that the 'Expecting' comment lines are consumed by the7* gen-insn-x86-dat.awk script and have the format:8*9* Expecting: <op> <branch> <rel>10*11* If this file is changed, remember to run the gen-insn-x86-dat.sh12* script and commit the result.13*14* Refer to insn-x86.c for more details.15*/1617int main(void)18{19/* Following line is a marker for the awk script - do not change */20asm volatile("rdtsc"); /* Start here */2122/* Test fix for vcvtph2ps in x86-opcode-map.txt */2324asm volatile("vcvtph2ps %xmm3,%ymm5");2526#ifdef __x86_64__2728/* AVX-512: Instructions with the same op codes as Mask Instructions */2930asm volatile("cmovno %rax,%rbx");31asm volatile("cmovno 0x12345678(%rax),%rcx");32asm volatile("cmovno 0x12345678(%rax),%cx");3334asm volatile("cmove %rax,%rbx");35asm volatile("cmove 0x12345678(%rax),%rcx");36asm volatile("cmove 0x12345678(%rax),%cx");3738asm volatile("seto 0x12345678(%rax)");39asm volatile("setno 0x12345678(%rax)");40asm volatile("setb 0x12345678(%rax)");41asm volatile("setc 0x12345678(%rax)");42asm volatile("setnae 0x12345678(%rax)");43asm volatile("setae 0x12345678(%rax)");44asm volatile("setnb 0x12345678(%rax)");45asm volatile("setnc 0x12345678(%rax)");46asm volatile("sets 0x12345678(%rax)");47asm volatile("setns 0x12345678(%rax)");4849/* AVX-512: Mask Instructions */5051asm volatile("kandw %k7,%k6,%k5");52asm volatile("kandq %k7,%k6,%k5");53asm volatile("kandb %k7,%k6,%k5");54asm volatile("kandd %k7,%k6,%k5");5556asm volatile("kandnw %k7,%k6,%k5");57asm volatile("kandnq %k7,%k6,%k5");58asm volatile("kandnb %k7,%k6,%k5");59asm volatile("kandnd %k7,%k6,%k5");6061asm volatile("knotw %k7,%k6");62asm volatile("knotq %k7,%k6");63asm volatile("knotb %k7,%k6");64asm volatile("knotd %k7,%k6");6566asm volatile("korw %k7,%k6,%k5");67asm volatile("korq %k7,%k6,%k5");68asm volatile("korb %k7,%k6,%k5");69asm volatile("kord %k7,%k6,%k5");7071asm volatile("kxnorw %k7,%k6,%k5");72asm volatile("kxnorq %k7,%k6,%k5");73asm volatile("kxnorb %k7,%k6,%k5");74asm volatile("kxnord %k7,%k6,%k5");7576asm volatile("kxorw %k7,%k6,%k5");77asm volatile("kxorq %k7,%k6,%k5");78asm volatile("kxorb %k7,%k6,%k5");79asm volatile("kxord %k7,%k6,%k5");8081asm volatile("kaddw %k7,%k6,%k5");82asm volatile("kaddq %k7,%k6,%k5");83asm volatile("kaddb %k7,%k6,%k5");84asm volatile("kaddd %k7,%k6,%k5");8586asm volatile("kunpckbw %k7,%k6,%k5");87asm volatile("kunpckwd %k7,%k6,%k5");88asm volatile("kunpckdq %k7,%k6,%k5");8990asm volatile("kmovw %k6,%k5");91asm volatile("kmovw (%rcx),%k5");92asm volatile("kmovw 0x123(%rax,%r14,8),%k5");93asm volatile("kmovw %k5,(%rcx)");94asm volatile("kmovw %k5,0x123(%rax,%r14,8)");95asm volatile("kmovw %eax,%k5");96asm volatile("kmovw %ebp,%k5");97asm volatile("kmovw %r13d,%k5");98asm volatile("kmovw %k5,%eax");99asm volatile("kmovw %k5,%ebp");100asm volatile("kmovw %k5,%r13d");101102asm volatile("kmovq %k6,%k5");103asm volatile("kmovq (%rcx),%k5");104asm volatile("kmovq 0x123(%rax,%r14,8),%k5");105asm volatile("kmovq %k5,(%rcx)");106asm volatile("kmovq %k5,0x123(%rax,%r14,8)");107asm volatile("kmovq %rax,%k5");108asm volatile("kmovq %rbp,%k5");109asm volatile("kmovq %r13,%k5");110asm volatile("kmovq %k5,%rax");111asm volatile("kmovq %k5,%rbp");112asm volatile("kmovq %k5,%r13");113114asm volatile("kmovb %k6,%k5");115asm volatile("kmovb (%rcx),%k5");116asm volatile("kmovb 0x123(%rax,%r14,8),%k5");117asm volatile("kmovb %k5,(%rcx)");118asm volatile("kmovb %k5,0x123(%rax,%r14,8)");119asm volatile("kmovb %eax,%k5");120asm volatile("kmovb %ebp,%k5");121asm volatile("kmovb %r13d,%k5");122asm volatile("kmovb %k5,%eax");123asm volatile("kmovb %k5,%ebp");124asm volatile("kmovb %k5,%r13d");125126asm volatile("kmovd %k6,%k5");127asm volatile("kmovd (%rcx),%k5");128asm volatile("kmovd 0x123(%rax,%r14,8),%k5");129asm volatile("kmovd %k5,(%rcx)");130asm volatile("kmovd %k5,0x123(%rax,%r14,8)");131asm volatile("kmovd %eax,%k5");132asm volatile("kmovd %ebp,%k5");133asm volatile("kmovd %r13d,%k5");134asm volatile("kmovd %k5,%eax");135asm volatile("kmovd %k5,%ebp");136asm volatile("kmovd %k5,%r13d");137138asm volatile("kortestw %k6,%k5");139asm volatile("kortestq %k6,%k5");140asm volatile("kortestb %k6,%k5");141asm volatile("kortestd %k6,%k5");142143asm volatile("ktestw %k6,%k5");144asm volatile("ktestq %k6,%k5");145asm volatile("ktestb %k6,%k5");146asm volatile("ktestd %k6,%k5");147148asm volatile("kshiftrw $0x12,%k6,%k5");149asm volatile("kshiftrq $0x5b,%k6,%k5");150asm volatile("kshiftlw $0x12,%k6,%k5");151asm volatile("kshiftlq $0x5b,%k6,%k5");152153/* AVX-512: Op code 0f 5b */154asm volatile("vcvtdq2ps %xmm5,%xmm6");155asm volatile("vcvtqq2ps %zmm29,%ymm6{%k7}");156asm volatile("vcvtps2dq %xmm5,%xmm6");157asm volatile("vcvttps2dq %xmm5,%xmm6");158159/* AVX-512: Op code 0f 6f */160161asm volatile("movq %mm0,%mm4");162asm volatile("vmovdqa %ymm4,%ymm6");163asm volatile("vmovdqa32 %zmm25,%zmm26");164asm volatile("vmovdqa64 %zmm25,%zmm26");165asm volatile("vmovdqu %ymm4,%ymm6");166asm volatile("vmovdqu32 %zmm29,%zmm30");167asm volatile("vmovdqu64 %zmm25,%zmm26");168asm volatile("vmovdqu8 %zmm29,%zmm30");169asm volatile("vmovdqu16 %zmm25,%zmm26");170171/* AVX-512: Op code 0f 78 */172173asm volatile("vmread %rax,%rbx");174asm volatile("vcvttps2udq %zmm25,%zmm26");175asm volatile("vcvttpd2udq %zmm29,%ymm6{%k7}");176asm volatile("vcvttsd2usi %xmm6,%rax");177asm volatile("vcvttss2usi %xmm6,%rax");178asm volatile("vcvttps2uqq %ymm5,%zmm26{%k7}");179asm volatile("vcvttpd2uqq %zmm29,%zmm30");180181/* AVX-512: Op code 0f 79 */182183asm volatile("vmwrite %rax,%rbx");184asm volatile("vcvtps2udq %zmm25,%zmm26");185asm volatile("vcvtpd2udq %zmm29,%ymm6{%k7}");186asm volatile("vcvtsd2usi %xmm6,%rax");187asm volatile("vcvtss2usi %xmm6,%rax");188asm volatile("vcvtps2uqq %ymm5,%zmm26{%k7}");189asm volatile("vcvtpd2uqq %zmm29,%zmm30");190191/* AVX-512: Op code 0f 7a */192193asm volatile("vcvtudq2pd %ymm5,%zmm29{%k7}");194asm volatile("vcvtuqq2pd %zmm25,%zmm26");195asm volatile("vcvtudq2ps %zmm29,%zmm30");196asm volatile("vcvtuqq2ps %zmm25,%ymm26{%k7}");197asm volatile("vcvttps2qq %ymm25,%zmm26{%k7}");198asm volatile("vcvttpd2qq %zmm29,%zmm30");199200/* AVX-512: Op code 0f 7b */201202asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");203asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");204asm volatile("vcvtps2qq %ymm5,%zmm26{%k7}");205asm volatile("vcvtpd2qq %zmm29,%zmm30");206207/* AVX-512: Op code 0f 7f */208209asm volatile("movq.s %mm0,%mm4");210asm volatile("vmovdqa %ymm8,%ymm6");211asm volatile("vmovdqa32.s %zmm25,%zmm26");212asm volatile("vmovdqa64.s %zmm25,%zmm26");213asm volatile("vmovdqu %ymm8,%ymm6");214asm volatile("vmovdqu32.s %zmm25,%zmm26");215asm volatile("vmovdqu64.s %zmm25,%zmm26");216asm volatile("vmovdqu8.s %zmm30,(%rcx)");217asm volatile("vmovdqu16.s %zmm25,%zmm26");218219/* AVX-512: Op code 0f db */220221asm volatile("pand %mm1,%mm2");222asm volatile("pand %xmm1,%xmm2");223asm volatile("vpand %ymm4,%ymm6,%ymm2");224asm volatile("vpandd %zmm24,%zmm25,%zmm26");225asm volatile("vpandq %zmm24,%zmm25,%zmm26");226227/* AVX-512: Op code 0f df */228229asm volatile("pandn %mm1,%mm2");230asm volatile("pandn %xmm1,%xmm2");231asm volatile("vpandn %ymm4,%ymm6,%ymm2");232asm volatile("vpandnd %zmm24,%zmm25,%zmm26");233asm volatile("vpandnq %zmm24,%zmm25,%zmm26");234235/* AVX-512: Op code 0f e6 */236237asm volatile("vcvttpd2dq %xmm1,%xmm2");238asm volatile("vcvtdq2pd %xmm5,%xmm6");239asm volatile("vcvtdq2pd %ymm5,%zmm26{%k7}");240asm volatile("vcvtqq2pd %zmm25,%zmm26");241asm volatile("vcvtpd2dq %xmm1,%xmm2");242243/* AVX-512: Op code 0f eb */244245asm volatile("por %mm4,%mm6");246asm volatile("vpor %ymm4,%ymm6,%ymm2");247asm volatile("vpord %zmm24,%zmm25,%zmm26");248asm volatile("vporq %zmm24,%zmm25,%zmm26");249250/* AVX-512: Op code 0f ef */251252asm volatile("pxor %mm4,%mm6");253asm volatile("vpxor %ymm4,%ymm6,%ymm2");254asm volatile("vpxord %zmm24,%zmm25,%zmm26");255asm volatile("vpxorq %zmm24,%zmm25,%zmm26");256257/* AVX-512: Op code 0f 38 10 */258259asm volatile("pblendvb %xmm1,%xmm0");260asm volatile("vpsrlvw %zmm27,%zmm28,%zmm29");261asm volatile("vpmovuswb %zmm28,%ymm6{%k7}");262263/* AVX-512: Op code 0f 38 11 */264265asm volatile("vpmovusdb %zmm28,%xmm6{%k7}");266asm volatile("vpsravw %zmm27,%zmm28,%zmm29");267268/* AVX-512: Op code 0f 38 12 */269270asm volatile("vpmovusqb %zmm27,%xmm6{%k7}");271asm volatile("vpsllvw %zmm27,%zmm28,%zmm29");272273/* AVX-512: Op code 0f 38 13 */274275asm volatile("vcvtph2ps %xmm3,%ymm5");276asm volatile("vcvtph2ps %ymm5,%zmm27{%k7}");277asm volatile("vpmovusdw %zmm27,%ymm6{%k7}");278279/* AVX-512: Op code 0f 38 14 */280281asm volatile("blendvps %xmm1,%xmm0");282asm volatile("vpmovusqw %zmm27,%xmm6{%k7}");283asm volatile("vprorvd %zmm27,%zmm28,%zmm29");284asm volatile("vprorvq %zmm27,%zmm28,%zmm29");285286/* AVX-512: Op code 0f 38 15 */287288asm volatile("blendvpd %xmm1,%xmm0");289asm volatile("vpmovusqd %zmm27,%ymm6{%k7}");290asm volatile("vprolvd %zmm27,%zmm28,%zmm29");291asm volatile("vprolvq %zmm27,%zmm28,%zmm29");292293/* AVX-512: Op code 0f 38 16 */294295asm volatile("vpermps %ymm4,%ymm6,%ymm2");296asm volatile("vpermps %ymm24,%ymm26,%ymm22{%k7}");297asm volatile("vpermpd %ymm24,%ymm26,%ymm22{%k7}");298299/* AVX-512: Op code 0f 38 19 */300301asm volatile("vbroadcastsd %xmm4,%ymm6");302asm volatile("vbroadcastf32x2 %xmm27,%zmm26");303304/* AVX-512: Op code 0f 38 1a */305306asm volatile("vbroadcastf128 (%rcx),%ymm4");307asm volatile("vbroadcastf32x4 (%rcx),%zmm26");308asm volatile("vbroadcastf64x2 (%rcx),%zmm26");309310/* AVX-512: Op code 0f 38 1b */311312asm volatile("vbroadcastf32x8 (%rcx),%zmm27");313asm volatile("vbroadcastf64x4 (%rcx),%zmm26");314315/* AVX-512: Op code 0f 38 1f */316317asm volatile("vpabsq %zmm27,%zmm28");318319/* AVX-512: Op code 0f 38 20 */320321asm volatile("vpmovsxbw %xmm4,%xmm5");322asm volatile("vpmovswb %zmm27,%ymm6{%k7}");323324/* AVX-512: Op code 0f 38 21 */325326asm volatile("vpmovsxbd %xmm4,%ymm6");327asm volatile("vpmovsdb %zmm27,%xmm6{%k7}");328329/* AVX-512: Op code 0f 38 22 */330331asm volatile("vpmovsxbq %xmm4,%ymm4");332asm volatile("vpmovsqb %zmm27,%xmm6{%k7}");333334/* AVX-512: Op code 0f 38 23 */335336asm volatile("vpmovsxwd %xmm4,%ymm4");337asm volatile("vpmovsdw %zmm27,%ymm6{%k7}");338339/* AVX-512: Op code 0f 38 24 */340341asm volatile("vpmovsxwq %xmm4,%ymm6");342asm volatile("vpmovsqw %zmm27,%xmm6{%k7}");343344/* AVX-512: Op code 0f 38 25 */345346asm volatile("vpmovsxdq %xmm4,%ymm4");347asm volatile("vpmovsqd %zmm27,%ymm6{%k7}");348349/* AVX-512: Op code 0f 38 26 */350351asm volatile("vptestmb %zmm27,%zmm28,%k5");352asm volatile("vptestmw %zmm27,%zmm28,%k5");353asm volatile("vptestnmb %zmm26,%zmm27,%k5");354asm volatile("vptestnmw %zmm26,%zmm27,%k5");355356/* AVX-512: Op code 0f 38 27 */357358asm volatile("vptestmd %zmm27,%zmm28,%k5");359asm volatile("vptestmq %zmm27,%zmm28,%k5");360asm volatile("vptestnmd %zmm26,%zmm27,%k5");361asm volatile("vptestnmq %zmm26,%zmm27,%k5");362363/* AVX-512: Op code 0f 38 28 */364365asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");366asm volatile("vpmovm2b %k5,%zmm28");367asm volatile("vpmovm2w %k5,%zmm28");368369/* AVX-512: Op code 0f 38 29 */370371asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");372asm volatile("vpmovb2m %zmm28,%k5");373asm volatile("vpmovw2m %zmm28,%k5");374375/* AVX-512: Op code 0f 38 2a */376377asm volatile("vmovntdqa (%rcx),%ymm4");378asm volatile("vpbroadcastmb2q %k6,%zmm30");379380/* AVX-512: Op code 0f 38 2c */381382asm volatile("vmaskmovps (%rcx),%ymm4,%ymm6");383asm volatile("vscalefps %zmm24,%zmm25,%zmm26");384asm volatile("vscalefpd %zmm24,%zmm25,%zmm26");385386/* AVX-512: Op code 0f 38 2d */387388asm volatile("vmaskmovpd (%rcx),%ymm4,%ymm6");389asm volatile("vscalefss %xmm24,%xmm25,%xmm26{%k7}");390asm volatile("vscalefsd %xmm24,%xmm25,%xmm26{%k7}");391392/* AVX-512: Op code 0f 38 30 */393394asm volatile("vpmovzxbw %xmm4,%ymm4");395asm volatile("vpmovwb %zmm27,%ymm6{%k7}");396397/* AVX-512: Op code 0f 38 31 */398399asm volatile("vpmovzxbd %xmm4,%ymm6");400asm volatile("vpmovdb %zmm27,%xmm6{%k7}");401402/* AVX-512: Op code 0f 38 32 */403404asm volatile("vpmovzxbq %xmm4,%ymm4");405asm volatile("vpmovqb %zmm27,%xmm6{%k7}");406407/* AVX-512: Op code 0f 38 33 */408409asm volatile("vpmovzxwd %xmm4,%ymm4");410asm volatile("vpmovdw %zmm27,%ymm6{%k7}");411412/* AVX-512: Op code 0f 38 34 */413414asm volatile("vpmovzxwq %xmm4,%ymm6");415asm volatile("vpmovqw %zmm27,%xmm6{%k7}");416417/* AVX-512: Op code 0f 38 35 */418419asm volatile("vpmovzxdq %xmm4,%ymm4");420asm volatile("vpmovqd %zmm27,%ymm6{%k7}");421422/* AVX-512: Op code 0f 38 38 */423424asm volatile("vpermd %ymm4,%ymm6,%ymm2");425asm volatile("vpermd %ymm24,%ymm26,%ymm22{%k7}");426asm volatile("vpermq %ymm24,%ymm26,%ymm22{%k7}");427428/* AVX-512: Op code 0f 38 38 */429430asm volatile("vpminsb %ymm4,%ymm6,%ymm2");431asm volatile("vpmovm2d %k5,%zmm28");432asm volatile("vpmovm2q %k5,%zmm28");433434/* AVX-512: Op code 0f 38 39 */435436asm volatile("vpminsd %xmm1,%xmm2,%xmm3");437asm volatile("vpminsd %zmm24,%zmm25,%zmm26");438asm volatile("vpminsq %zmm24,%zmm25,%zmm26");439asm volatile("vpmovd2m %zmm28,%k5");440asm volatile("vpmovq2m %zmm28,%k5");441442/* AVX-512: Op code 0f 38 3a */443444asm volatile("vpminuw %ymm4,%ymm6,%ymm2");445asm volatile("vpbroadcastmw2d %k6,%zmm28");446447/* AVX-512: Op code 0f 38 3b */448449asm volatile("vpminud %ymm4,%ymm6,%ymm2");450asm volatile("vpminud %zmm24,%zmm25,%zmm26");451asm volatile("vpminuq %zmm24,%zmm25,%zmm26");452453/* AVX-512: Op code 0f 38 3d */454455asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");456asm volatile("vpmaxsd %zmm24,%zmm25,%zmm26");457asm volatile("vpmaxsq %zmm24,%zmm25,%zmm26");458459/* AVX-512: Op code 0f 38 3f */460461asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");462asm volatile("vpmaxud %zmm24,%zmm25,%zmm26");463asm volatile("vpmaxuq %zmm24,%zmm25,%zmm26");464465/* AVX-512: Op code 0f 38 42 */466467asm volatile("vpmulld %ymm4,%ymm6,%ymm2");468asm volatile("vpmulld %zmm24,%zmm25,%zmm26");469asm volatile("vpmullq %zmm24,%zmm25,%zmm26");470471/* AVX-512: Op code 0f 38 42 */472473asm volatile("vgetexpps %zmm25,%zmm26");474asm volatile("vgetexppd %zmm27,%zmm28");475476/* AVX-512: Op code 0f 38 43 */477478asm volatile("vgetexpss %xmm24,%xmm25,%xmm26{%k7}");479asm volatile("vgetexpsd %xmm28,%xmm29,%xmm30{%k7}");480481/* AVX-512: Op code 0f 38 44 */482483asm volatile("vplzcntd %zmm27,%zmm28");484asm volatile("vplzcntq %zmm27,%zmm28");485486/* AVX-512: Op code 0f 38 46 */487488asm volatile("vpsravd %ymm4,%ymm6,%ymm2");489asm volatile("vpsravd %zmm24,%zmm25,%zmm26");490asm volatile("vpsravq %zmm24,%zmm25,%zmm26");491492/* AVX-512: Op code 0f 38 4c */493494asm volatile("vrcp14ps %zmm25,%zmm26");495asm volatile("vrcp14pd %zmm27,%zmm28");496497/* AVX-512: Op code 0f 38 4d */498499asm volatile("vrcp14ss %xmm24,%xmm25,%xmm26{%k7}");500asm volatile("vrcp14sd %xmm24,%xmm25,%xmm26{%k7}");501502/* AVX-512: Op code 0f 38 4e */503504asm volatile("vrsqrt14ps %zmm25,%zmm26");505asm volatile("vrsqrt14pd %zmm27,%zmm28");506507/* AVX-512: Op code 0f 38 4f */508509asm volatile("vrsqrt14ss %xmm24,%xmm25,%xmm26{%k7}");510asm volatile("vrsqrt14sd %xmm24,%xmm25,%xmm26{%k7}");511512/* AVX-512: Op code 0f 38 50 */513514asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");515asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");516asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");517asm volatile("vpdpbusd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");518asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");519520/* AVX-512: Op code 0f 38 51 */521522asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");523asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");524asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");525asm volatile("vpdpbusds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");526asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");527528/* AVX-512: Op code 0f 38 52 */529530asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");531asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");532asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");533asm volatile("vdpbf16ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");534asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");535536asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");537asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");538asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");539asm volatile("vpdpwssd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");540asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");541542asm volatile("vp4dpwssd (%rax), %zmm0, %zmm4");543asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");544asm volatile("vp4dpwssd 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");545asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");546547/* AVX-512: Op code 0f 38 53 */548549asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");550asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");551asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");552asm volatile("vpdpwssds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");553asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");554555asm volatile("vp4dpwssds (%rax), %zmm0, %zmm4");556asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");557asm volatile("vp4dpwssds 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");558asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");559560/* AVX-512: Op code 0f 38 54 */561562asm volatile("vpopcntb %xmm1, %xmm2");563asm volatile("vpopcntb %ymm1, %ymm2");564asm volatile("vpopcntb %zmm1, %zmm2");565asm volatile("vpopcntb 0x12345678(%rax,%rcx,8),%zmm2");566asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");567568asm volatile("vpopcntw %xmm1, %xmm2");569asm volatile("vpopcntw %ymm1, %ymm2");570asm volatile("vpopcntw %zmm1, %zmm2");571asm volatile("vpopcntw 0x12345678(%rax,%rcx,8),%zmm2");572asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");573574/* AVX-512: Op code 0f 38 55 */575576asm volatile("vpopcntd %xmm1, %xmm2");577asm volatile("vpopcntd %ymm1, %ymm2");578asm volatile("vpopcntd %zmm1, %zmm2");579asm volatile("vpopcntd 0x12345678(%rax,%rcx,8),%zmm2");580asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");581582asm volatile("vpopcntq %xmm1, %xmm2");583asm volatile("vpopcntq %ymm1, %ymm2");584asm volatile("vpopcntq %zmm1, %zmm2");585asm volatile("vpopcntq 0x12345678(%rax,%rcx,8),%zmm2");586asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");587588/* AVX-512: Op code 0f 38 59 */589590asm volatile("vpbroadcastq %xmm4,%xmm6");591asm volatile("vbroadcasti32x2 %xmm27,%zmm26");592593/* AVX-512: Op code 0f 38 5a */594595asm volatile("vbroadcasti128 (%rcx),%ymm4");596asm volatile("vbroadcasti32x4 (%rcx),%zmm26");597asm volatile("vbroadcasti64x2 (%rcx),%zmm26");598599/* AVX-512: Op code 0f 38 5b */600601asm volatile("vbroadcasti32x8 (%rcx),%zmm28");602asm volatile("vbroadcasti64x4 (%rcx),%zmm26");603604/* AVX-512: Op code 0f 38 62 */605606asm volatile("vpexpandb %xmm1, %xmm2");607asm volatile("vpexpandb %ymm1, %ymm2");608asm volatile("vpexpandb %zmm1, %zmm2");609asm volatile("vpexpandb 0x12345678(%rax,%rcx,8),%zmm2");610asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");611612asm volatile("vpexpandw %xmm1, %xmm2");613asm volatile("vpexpandw %ymm1, %ymm2");614asm volatile("vpexpandw %zmm1, %zmm2");615asm volatile("vpexpandw 0x12345678(%rax,%rcx,8),%zmm2");616asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");617618/* AVX-512: Op code 0f 38 63 */619620asm volatile("vpcompressb %xmm1, %xmm2");621asm volatile("vpcompressb %ymm1, %ymm2");622asm volatile("vpcompressb %zmm1, %zmm2");623asm volatile("vpcompressb %zmm2,0x12345678(%rax,%rcx,8)");624asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");625626asm volatile("vpcompressw %xmm1, %xmm2");627asm volatile("vpcompressw %ymm1, %ymm2");628asm volatile("vpcompressw %zmm1, %zmm2");629asm volatile("vpcompressw %zmm2,0x12345678(%rax,%rcx,8)");630asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");631632/* AVX-512: Op code 0f 38 64 */633634asm volatile("vpblendmd %zmm26,%zmm27,%zmm28");635asm volatile("vpblendmq %zmm26,%zmm27,%zmm28");636637/* AVX-512: Op code 0f 38 65 */638639asm volatile("vblendmps %zmm24,%zmm25,%zmm26");640asm volatile("vblendmpd %zmm26,%zmm27,%zmm28");641642/* AVX-512: Op code 0f 38 66 */643644asm volatile("vpblendmb %zmm26,%zmm27,%zmm28");645asm volatile("vpblendmw %zmm26,%zmm27,%zmm28");646647/* AVX-512: Op code 0f 38 68 */648649asm volatile("vp2intersectd %xmm1, %xmm2, %k3");650asm volatile("vp2intersectd %ymm1, %ymm2, %k3");651asm volatile("vp2intersectd %zmm1, %zmm2, %k3");652asm volatile("vp2intersectd 0x12345678(%rax,%rcx,8),%zmm2,%k3");653asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");654655asm volatile("vp2intersectq %xmm1, %xmm2, %k3");656asm volatile("vp2intersectq %ymm1, %ymm2, %k3");657asm volatile("vp2intersectq %zmm1, %zmm2, %k3");658asm volatile("vp2intersectq 0x12345678(%rax,%rcx,8),%zmm2,%k3");659asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");660661/* AVX-512: Op code 0f 38 70 */662663asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");664asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");665asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");666asm volatile("vpshldvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");667asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");668669/* AVX-512: Op code 0f 38 71 */670671asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");672asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");673asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");674asm volatile("vpshldvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");675asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");676677asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");678asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");679asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");680asm volatile("vpshldvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");681asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");682683/* AVX-512: Op code 0f 38 72 */684685asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");686asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");687asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");688asm volatile("vcvtne2ps2bf16 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");689asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");690691asm volatile("vcvtneps2bf16 %xmm1, %xmm2");692asm volatile("vcvtneps2bf16 %ymm1, %xmm2");693asm volatile("vcvtneps2bf16 %zmm1, %ymm2");694asm volatile("vcvtneps2bf16 0x12345678(%rax,%rcx,8),%ymm2");695asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");696697asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");698asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");699asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");700asm volatile("vpshrdvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");701asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");702703/* AVX-512: Op code 0f 38 73 */704705asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");706asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");707asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");708asm volatile("vpshrdvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");709asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");710711asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");712asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");713asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");714asm volatile("vpshrdvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");715asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");716717/* AVX-512: Op code 0f 38 75 */718719asm volatile("vpermi2b %zmm24,%zmm25,%zmm26");720asm volatile("vpermi2w %zmm26,%zmm27,%zmm28");721722/* AVX-512: Op code 0f 38 76 */723724asm volatile("vpermi2d %zmm26,%zmm27,%zmm28");725asm volatile("vpermi2q %zmm26,%zmm27,%zmm28");726727/* AVX-512: Op code 0f 38 77 */728729asm volatile("vpermi2ps %zmm26,%zmm27,%zmm28");730asm volatile("vpermi2pd %zmm26,%zmm27,%zmm28");731732/* AVX-512: Op code 0f 38 7a */733734asm volatile("vpbroadcastb %eax,%xmm30");735736/* AVX-512: Op code 0f 38 7b */737738asm volatile("vpbroadcastw %eax,%xmm30");739740/* AVX-512: Op code 0f 38 7c */741742asm volatile("vpbroadcastd %eax,%xmm30");743asm volatile("vpbroadcastq %rax,%zmm30");744745/* AVX-512: Op code 0f 38 7d */746747asm volatile("vpermt2b %zmm26,%zmm27,%zmm28");748asm volatile("vpermt2w %zmm26,%zmm27,%zmm28");749750/* AVX-512: Op code 0f 38 7e */751752asm volatile("vpermt2d %zmm26,%zmm27,%zmm28");753asm volatile("vpermt2q %zmm26,%zmm27,%zmm28");754755/* AVX-512: Op code 0f 38 7f */756757asm volatile("vpermt2ps %zmm26,%zmm27,%zmm28");758asm volatile("vpermt2pd %zmm26,%zmm27,%zmm28");759760/* AVX-512: Op code 0f 38 83 */761762asm volatile("vpmultishiftqb %zmm26,%zmm27,%zmm28");763764/* AVX-512: Op code 0f 38 88 */765766asm volatile("vexpandps (%rcx),%zmm26");767asm volatile("vexpandpd (%rcx),%zmm28");768769/* AVX-512: Op code 0f 38 89 */770771asm volatile("vpexpandd (%rcx),%zmm28");772asm volatile("vpexpandq (%rcx),%zmm26");773774/* AVX-512: Op code 0f 38 8a */775776asm volatile("vcompressps %zmm28,(%rcx)");777asm volatile("vcompresspd %zmm28,(%rcx)");778779/* AVX-512: Op code 0f 38 8b */780781asm volatile("vpcompressd %zmm28,(%rcx)");782asm volatile("vpcompressq %zmm26,(%rcx)");783784/* AVX-512: Op code 0f 38 8d */785786asm volatile("vpermb %zmm26,%zmm27,%zmm28");787asm volatile("vpermw %zmm26,%zmm27,%zmm28");788789/* AVX-512: Op code 0f 38 8f */790791asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");792asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");793asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");794asm volatile("vpshufbitqmb 0x12345678(%rax,%rcx,8),%zmm2,%k3");795asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");796797/* AVX-512: Op code 0f 38 90 */798799asm volatile("vpgatherdd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");800asm volatile("vpgatherdq %xmm2,0x04(%rbp,%xmm7,2),%xmm1");801asm volatile("vpgatherdd 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");802asm volatile("vpgatherdq 0x7b(%rbp,%ymm27,8),%zmm26{%k1}");803804/* AVX-512: Op code 0f 38 91 */805806asm volatile("vpgatherqd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");807asm volatile("vpgatherqq %xmm2,0x02(%rbp,%xmm7,2),%xmm1");808asm volatile("vpgatherqd 0x7b(%rbp,%zmm27,8),%ymm26{%k1}");809asm volatile("vpgatherqq 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");810811/* AVX-512: Op code 0f 38 9a */812813asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");814asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");815asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");816asm volatile("vfmsub132ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");817asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");818819asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");820asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");821asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");822asm volatile("vfmsub132pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");823asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");824825asm volatile("v4fmaddps (%rax), %zmm0, %zmm4");826asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");827asm volatile("v4fmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");828asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");829830/* AVX-512: Op code 0f 38 9b */831832asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");833asm volatile("vfmsub132ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");834asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");835836asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");837asm volatile("vfmsub132sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");838asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");839840asm volatile("v4fmaddss (%rax), %xmm0, %xmm4");841asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");842asm volatile("v4fmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");843asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");844845/* AVX-512: Op code 0f 38 a0 */846847asm volatile("vpscatterdd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");848asm volatile("vpscatterdq %zmm26,0x7b(%rbp,%ymm27,8){%k1}");849850/* AVX-512: Op code 0f 38 a1 */851852asm volatile("vpscatterqd %ymm6,0x7b(%rbp,%zmm29,8){%k1}");853asm volatile("vpscatterqq %ymm6,0x7b(%rbp,%ymm27,8){%k1}");854855/* AVX-512: Op code 0f 38 a2 */856857asm volatile("vscatterdps %zmm28,0x7b(%rbp,%zmm29,8){%k1}");858asm volatile("vscatterdpd %zmm28,0x7b(%rbp,%ymm27,8){%k1}");859860/* AVX-512: Op code 0f 38 a3 */861862asm volatile("vscatterqps %ymm6,0x7b(%rbp,%zmm29,8){%k1}");863asm volatile("vscatterqpd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");864865/* AVX-512: Op code 0f 38 aa */866867asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");868asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");869asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");870asm volatile("vfmsub213ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");871asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");872873asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");874asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");875asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");876asm volatile("vfmsub213pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");877asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");878879asm volatile("v4fnmaddps (%rax), %zmm0, %zmm4");880asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");881asm volatile("v4fnmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");882asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");883884/* AVX-512: Op code 0f 38 ab */885886asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");887asm volatile("vfmsub213ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");888asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");889890asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");891asm volatile("vfmsub213sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");892asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");893894asm volatile("v4fnmaddss (%rax), %xmm0, %xmm4");895asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");896asm volatile("v4fnmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");897asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");898899/* AVX-512: Op code 0f 38 b4 */900901asm volatile("vpmadd52luq %zmm26,%zmm27,%zmm28");902903/* AVX-512: Op code 0f 38 b5 */904905asm volatile("vpmadd52huq %zmm26,%zmm27,%zmm28");906907/* AVX-512: Op code 0f 38 c4 */908909asm volatile("vpconflictd %zmm26,%zmm27");910asm volatile("vpconflictq %zmm26,%zmm27");911912/* AVX-512: Op code 0f 38 c8 */913914asm volatile("vexp2ps %zmm29,%zmm30");915asm volatile("vexp2pd %zmm26,%zmm27");916917/* AVX-512: Op code 0f 38 ca */918919asm volatile("vrcp28ps %zmm29,%zmm30");920asm volatile("vrcp28pd %zmm26,%zmm27");921922/* AVX-512: Op code 0f 38 cb */923924asm volatile("vrcp28ss %xmm28,%xmm29,%xmm30{%k7}");925asm volatile("vrcp28sd %xmm25,%xmm26,%xmm27{%k7}");926927/* AVX-512: Op code 0f 38 cc */928929asm volatile("vrsqrt28ps %zmm29,%zmm30");930asm volatile("vrsqrt28pd %zmm26,%zmm27");931932/* AVX-512: Op code 0f 38 cd */933934asm volatile("vrsqrt28ss %xmm28,%xmm29,%xmm30{%k7}");935asm volatile("vrsqrt28sd %xmm25,%xmm26,%xmm27{%k7}");936937/* AVX-512: Op code 0f 38 cf */938939asm volatile("gf2p8mulb %xmm1, %xmm3");940asm volatile("gf2p8mulb 0x12345678(%rax,%rcx,8),%xmm3");941asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");942943asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");944asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");945asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");946asm volatile("vgf2p8mulb 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");947asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");948949/* AVX-512: Op code 0f 38 dc */950951asm volatile("vaesenc %xmm1, %xmm2, %xmm3");952asm volatile("vaesenc %ymm1, %ymm2, %ymm3");953asm volatile("vaesenc %zmm1, %zmm2, %zmm3");954asm volatile("vaesenc 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");955asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");956957/* AVX-512: Op code 0f 38 dd */958959asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");960asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");961asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");962asm volatile("vaesenclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");963asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");964965/* AVX-512: Op code 0f 38 de */966967asm volatile("vaesdec %xmm1, %xmm2, %xmm3");968asm volatile("vaesdec %ymm1, %ymm2, %ymm3");969asm volatile("vaesdec %zmm1, %zmm2, %zmm3");970asm volatile("vaesdec 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");971asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");972973/* AVX-512: Op code 0f 38 df */974975asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");976asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");977asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");978asm volatile("vaesdeclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");979asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");980981/* AVX-512: Op code 0f 3a 03 */982983asm volatile("valignd $0x12,%zmm28,%zmm29,%zmm30");984asm volatile("valignq $0x12,%zmm25,%zmm26,%zmm27");985986/* AVX-512: Op code 0f 3a 08 */987988asm volatile("vroundps $0x5,%ymm6,%ymm2");989asm volatile("vrndscaleps $0x12,%zmm25,%zmm26");990991/* AVX-512: Op code 0f 3a 09 */992993asm volatile("vroundpd $0x5,%ymm6,%ymm2");994asm volatile("vrndscalepd $0x12,%zmm25,%zmm26");995996/* AVX-512: Op code 0f 3a 1a */997998asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");999asm volatile("vrndscaless $0x12,%xmm24,%xmm25,%xmm26{%k7}");10001001/* AVX-512: Op code 0f 3a 0b */10021003asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");1004asm volatile("vrndscalesd $0x12,%xmm24,%xmm25,%xmm26{%k7}");10051006/* AVX-512: Op code 0f 3a 18 */10071008asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");1009asm volatile("vinsertf32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");1010asm volatile("vinsertf64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");10111012/* AVX-512: Op code 0f 3a 19 */10131014asm volatile("vextractf128 $0x5,%ymm4,%xmm4");1015asm volatile("vextractf32x4 $0x12,%zmm25,%xmm26{%k7}");1016asm volatile("vextractf64x2 $0x12,%zmm25,%xmm26{%k7}");10171018/* AVX-512: Op code 0f 3a 1a */10191020asm volatile("vinsertf32x8 $0x12,%ymm25,%zmm26,%zmm27{%k7}");1021asm volatile("vinsertf64x4 $0x12,%ymm28,%zmm29,%zmm30{%k7}");10221023/* AVX-512: Op code 0f 3a 1b */10241025asm volatile("vextractf32x8 $0x12,%zmm29,%ymm30{%k7}");1026asm volatile("vextractf64x4 $0x12,%zmm26,%ymm27{%k7}");10271028/* AVX-512: Op code 0f 3a 1e */10291030asm volatile("vpcmpud $0x12,%zmm29,%zmm30,%k5");1031asm volatile("vpcmpuq $0x12,%zmm26,%zmm27,%k5");10321033/* AVX-512: Op code 0f 3a 1f */10341035asm volatile("vpcmpd $0x12,%zmm29,%zmm30,%k5");1036asm volatile("vpcmpq $0x12,%zmm26,%zmm27,%k5");10371038/* AVX-512: Op code 0f 3a 23 */10391040asm volatile("vshuff32x4 $0x12,%zmm28,%zmm29,%zmm30");1041asm volatile("vshuff64x2 $0x12,%zmm25,%zmm26,%zmm27");10421043/* AVX-512: Op code 0f 3a 25 */10441045asm volatile("vpternlogd $0x12,%zmm28,%zmm29,%zmm30");1046asm volatile("vpternlogq $0x12,%zmm28,%zmm29,%zmm30");10471048/* AVX-512: Op code 0f 3a 26 */10491050asm volatile("vgetmantps $0x12,%zmm26,%zmm27");1051asm volatile("vgetmantpd $0x12,%zmm29,%zmm30");10521053/* AVX-512: Op code 0f 3a 27 */10541055asm volatile("vgetmantss $0x12,%xmm25,%xmm26,%xmm27{%k7}");1056asm volatile("vgetmantsd $0x12,%xmm28,%xmm29,%xmm30{%k7}");10571058/* AVX-512: Op code 0f 3a 38 */10591060asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");1061asm volatile("vinserti32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");1062asm volatile("vinserti64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");10631064/* AVX-512: Op code 0f 3a 39 */10651066asm volatile("vextracti128 $0x5,%ymm4,%xmm6");1067asm volatile("vextracti32x4 $0x12,%zmm25,%xmm26{%k7}");1068asm volatile("vextracti64x2 $0x12,%zmm25,%xmm26{%k7}");10691070/* AVX-512: Op code 0f 3a 3a */10711072asm volatile("vinserti32x8 $0x12,%ymm28,%zmm29,%zmm30{%k7}");1073asm volatile("vinserti64x4 $0x12,%ymm25,%zmm26,%zmm27{%k7}");10741075/* AVX-512: Op code 0f 3a 3b */10761077asm volatile("vextracti32x8 $0x12,%zmm29,%ymm30{%k7}");1078asm volatile("vextracti64x4 $0x12,%zmm26,%ymm27{%k7}");10791080/* AVX-512: Op code 0f 3a 3e */10811082asm volatile("vpcmpub $0x12,%zmm29,%zmm30,%k5");1083asm volatile("vpcmpuw $0x12,%zmm26,%zmm27,%k5");10841085/* AVX-512: Op code 0f 3a 3f */10861087asm volatile("vpcmpb $0x12,%zmm29,%zmm30,%k5");1088asm volatile("vpcmpw $0x12,%zmm26,%zmm27,%k5");10891090/* AVX-512: Op code 0f 3a 43 */10911092asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");1093asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");10941095/* AVX-512: Op code 0f 3a 43 */10961097asm volatile("vshufi32x4 $0x12,%zmm25,%zmm26,%zmm27");1098asm volatile("vshufi64x2 $0x12,%zmm28,%zmm29,%zmm30");10991100/* AVX-512: Op code 0f 3a 44 */11011102asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");1103asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");1104asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");1105asm volatile("vpclmulqdq $0x12,%zmm25,%zmm26,%zmm27");11061107/* AVX-512: Op code 0f 3a 50 */11081109asm volatile("vrangeps $0x12,%zmm25,%zmm26,%zmm27");1110asm volatile("vrangepd $0x12,%zmm28,%zmm29,%zmm30");11111112/* AVX-512: Op code 0f 3a 51 */11131114asm volatile("vrangess $0x12,%xmm25,%xmm26,%xmm27");1115asm volatile("vrangesd $0x12,%xmm28,%xmm29,%xmm30");11161117/* AVX-512: Op code 0f 3a 54 */11181119asm volatile("vfixupimmps $0x12,%zmm28,%zmm29,%zmm30");1120asm volatile("vfixupimmpd $0x12,%zmm25,%zmm26,%zmm27");11211122/* AVX-512: Op code 0f 3a 55 */11231124asm volatile("vfixupimmss $0x12,%xmm28,%xmm29,%xmm30{%k7}");1125asm volatile("vfixupimmsd $0x12,%xmm25,%xmm26,%xmm27{%k7}");11261127/* AVX-512: Op code 0f 3a 56 */11281129asm volatile("vreduceps $0x12,%zmm26,%zmm27");1130asm volatile("vreducepd $0x12,%zmm29,%zmm30");11311132/* AVX-512: Op code 0f 3a 57 */11331134asm volatile("vreducess $0x12,%xmm25,%xmm26,%xmm27");1135asm volatile("vreducesd $0x12,%xmm28,%xmm29,%xmm30");11361137/* AVX-512: Op code 0f 3a 66 */11381139asm volatile("vfpclassps $0x12,%zmm27,%k5");1140asm volatile("vfpclasspd $0x12,%zmm30,%k5");11411142/* AVX-512: Op code 0f 3a 67 */11431144asm volatile("vfpclassss $0x12,%xmm27,%k5");1145asm volatile("vfpclasssd $0x12,%xmm30,%k5");11461147/* AVX-512: Op code 0f 3a 70 */11481149asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");1150asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");1151asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");1152asm volatile("vpshldw $0x12,%zmm25,%zmm26,%zmm27");11531154/* AVX-512: Op code 0f 3a 71 */11551156asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");1157asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");1158asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");1159asm volatile("vpshldd $0x12,%zmm25,%zmm26,%zmm27");11601161asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");1162asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");1163asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");1164asm volatile("vpshldq $0x12,%zmm25,%zmm26,%zmm27");11651166/* AVX-512: Op code 0f 3a 72 */11671168asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");1169asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");1170asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");1171asm volatile("vpshrdw $0x12,%zmm25,%zmm26,%zmm27");11721173/* AVX-512: Op code 0f 3a 73 */11741175asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");1176asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");1177asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");1178asm volatile("vpshrdd $0x12,%zmm25,%zmm26,%zmm27");11791180asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");1181asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");1182asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");1183asm volatile("vpshrdq $0x12,%zmm25,%zmm26,%zmm27");11841185/* AVX-512: Op code 0f 3a ce */11861187asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");11881189asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");1190asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");1191asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");1192asm volatile("vgf2p8affineqb $0x12,%zmm25,%zmm26,%zmm27");11931194/* AVX-512: Op code 0f 3a cf */11951196asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");11971198asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");1199asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");1200asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");1201asm volatile("vgf2p8affineinvqb $0x12,%zmm25,%zmm26,%zmm27");12021203/* AVX-512: Op code 0f 72 (Grp13) */12041205asm volatile("vprord $0x12,%zmm25,%zmm26");1206asm volatile("vprorq $0x12,%zmm25,%zmm26");1207asm volatile("vprold $0x12,%zmm29,%zmm30");1208asm volatile("vprolq $0x12,%zmm29,%zmm30");1209asm volatile("psrad $0x2,%mm6");1210asm volatile("vpsrad $0x5,%ymm6,%ymm2");1211asm volatile("vpsrad $0x5,%zmm26,%zmm22");1212asm volatile("vpsraq $0x5,%zmm26,%zmm22");12131214/* AVX-512: Op code 0f 38 c6 (Grp18) */12151216asm volatile("vgatherpf0dps 0x7b(%r14,%zmm31,8){%k1}");1217asm volatile("vgatherpf0dpd 0x7b(%r14,%ymm31,8){%k1}");1218asm volatile("vgatherpf1dps 0x7b(%r14,%zmm31,8){%k1}");1219asm volatile("vgatherpf1dpd 0x7b(%r14,%ymm31,8){%k1}");1220asm volatile("vscatterpf0dps 0x7b(%r14,%zmm31,8){%k1}");1221asm volatile("vscatterpf0dpd 0x7b(%r14,%ymm31,8){%k1}");1222asm volatile("vscatterpf1dps 0x7b(%r14,%zmm31,8){%k1}");1223asm volatile("vscatterpf1dpd 0x7b(%r14,%ymm31,8){%k1}");12241225/* AVX-512: Op code 0f 38 c7 (Grp19) */12261227asm volatile("vgatherpf0qps 0x7b(%r14,%zmm31,8){%k1}");1228asm volatile("vgatherpf0qpd 0x7b(%r14,%zmm31,8){%k1}");1229asm volatile("vgatherpf1qps 0x7b(%r14,%zmm31,8){%k1}");1230asm volatile("vgatherpf1qpd 0x7b(%r14,%zmm31,8){%k1}");1231asm volatile("vscatterpf0qps 0x7b(%r14,%zmm31,8){%k1}");1232asm volatile("vscatterpf0qpd 0x7b(%r14,%zmm31,8){%k1}");1233asm volatile("vscatterpf1qps 0x7b(%r14,%zmm31,8){%k1}");1234asm volatile("vscatterpf1qpd 0x7b(%r14,%zmm31,8){%k1}");12351236/* AVX-512: Examples */12371238asm volatile("vaddpd %zmm28,%zmm29,%zmm30");1239asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}");1240asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}{z}");1241asm volatile("vaddpd {rn-sae},%zmm28,%zmm29,%zmm30");1242asm volatile("vaddpd {ru-sae},%zmm28,%zmm29,%zmm30");1243asm volatile("vaddpd {rd-sae},%zmm28,%zmm29,%zmm30");1244asm volatile("vaddpd {rz-sae},%zmm28,%zmm29,%zmm30");1245asm volatile("vaddpd (%rcx),%zmm29,%zmm30");1246asm volatile("vaddpd 0x123(%rax,%r14,8),%zmm29,%zmm30");1247asm volatile("vaddpd (%rcx){1to8},%zmm29,%zmm30");1248asm volatile("vaddpd 0x1fc0(%rdx),%zmm29,%zmm30");1249asm volatile("vaddpd 0x3f8(%rdx){1to8},%zmm29,%zmm30");1250asm volatile("vcmpeq_uqps 0x1fc(%rdx){1to16},%zmm30,%k5");1251asm volatile("vcmpltsd 0x123(%rax,%r14,8),%xmm29,%k5{%k7}");1252asm volatile("vcmplesd {sae},%xmm28,%xmm29,%k5{%k7}");1253asm volatile("vgetmantss $0x5b,0x123(%rax,%r14,8),%xmm29,%xmm30{%k7}");12541255/* bndmk m64, bnd */12561257asm volatile("bndmk (%rax), %bnd0");1258asm volatile("bndmk (%r8), %bnd0");1259asm volatile("bndmk (0x12345678), %bnd0");1260asm volatile("bndmk (%rax), %bnd3");1261asm volatile("bndmk (%rcx,%rax,1), %bnd0");1262asm volatile("bndmk 0x12345678(,%rax,1), %bnd0");1263asm volatile("bndmk (%rax,%rcx,1), %bnd0");1264asm volatile("bndmk (%rax,%rcx,8), %bnd0");1265asm volatile("bndmk 0x12(%rax), %bnd0");1266asm volatile("bndmk 0x12(%rbp), %bnd0");1267asm volatile("bndmk 0x12(%rcx,%rax,1), %bnd0");1268asm volatile("bndmk 0x12(%rbp,%rax,1), %bnd0");1269asm volatile("bndmk 0x12(%rax,%rcx,1), %bnd0");1270asm volatile("bndmk 0x12(%rax,%rcx,8), %bnd0");1271asm volatile("bndmk 0x12345678(%rax), %bnd0");1272asm volatile("bndmk 0x12345678(%rbp), %bnd0");1273asm volatile("bndmk 0x12345678(%rcx,%rax,1), %bnd0");1274asm volatile("bndmk 0x12345678(%rbp,%rax,1), %bnd0");1275asm volatile("bndmk 0x12345678(%rax,%rcx,1), %bnd0");1276asm volatile("bndmk 0x12345678(%rax,%rcx,8), %bnd0");12771278/* bndcl r/m64, bnd */12791280asm volatile("bndcl (%rax), %bnd0");1281asm volatile("bndcl (%r8), %bnd0");1282asm volatile("bndcl (0x12345678), %bnd0");1283asm volatile("bndcl (%rax), %bnd3");1284asm volatile("bndcl (%rcx,%rax,1), %bnd0");1285asm volatile("bndcl 0x12345678(,%rax,1), %bnd0");1286asm volatile("bndcl (%rax,%rcx,1), %bnd0");1287asm volatile("bndcl (%rax,%rcx,8), %bnd0");1288asm volatile("bndcl 0x12(%rax), %bnd0");1289asm volatile("bndcl 0x12(%rbp), %bnd0");1290asm volatile("bndcl 0x12(%rcx,%rax,1), %bnd0");1291asm volatile("bndcl 0x12(%rbp,%rax,1), %bnd0");1292asm volatile("bndcl 0x12(%rax,%rcx,1), %bnd0");1293asm volatile("bndcl 0x12(%rax,%rcx,8), %bnd0");1294asm volatile("bndcl 0x12345678(%rax), %bnd0");1295asm volatile("bndcl 0x12345678(%rbp), %bnd0");1296asm volatile("bndcl 0x12345678(%rcx,%rax,1), %bnd0");1297asm volatile("bndcl 0x12345678(%rbp,%rax,1), %bnd0");1298asm volatile("bndcl 0x12345678(%rax,%rcx,1), %bnd0");1299asm volatile("bndcl 0x12345678(%rax,%rcx,8), %bnd0");1300asm volatile("bndcl %rax, %bnd0");13011302/* bndcu r/m64, bnd */13031304asm volatile("bndcu (%rax), %bnd0");1305asm volatile("bndcu (%r8), %bnd0");1306asm volatile("bndcu (0x12345678), %bnd0");1307asm volatile("bndcu (%rax), %bnd3");1308asm volatile("bndcu (%rcx,%rax,1), %bnd0");1309asm volatile("bndcu 0x12345678(,%rax,1), %bnd0");1310asm volatile("bndcu (%rax,%rcx,1), %bnd0");1311asm volatile("bndcu (%rax,%rcx,8), %bnd0");1312asm volatile("bndcu 0x12(%rax), %bnd0");1313asm volatile("bndcu 0x12(%rbp), %bnd0");1314asm volatile("bndcu 0x12(%rcx,%rax,1), %bnd0");1315asm volatile("bndcu 0x12(%rbp,%rax,1), %bnd0");1316asm volatile("bndcu 0x12(%rax,%rcx,1), %bnd0");1317asm volatile("bndcu 0x12(%rax,%rcx,8), %bnd0");1318asm volatile("bndcu 0x12345678(%rax), %bnd0");1319asm volatile("bndcu 0x12345678(%rbp), %bnd0");1320asm volatile("bndcu 0x12345678(%rcx,%rax,1), %bnd0");1321asm volatile("bndcu 0x12345678(%rbp,%rax,1), %bnd0");1322asm volatile("bndcu 0x12345678(%rax,%rcx,1), %bnd0");1323asm volatile("bndcu 0x12345678(%rax,%rcx,8), %bnd0");1324asm volatile("bndcu %rax, %bnd0");13251326/* bndcn r/m64, bnd */13271328asm volatile("bndcn (%rax), %bnd0");1329asm volatile("bndcn (%r8), %bnd0");1330asm volatile("bndcn (0x12345678), %bnd0");1331asm volatile("bndcn (%rax), %bnd3");1332asm volatile("bndcn (%rcx,%rax,1), %bnd0");1333asm volatile("bndcn 0x12345678(,%rax,1), %bnd0");1334asm volatile("bndcn (%rax,%rcx,1), %bnd0");1335asm volatile("bndcn (%rax,%rcx,8), %bnd0");1336asm volatile("bndcn 0x12(%rax), %bnd0");1337asm volatile("bndcn 0x12(%rbp), %bnd0");1338asm volatile("bndcn 0x12(%rcx,%rax,1), %bnd0");1339asm volatile("bndcn 0x12(%rbp,%rax,1), %bnd0");1340asm volatile("bndcn 0x12(%rax,%rcx,1), %bnd0");1341asm volatile("bndcn 0x12(%rax,%rcx,8), %bnd0");1342asm volatile("bndcn 0x12345678(%rax), %bnd0");1343asm volatile("bndcn 0x12345678(%rbp), %bnd0");1344asm volatile("bndcn 0x12345678(%rcx,%rax,1), %bnd0");1345asm volatile("bndcn 0x12345678(%rbp,%rax,1), %bnd0");1346asm volatile("bndcn 0x12345678(%rax,%rcx,1), %bnd0");1347asm volatile("bndcn 0x12345678(%rax,%rcx,8), %bnd0");1348asm volatile("bndcn %rax, %bnd0");13491350/* bndmov m128, bnd */13511352asm volatile("bndmov (%rax), %bnd0");1353asm volatile("bndmov (%r8), %bnd0");1354asm volatile("bndmov (0x12345678), %bnd0");1355asm volatile("bndmov (%rax), %bnd3");1356asm volatile("bndmov (%rcx,%rax,1), %bnd0");1357asm volatile("bndmov 0x12345678(,%rax,1), %bnd0");1358asm volatile("bndmov (%rax,%rcx,1), %bnd0");1359asm volatile("bndmov (%rax,%rcx,8), %bnd0");1360asm volatile("bndmov 0x12(%rax), %bnd0");1361asm volatile("bndmov 0x12(%rbp), %bnd0");1362asm volatile("bndmov 0x12(%rcx,%rax,1), %bnd0");1363asm volatile("bndmov 0x12(%rbp,%rax,1), %bnd0");1364asm volatile("bndmov 0x12(%rax,%rcx,1), %bnd0");1365asm volatile("bndmov 0x12(%rax,%rcx,8), %bnd0");1366asm volatile("bndmov 0x12345678(%rax), %bnd0");1367asm volatile("bndmov 0x12345678(%rbp), %bnd0");1368asm volatile("bndmov 0x12345678(%rcx,%rax,1), %bnd0");1369asm volatile("bndmov 0x12345678(%rbp,%rax,1), %bnd0");1370asm volatile("bndmov 0x12345678(%rax,%rcx,1), %bnd0");1371asm volatile("bndmov 0x12345678(%rax,%rcx,8), %bnd0");13721373/* bndmov bnd, m128 */13741375asm volatile("bndmov %bnd0, (%rax)");1376asm volatile("bndmov %bnd0, (%r8)");1377asm volatile("bndmov %bnd0, (0x12345678)");1378asm volatile("bndmov %bnd3, (%rax)");1379asm volatile("bndmov %bnd0, (%rcx,%rax,1)");1380asm volatile("bndmov %bnd0, 0x12345678(,%rax,1)");1381asm volatile("bndmov %bnd0, (%rax,%rcx,1)");1382asm volatile("bndmov %bnd0, (%rax,%rcx,8)");1383asm volatile("bndmov %bnd0, 0x12(%rax)");1384asm volatile("bndmov %bnd0, 0x12(%rbp)");1385asm volatile("bndmov %bnd0, 0x12(%rcx,%rax,1)");1386asm volatile("bndmov %bnd0, 0x12(%rbp,%rax,1)");1387asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,1)");1388asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,8)");1389asm volatile("bndmov %bnd0, 0x12345678(%rax)");1390asm volatile("bndmov %bnd0, 0x12345678(%rbp)");1391asm volatile("bndmov %bnd0, 0x12345678(%rcx,%rax,1)");1392asm volatile("bndmov %bnd0, 0x12345678(%rbp,%rax,1)");1393asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,1)");1394asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,8)");13951396/* bndmov bnd2, bnd1 */13971398asm volatile("bndmov %bnd0, %bnd1");1399asm volatile("bndmov %bnd1, %bnd0");14001401/* bndldx mib, bnd */14021403asm volatile("bndldx (%rax), %bnd0");1404asm volatile("bndldx (%r8), %bnd0");1405asm volatile("bndldx (0x12345678), %bnd0");1406asm volatile("bndldx (%rax), %bnd3");1407asm volatile("bndldx (%rcx,%rax,1), %bnd0");1408asm volatile("bndldx 0x12345678(,%rax,1), %bnd0");1409asm volatile("bndldx (%rax,%rcx,1), %bnd0");1410asm volatile("bndldx 0x12(%rax), %bnd0");1411asm volatile("bndldx 0x12(%rbp), %bnd0");1412asm volatile("bndldx 0x12(%rcx,%rax,1), %bnd0");1413asm volatile("bndldx 0x12(%rbp,%rax,1), %bnd0");1414asm volatile("bndldx 0x12(%rax,%rcx,1), %bnd0");1415asm volatile("bndldx 0x12345678(%rax), %bnd0");1416asm volatile("bndldx 0x12345678(%rbp), %bnd0");1417asm volatile("bndldx 0x12345678(%rcx,%rax,1), %bnd0");1418asm volatile("bndldx 0x12345678(%rbp,%rax,1), %bnd0");1419asm volatile("bndldx 0x12345678(%rax,%rcx,1), %bnd0");14201421/* bndstx bnd, mib */14221423asm volatile("bndstx %bnd0, (%rax)");1424asm volatile("bndstx %bnd0, (%r8)");1425asm volatile("bndstx %bnd0, (0x12345678)");1426asm volatile("bndstx %bnd3, (%rax)");1427asm volatile("bndstx %bnd0, (%rcx,%rax,1)");1428asm volatile("bndstx %bnd0, 0x12345678(,%rax,1)");1429asm volatile("bndstx %bnd0, (%rax,%rcx,1)");1430asm volatile("bndstx %bnd0, 0x12(%rax)");1431asm volatile("bndstx %bnd0, 0x12(%rbp)");1432asm volatile("bndstx %bnd0, 0x12(%rcx,%rax,1)");1433asm volatile("bndstx %bnd0, 0x12(%rbp,%rax,1)");1434asm volatile("bndstx %bnd0, 0x12(%rax,%rcx,1)");1435asm volatile("bndstx %bnd0, 0x12345678(%rax)");1436asm volatile("bndstx %bnd0, 0x12345678(%rbp)");1437asm volatile("bndstx %bnd0, 0x12345678(%rcx,%rax,1)");1438asm volatile("bndstx %bnd0, 0x12345678(%rbp,%rax,1)");1439asm volatile("bndstx %bnd0, 0x12345678(%rax,%rcx,1)");14401441/* bnd prefix on call, ret, jmp and all jcc */14421443asm volatile("bnd call label1"); /* Expecting: call unconditional 0 */1444asm volatile("bnd call *(%eax)"); /* Expecting: call indirect 0 */1445asm volatile("bnd ret"); /* Expecting: ret indirect 0 */1446asm volatile("bnd jmp label1"); /* Expecting: jmp unconditional 0 */1447asm volatile("bnd jmp label1"); /* Expecting: jmp unconditional 0 */1448asm volatile("bnd jmp *(%ecx)"); /* Expecting: jmp indirect 0 */1449asm volatile("bnd jne label1"); /* Expecting: jcc conditional 0 */14501451/* sha1rnds4 imm8, xmm2/m128, xmm1 */14521453asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");1454asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");1455asm volatile("sha1rnds4 $0x91, %xmm8, %xmm0");1456asm volatile("sha1rnds4 $0x91, %xmm7, %xmm8");1457asm volatile("sha1rnds4 $0x91, %xmm15, %xmm8");1458asm volatile("sha1rnds4 $0x91, (%rax), %xmm0");1459asm volatile("sha1rnds4 $0x91, (%r8), %xmm0");1460asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");1461asm volatile("sha1rnds4 $0x91, (%rax), %xmm3");1462asm volatile("sha1rnds4 $0x91, (%rcx,%rax,1), %xmm0");1463asm volatile("sha1rnds4 $0x91, 0x12345678(,%rax,1), %xmm0");1464asm volatile("sha1rnds4 $0x91, (%rax,%rcx,1), %xmm0");1465asm volatile("sha1rnds4 $0x91, (%rax,%rcx,8), %xmm0");1466asm volatile("sha1rnds4 $0x91, 0x12(%rax), %xmm0");1467asm volatile("sha1rnds4 $0x91, 0x12(%rbp), %xmm0");1468asm volatile("sha1rnds4 $0x91, 0x12(%rcx,%rax,1), %xmm0");1469asm volatile("sha1rnds4 $0x91, 0x12(%rbp,%rax,1), %xmm0");1470asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,1), %xmm0");1471asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,8), %xmm0");1472asm volatile("sha1rnds4 $0x91, 0x12345678(%rax), %xmm0");1473asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp), %xmm0");1474asm volatile("sha1rnds4 $0x91, 0x12345678(%rcx,%rax,1), %xmm0");1475asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp,%rax,1), %xmm0");1476asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,1), %xmm0");1477asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm0");1478asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm15");14791480/* sha1nexte xmm2/m128, xmm1 */14811482asm volatile("sha1nexte %xmm1, %xmm0");1483asm volatile("sha1nexte %xmm7, %xmm2");1484asm volatile("sha1nexte %xmm8, %xmm0");1485asm volatile("sha1nexte %xmm7, %xmm8");1486asm volatile("sha1nexte %xmm15, %xmm8");1487asm volatile("sha1nexte (%rax), %xmm0");1488asm volatile("sha1nexte (%r8), %xmm0");1489asm volatile("sha1nexte (0x12345678), %xmm0");1490asm volatile("sha1nexte (%rax), %xmm3");1491asm volatile("sha1nexte (%rcx,%rax,1), %xmm0");1492asm volatile("sha1nexte 0x12345678(,%rax,1), %xmm0");1493asm volatile("sha1nexte (%rax,%rcx,1), %xmm0");1494asm volatile("sha1nexte (%rax,%rcx,8), %xmm0");1495asm volatile("sha1nexte 0x12(%rax), %xmm0");1496asm volatile("sha1nexte 0x12(%rbp), %xmm0");1497asm volatile("sha1nexte 0x12(%rcx,%rax,1), %xmm0");1498asm volatile("sha1nexte 0x12(%rbp,%rax,1), %xmm0");1499asm volatile("sha1nexte 0x12(%rax,%rcx,1), %xmm0");1500asm volatile("sha1nexte 0x12(%rax,%rcx,8), %xmm0");1501asm volatile("sha1nexte 0x12345678(%rax), %xmm0");1502asm volatile("sha1nexte 0x12345678(%rbp), %xmm0");1503asm volatile("sha1nexte 0x12345678(%rcx,%rax,1), %xmm0");1504asm volatile("sha1nexte 0x12345678(%rbp,%rax,1), %xmm0");1505asm volatile("sha1nexte 0x12345678(%rax,%rcx,1), %xmm0");1506asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm0");1507asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm15");15081509/* sha1msg1 xmm2/m128, xmm1 */15101511asm volatile("sha1msg1 %xmm1, %xmm0");1512asm volatile("sha1msg1 %xmm7, %xmm2");1513asm volatile("sha1msg1 %xmm8, %xmm0");1514asm volatile("sha1msg1 %xmm7, %xmm8");1515asm volatile("sha1msg1 %xmm15, %xmm8");1516asm volatile("sha1msg1 (%rax), %xmm0");1517asm volatile("sha1msg1 (%r8), %xmm0");1518asm volatile("sha1msg1 (0x12345678), %xmm0");1519asm volatile("sha1msg1 (%rax), %xmm3");1520asm volatile("sha1msg1 (%rcx,%rax,1), %xmm0");1521asm volatile("sha1msg1 0x12345678(,%rax,1), %xmm0");1522asm volatile("sha1msg1 (%rax,%rcx,1), %xmm0");1523asm volatile("sha1msg1 (%rax,%rcx,8), %xmm0");1524asm volatile("sha1msg1 0x12(%rax), %xmm0");1525asm volatile("sha1msg1 0x12(%rbp), %xmm0");1526asm volatile("sha1msg1 0x12(%rcx,%rax,1), %xmm0");1527asm volatile("sha1msg1 0x12(%rbp,%rax,1), %xmm0");1528asm volatile("sha1msg1 0x12(%rax,%rcx,1), %xmm0");1529asm volatile("sha1msg1 0x12(%rax,%rcx,8), %xmm0");1530asm volatile("sha1msg1 0x12345678(%rax), %xmm0");1531asm volatile("sha1msg1 0x12345678(%rbp), %xmm0");1532asm volatile("sha1msg1 0x12345678(%rcx,%rax,1), %xmm0");1533asm volatile("sha1msg1 0x12345678(%rbp,%rax,1), %xmm0");1534asm volatile("sha1msg1 0x12345678(%rax,%rcx,1), %xmm0");1535asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm0");1536asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm15");15371538/* sha1msg2 xmm2/m128, xmm1 */15391540asm volatile("sha1msg2 %xmm1, %xmm0");1541asm volatile("sha1msg2 %xmm7, %xmm2");1542asm volatile("sha1msg2 %xmm8, %xmm0");1543asm volatile("sha1msg2 %xmm7, %xmm8");1544asm volatile("sha1msg2 %xmm15, %xmm8");1545asm volatile("sha1msg2 (%rax), %xmm0");1546asm volatile("sha1msg2 (%r8), %xmm0");1547asm volatile("sha1msg2 (0x12345678), %xmm0");1548asm volatile("sha1msg2 (%rax), %xmm3");1549asm volatile("sha1msg2 (%rcx,%rax,1), %xmm0");1550asm volatile("sha1msg2 0x12345678(,%rax,1), %xmm0");1551asm volatile("sha1msg2 (%rax,%rcx,1), %xmm0");1552asm volatile("sha1msg2 (%rax,%rcx,8), %xmm0");1553asm volatile("sha1msg2 0x12(%rax), %xmm0");1554asm volatile("sha1msg2 0x12(%rbp), %xmm0");1555asm volatile("sha1msg2 0x12(%rcx,%rax,1), %xmm0");1556asm volatile("sha1msg2 0x12(%rbp,%rax,1), %xmm0");1557asm volatile("sha1msg2 0x12(%rax,%rcx,1), %xmm0");1558asm volatile("sha1msg2 0x12(%rax,%rcx,8), %xmm0");1559asm volatile("sha1msg2 0x12345678(%rax), %xmm0");1560asm volatile("sha1msg2 0x12345678(%rbp), %xmm0");1561asm volatile("sha1msg2 0x12345678(%rcx,%rax,1), %xmm0");1562asm volatile("sha1msg2 0x12345678(%rbp,%rax,1), %xmm0");1563asm volatile("sha1msg2 0x12345678(%rax,%rcx,1), %xmm0");1564asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm0");1565asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm15");15661567/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */1568/* Note sha256rnds2 has an implicit operand 'xmm0' */15691570asm volatile("sha256rnds2 %xmm4, %xmm1");1571asm volatile("sha256rnds2 %xmm7, %xmm2");1572asm volatile("sha256rnds2 %xmm8, %xmm1");1573asm volatile("sha256rnds2 %xmm7, %xmm8");1574asm volatile("sha256rnds2 %xmm15, %xmm8");1575asm volatile("sha256rnds2 (%rax), %xmm1");1576asm volatile("sha256rnds2 (%r8), %xmm1");1577asm volatile("sha256rnds2 (0x12345678), %xmm1");1578asm volatile("sha256rnds2 (%rax), %xmm3");1579asm volatile("sha256rnds2 (%rcx,%rax,1), %xmm1");1580asm volatile("sha256rnds2 0x12345678(,%rax,1), %xmm1");1581asm volatile("sha256rnds2 (%rax,%rcx,1), %xmm1");1582asm volatile("sha256rnds2 (%rax,%rcx,8), %xmm1");1583asm volatile("sha256rnds2 0x12(%rax), %xmm1");1584asm volatile("sha256rnds2 0x12(%rbp), %xmm1");1585asm volatile("sha256rnds2 0x12(%rcx,%rax,1), %xmm1");1586asm volatile("sha256rnds2 0x12(%rbp,%rax,1), %xmm1");1587asm volatile("sha256rnds2 0x12(%rax,%rcx,1), %xmm1");1588asm volatile("sha256rnds2 0x12(%rax,%rcx,8), %xmm1");1589asm volatile("sha256rnds2 0x12345678(%rax), %xmm1");1590asm volatile("sha256rnds2 0x12345678(%rbp), %xmm1");1591asm volatile("sha256rnds2 0x12345678(%rcx,%rax,1), %xmm1");1592asm volatile("sha256rnds2 0x12345678(%rbp,%rax,1), %xmm1");1593asm volatile("sha256rnds2 0x12345678(%rax,%rcx,1), %xmm1");1594asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm1");1595asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm15");15961597/* sha256msg1 xmm2/m128, xmm1 */15981599asm volatile("sha256msg1 %xmm1, %xmm0");1600asm volatile("sha256msg1 %xmm7, %xmm2");1601asm volatile("sha256msg1 %xmm8, %xmm0");1602asm volatile("sha256msg1 %xmm7, %xmm8");1603asm volatile("sha256msg1 %xmm15, %xmm8");1604asm volatile("sha256msg1 (%rax), %xmm0");1605asm volatile("sha256msg1 (%r8), %xmm0");1606asm volatile("sha256msg1 (0x12345678), %xmm0");1607asm volatile("sha256msg1 (%rax), %xmm3");1608asm volatile("sha256msg1 (%rcx,%rax,1), %xmm0");1609asm volatile("sha256msg1 0x12345678(,%rax,1), %xmm0");1610asm volatile("sha256msg1 (%rax,%rcx,1), %xmm0");1611asm volatile("sha256msg1 (%rax,%rcx,8), %xmm0");1612asm volatile("sha256msg1 0x12(%rax), %xmm0");1613asm volatile("sha256msg1 0x12(%rbp), %xmm0");1614asm volatile("sha256msg1 0x12(%rcx,%rax,1), %xmm0");1615asm volatile("sha256msg1 0x12(%rbp,%rax,1), %xmm0");1616asm volatile("sha256msg1 0x12(%rax,%rcx,1), %xmm0");1617asm volatile("sha256msg1 0x12(%rax,%rcx,8), %xmm0");1618asm volatile("sha256msg1 0x12345678(%rax), %xmm0");1619asm volatile("sha256msg1 0x12345678(%rbp), %xmm0");1620asm volatile("sha256msg1 0x12345678(%rcx,%rax,1), %xmm0");1621asm volatile("sha256msg1 0x12345678(%rbp,%rax,1), %xmm0");1622asm volatile("sha256msg1 0x12345678(%rax,%rcx,1), %xmm0");1623asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm0");1624asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm15");16251626/* sha256msg2 xmm2/m128, xmm1 */16271628asm volatile("sha256msg2 %xmm1, %xmm0");1629asm volatile("sha256msg2 %xmm7, %xmm2");1630asm volatile("sha256msg2 %xmm8, %xmm0");1631asm volatile("sha256msg2 %xmm7, %xmm8");1632asm volatile("sha256msg2 %xmm15, %xmm8");1633asm volatile("sha256msg2 (%rax), %xmm0");1634asm volatile("sha256msg2 (%r8), %xmm0");1635asm volatile("sha256msg2 (0x12345678), %xmm0");1636asm volatile("sha256msg2 (%rax), %xmm3");1637asm volatile("sha256msg2 (%rcx,%rax,1), %xmm0");1638asm volatile("sha256msg2 0x12345678(,%rax,1), %xmm0");1639asm volatile("sha256msg2 (%rax,%rcx,1), %xmm0");1640asm volatile("sha256msg2 (%rax,%rcx,8), %xmm0");1641asm volatile("sha256msg2 0x12(%rax), %xmm0");1642asm volatile("sha256msg2 0x12(%rbp), %xmm0");1643asm volatile("sha256msg2 0x12(%rcx,%rax,1), %xmm0");1644asm volatile("sha256msg2 0x12(%rbp,%rax,1), %xmm0");1645asm volatile("sha256msg2 0x12(%rax,%rcx,1), %xmm0");1646asm volatile("sha256msg2 0x12(%rax,%rcx,8), %xmm0");1647asm volatile("sha256msg2 0x12345678(%rax), %xmm0");1648asm volatile("sha256msg2 0x12345678(%rbp), %xmm0");1649asm volatile("sha256msg2 0x12345678(%rcx,%rax,1), %xmm0");1650asm volatile("sha256msg2 0x12345678(%rbp,%rax,1), %xmm0");1651asm volatile("sha256msg2 0x12345678(%rax,%rcx,1), %xmm0");1652asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm0");1653asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm15");16541655/* clflushopt m8 */16561657asm volatile("clflushopt (%rax)");1658asm volatile("clflushopt (%r8)");1659asm volatile("clflushopt (0x12345678)");1660asm volatile("clflushopt 0x12345678(%rax,%rcx,8)");1661asm volatile("clflushopt 0x12345678(%r8,%rcx,8)");1662/* Also check instructions in the same group encoding as clflushopt */1663asm volatile("clflush (%rax)");1664asm volatile("clflush (%r8)");1665asm volatile("sfence");16661667/* clwb m8 */16681669asm volatile("clwb (%rax)");1670asm volatile("clwb (%r8)");1671asm volatile("clwb (0x12345678)");1672asm volatile("clwb 0x12345678(%rax,%rcx,8)");1673asm volatile("clwb 0x12345678(%r8,%rcx,8)");1674/* Also check instructions in the same group encoding as clwb */1675asm volatile("xsaveopt (%rax)");1676asm volatile("xsaveopt (%r8)");1677asm volatile("mfence");16781679/* cldemote m8 */16801681asm volatile("cldemote (%rax)");1682asm volatile("cldemote (%r8)");1683asm volatile("cldemote (0x12345678)");1684asm volatile("cldemote 0x12345678(%rax,%rcx,8)");1685asm volatile("cldemote 0x12345678(%r8,%rcx,8)");16861687/* xsavec mem */16881689asm volatile("xsavec (%rax)");1690asm volatile("xsavec (%r8)");1691asm volatile("xsavec (0x12345678)");1692asm volatile("xsavec 0x12345678(%rax,%rcx,8)");1693asm volatile("xsavec 0x12345678(%r8,%rcx,8)");16941695/* xsaves mem */16961697asm volatile("xsaves (%rax)");1698asm volatile("xsaves (%r8)");1699asm volatile("xsaves (0x12345678)");1700asm volatile("xsaves 0x12345678(%rax,%rcx,8)");1701asm volatile("xsaves 0x12345678(%r8,%rcx,8)");17021703/* xrstors mem */17041705asm volatile("xrstors (%rax)");1706asm volatile("xrstors (%r8)");1707asm volatile("xrstors (0x12345678)");1708asm volatile("xrstors 0x12345678(%rax,%rcx,8)");1709asm volatile("xrstors 0x12345678(%r8,%rcx,8)");17101711/* ptwrite */17121713asm volatile("ptwrite (%rax)");1714asm volatile("ptwrite (%r8)");1715asm volatile("ptwrite (0x12345678)");1716asm volatile("ptwrite 0x12345678(%rax,%rcx,8)");1717asm volatile("ptwrite 0x12345678(%r8,%rcx,8)");17181719asm volatile("ptwritel (%rax)");1720asm volatile("ptwritel (%r8)");1721asm volatile("ptwritel (0x12345678)");1722asm volatile("ptwritel 0x12345678(%rax,%rcx,8)");1723asm volatile("ptwritel 0x12345678(%r8,%rcx,8)");17241725asm volatile("ptwriteq (%rax)");1726asm volatile("ptwriteq (%r8)");1727asm volatile("ptwriteq (0x12345678)");1728asm volatile("ptwriteq 0x12345678(%rax,%rcx,8)");1729asm volatile("ptwriteq 0x12345678(%r8,%rcx,8)");17301731/* tpause */17321733asm volatile("tpause %ebx");1734asm volatile("tpause %r8d");17351736/* umonitor */17371738asm volatile("umonitor %eax");1739asm volatile("umonitor %rax");1740asm volatile("umonitor %r8d");17411742/* umwait */17431744asm volatile("umwait %eax");1745asm volatile("umwait %r8d");17461747/* movdiri */17481749asm volatile("movdiri %rax,(%rbx)");1750asm volatile("movdiri %rcx,0x12345678(%rax)");17511752/* movdir64b */17531754asm volatile("movdir64b (%rax),%rbx");1755asm volatile("movdir64b 0x12345678(%rax),%rcx");1756asm volatile("movdir64b (%eax),%ebx");1757asm volatile("movdir64b 0x12345678(%eax),%ecx");17581759/* enqcmd */17601761asm volatile("enqcmd (%rax),%rbx");1762asm volatile("enqcmd 0x12345678(%rax),%rcx");1763asm volatile("enqcmd (%eax),%ebx");1764asm volatile("enqcmd 0x12345678(%eax),%ecx");17651766/* enqcmds */17671768asm volatile("enqcmds (%rax),%rbx");1769asm volatile("enqcmds 0x12345678(%rax),%rcx");1770asm volatile("enqcmds (%eax),%ebx");1771asm volatile("enqcmds 0x12345678(%eax),%ecx");17721773/* incsspd/q */17741775asm volatile("incsspd %eax");1776asm volatile("incsspd %r8d");1777asm volatile("incsspq %rax");1778asm volatile("incsspq %r8");1779/* Also check instructions in the same group encoding as incsspd/q */1780asm volatile("xrstor (%rax)");1781asm volatile("xrstor (%r8)");1782asm volatile("xrstor (0x12345678)");1783asm volatile("xrstor 0x12345678(%rax,%rcx,8)");1784asm volatile("xrstor 0x12345678(%r8,%rcx,8)");1785asm volatile("lfence");17861787/* rdsspd/q */17881789asm volatile("rdsspd %eax");1790asm volatile("rdsspd %r8d");1791asm volatile("rdsspq %rax");1792asm volatile("rdsspq %r8");17931794/* saveprevssp */17951796asm volatile("saveprevssp");17971798/* rstorssp */17991800asm volatile("rstorssp (%rax)");1801asm volatile("rstorssp (%r8)");1802asm volatile("rstorssp (0x12345678)");1803asm volatile("rstorssp 0x12345678(%rax,%rcx,8)");1804asm volatile("rstorssp 0x12345678(%r8,%rcx,8)");18051806/* wrssd/q */18071808asm volatile("wrssd %ecx,(%rax)");1809asm volatile("wrssd %edx,(%r8)");1810asm volatile("wrssd %edx,(0x12345678)");1811asm volatile("wrssd %edx,0x12345678(%rax,%rcx,8)");1812asm volatile("wrssd %edx,0x12345678(%r8,%rcx,8)");1813asm volatile("wrssq %rcx,(%rax)");1814asm volatile("wrssq %rdx,(%r8)");1815asm volatile("wrssq %rdx,(0x12345678)");1816asm volatile("wrssq %rdx,0x12345678(%rax,%rcx,8)");1817asm volatile("wrssq %rdx,0x12345678(%r8,%rcx,8)");18181819/* wrussd/q */18201821asm volatile("wrussd %ecx,(%rax)");1822asm volatile("wrussd %edx,(%r8)");1823asm volatile("wrussd %edx,(0x12345678)");1824asm volatile("wrussd %edx,0x12345678(%rax,%rcx,8)");1825asm volatile("wrussd %edx,0x12345678(%r8,%rcx,8)");1826asm volatile("wrussq %rcx,(%rax)");1827asm volatile("wrussq %rdx,(%r8)");1828asm volatile("wrussq %rdx,(0x12345678)");1829asm volatile("wrussq %rdx,0x12345678(%rax,%rcx,8)");1830asm volatile("wrussq %rdx,0x12345678(%r8,%rcx,8)");18311832/* setssbsy */18331834asm volatile("setssbsy");1835/* Also check instructions in the same group encoding as setssbsy */1836asm volatile("rdpkru");1837asm volatile("wrpkru");18381839/* clrssbsy */18401841asm volatile("clrssbsy (%rax)");1842asm volatile("clrssbsy (%r8)");1843asm volatile("clrssbsy (0x12345678)");1844asm volatile("clrssbsy 0x12345678(%rax,%rcx,8)");1845asm volatile("clrssbsy 0x12345678(%r8,%rcx,8)");18461847/* endbr32/64 */18481849asm volatile("endbr32");1850asm volatile("endbr64");18511852/* call with/without notrack prefix */18531854asm volatile("callq *%rax"); /* Expecting: call indirect 0 */1855asm volatile("callq *(%rax)"); /* Expecting: call indirect 0 */1856asm volatile("callq *(%r8)"); /* Expecting: call indirect 0 */1857asm volatile("callq *(0x12345678)"); /* Expecting: call indirect 0 */1858asm volatile("callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */1859asm volatile("callq *0x12345678(%r8,%rcx,8)"); /* Expecting: call indirect 0 */18601861asm volatile("bnd callq *%rax"); /* Expecting: call indirect 0 */1862asm volatile("bnd callq *(%rax)"); /* Expecting: call indirect 0 */1863asm volatile("bnd callq *(%r8)"); /* Expecting: call indirect 0 */1864asm volatile("bnd callq *(0x12345678)"); /* Expecting: call indirect 0 */1865asm volatile("bnd callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */1866asm volatile("bnd callq *0x12345678(%r8,%rcx,8)"); /* Expecting: call indirect 0 */18671868asm volatile("notrack callq *%rax"); /* Expecting: call indirect 0 */1869asm volatile("notrack callq *(%rax)"); /* Expecting: call indirect 0 */1870asm volatile("notrack callq *(%r8)"); /* Expecting: call indirect 0 */1871asm volatile("notrack callq *(0x12345678)"); /* Expecting: call indirect 0 */1872asm volatile("notrack callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */1873asm volatile("notrack callq *0x12345678(%r8,%rcx,8)"); /* Expecting: call indirect 0 */18741875asm volatile("notrack bnd callq *%rax"); /* Expecting: call indirect 0 */1876asm volatile("notrack bnd callq *(%rax)"); /* Expecting: call indirect 0 */1877asm volatile("notrack bnd callq *(%r8)"); /* Expecting: call indirect 0 */1878asm volatile("notrack bnd callq *(0x12345678)"); /* Expecting: call indirect 0 */1879asm volatile("notrack bnd callq *0x12345678(%rax,%rcx,8)"); /* Expecting: call indirect 0 */1880asm volatile("notrack bnd callq *0x12345678(%r8,%rcx,8)"); /* Expecting: call indirect 0 */18811882/* jmp with/without notrack prefix */18831884asm volatile("jmpq *%rax"); /* Expecting: jmp indirect 0 */1885asm volatile("jmpq *(%rax)"); /* Expecting: jmp indirect 0 */1886asm volatile("jmpq *(%r8)"); /* Expecting: jmp indirect 0 */1887asm volatile("jmpq *(0x12345678)"); /* Expecting: jmp indirect 0 */1888asm volatile("jmpq *0x12345678(%rax,%rcx,8)"); /* Expecting: jmp indirect 0 */1889asm volatile("jmpq *0x12345678(%r8,%rcx,8)"); /* Expecting: jmp indirect 0 */18901891asm volatile("bnd jmpq *%rax"); /* Expecting: jmp indirect 0 */1892asm volatile("bnd jmpq *(%rax)"); /* Expecting: jmp indirect 0 */1893asm volatile("bnd jmpq *(%r8)"); /* Expecting: jmp indirect 0 */1894asm volatile("bnd jmpq *(0x12345678)"); /* Expecting: jmp indirect 0 */1895asm volatile("bnd jmpq *0x12345678(%rax,%rcx,8)"); /* Expecting: jmp indirect 0 */1896asm volatile("bnd jmpq *0x12345678(%r8,%rcx,8)"); /* Expecting: jmp indirect 0 */18971898asm volatile("notrack jmpq *%rax"); /* Expecting: jmp indirect 0 */1899asm volatile("notrack jmpq *(%rax)"); /* Expecting: jmp indirect 0 */1900asm volatile("notrack jmpq *(%r8)"); /* Expecting: jmp indirect 0 */1901asm volatile("notrack jmpq *(0x12345678)"); /* Expecting: jmp indirect 0 */1902asm volatile("notrack jmpq *0x12345678(%rax,%rcx,8)"); /* Expecting: jmp indirect 0 */1903asm volatile("notrack jmpq *0x12345678(%r8,%rcx,8)"); /* Expecting: jmp indirect 0 */19041905asm volatile("notrack bnd jmpq *%rax"); /* Expecting: jmp indirect 0 */1906asm volatile("notrack bnd jmpq *(%rax)"); /* Expecting: jmp indirect 0 */1907asm volatile("notrack bnd jmpq *(%r8)"); /* Expecting: jmp indirect 0 */1908asm volatile("notrack bnd jmpq *(0x12345678)"); /* Expecting: jmp indirect 0 */1909asm volatile("notrack bnd jmpq *0x12345678(%rax,%rcx,8)"); /* Expecting: jmp indirect 0 */1910asm volatile("notrack bnd jmpq *0x12345678(%r8,%rcx,8)"); /* Expecting: jmp indirect 0 */19111912/* AMX */19131914asm volatile("ldtilecfg (%rax,%rcx,8)");1915asm volatile("ldtilecfg (%r8,%rcx,8)");1916asm volatile("sttilecfg (%rax,%rcx,8)");1917asm volatile("sttilecfg (%r8,%rcx,8)");1918asm volatile("tdpbf16ps %tmm0, %tmm1, %tmm2");1919asm volatile("tdpbssd %tmm0, %tmm1, %tmm2");1920asm volatile("tdpbsud %tmm0, %tmm1, %tmm2");1921asm volatile("tdpbusd %tmm0, %tmm1, %tmm2");1922asm volatile("tdpbuud %tmm0, %tmm1, %tmm2");1923asm volatile("tileloadd (%rax,%rcx,8), %tmm1");1924asm volatile("tileloadd (%r8,%rcx,8), %tmm2");1925asm volatile("tileloaddt1 (%rax,%rcx,8), %tmm1");1926asm volatile("tileloaddt1 (%r8,%rcx,8), %tmm2");1927asm volatile("tilerelease");1928asm volatile("tilestored %tmm1, (%rax,%rcx,8)");1929asm volatile("tilestored %tmm2, (%r8,%rcx,8)");1930asm volatile("tilezero %tmm0");1931asm volatile("tilezero %tmm7");19321933/* User Interrupt */19341935asm volatile("clui");1936asm volatile("senduipi %rax");1937asm volatile("senduipi %r8");1938asm volatile("stui");1939asm volatile("testui");1940asm volatile("uiret");19411942/* AVX512-FP16 */19431944asm volatile("vaddph %zmm3, %zmm2, %zmm1");1945asm volatile("vaddph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");1946asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");1947asm volatile("vaddph %xmm3, %xmm2, %xmm1");1948asm volatile("vaddph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");1949asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");1950asm volatile("vaddph %ymm3, %ymm2, %ymm1");1951asm volatile("vaddph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");1952asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");1953asm volatile("vaddsh %xmm3, %xmm2, %xmm1");1954asm volatile("vaddsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");1955asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");1956asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");1957asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %zmm2, %k5");1958asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");1959asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");1960asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");1961asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");1962asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");1963asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %ymm2, %k5");1964asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");1965asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");1966asm volatile("vcmpsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");1967asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");1968asm volatile("vcomish %xmm2, %xmm1");1969asm volatile("vcomish 0x12345678(%rax,%rcx,8), %xmm1");1970asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");1971asm volatile("vcvtdq2ph %zmm2, %ymm1");1972asm volatile("vcvtdq2ph 0x12345678(%rax,%rcx,8), %ymm1");1973asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");1974asm volatile("vcvtdq2ph %xmm2, %xmm1");1975asm volatile("vcvtdq2ph %ymm2, %xmm1");1976asm volatile("vcvtpd2ph %zmm2, %xmm1");1977asm volatile("vcvtpd2ph %xmm2, %xmm1");1978asm volatile("vcvtpd2ph %ymm2, %xmm1");1979asm volatile("vcvtph2dq %ymm2, %zmm1");1980asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %zmm1");1981asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");1982asm volatile("vcvtph2dq %xmm2, %xmm1");1983asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %xmm1");1984asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");1985asm volatile("vcvtph2dq %xmm2, %ymm1");1986asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %ymm1");1987asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");1988asm volatile("vcvtph2pd %xmm2, %zmm1");1989asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %zmm1");1990asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");1991asm volatile("vcvtph2pd %xmm2, %xmm1");1992asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %xmm1");1993asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");1994asm volatile("vcvtph2pd %xmm2, %ymm1");1995asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %ymm1");1996asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");1997asm volatile("vcvtph2ps %ymm2, %zmm1");1998asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %zmm1");1999asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");2000asm volatile("vcvtph2ps %xmm2, %xmm1");2001asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");2002asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");2003asm volatile("vcvtph2ps %xmm2, %ymm1");2004asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");2005asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");2006asm volatile("vcvtph2ps %xmm2, %xmm1");2007asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");2008asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");2009asm volatile("vcvtph2ps %xmm2, %ymm1");2010asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");2011asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");2012asm volatile("vcvtph2psx %ymm2, %zmm1");2013asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %zmm1");2014asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");2015asm volatile("vcvtph2psx %xmm2, %xmm1");2016asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %xmm1");2017asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");2018asm volatile("vcvtph2psx %xmm2, %ymm1");2019asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %ymm1");2020asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");2021asm volatile("vcvtph2qq %xmm2, %zmm1");2022asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %zmm1");2023asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");2024asm volatile("vcvtph2qq %xmm2, %xmm1");2025asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %xmm1");2026asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");2027asm volatile("vcvtph2qq %xmm2, %ymm1");2028asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %ymm1");2029asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");2030asm volatile("vcvtph2udq %ymm2, %zmm1");2031asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %zmm1");2032asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");2033asm volatile("vcvtph2udq %xmm2, %xmm1");2034asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %xmm1");2035asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");2036asm volatile("vcvtph2udq %xmm2, %ymm1");2037asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %ymm1");2038asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");2039asm volatile("vcvtph2uqq %xmm2, %zmm1");2040asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %zmm1");2041asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");2042asm volatile("vcvtph2uqq %xmm2, %xmm1");2043asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %xmm1");2044asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");2045asm volatile("vcvtph2uqq %xmm2, %ymm1");2046asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %ymm1");2047asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");2048asm volatile("vcvtph2uw %zmm2, %zmm1");2049asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %zmm1");2050asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");2051asm volatile("vcvtph2uw %xmm2, %xmm1");2052asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %xmm1");2053asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");2054asm volatile("vcvtph2uw %ymm2, %ymm1");2055asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %ymm1");2056asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");2057asm volatile("vcvtph2w %zmm2, %zmm1");2058asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %zmm1");2059asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");2060asm volatile("vcvtph2w %xmm2, %xmm1");2061asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %xmm1");2062asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");2063asm volatile("vcvtph2w %ymm2, %ymm1");2064asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %ymm1");2065asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");2066asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%rax,%rcx,8)");2067asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");2068asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");2069asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%rax,%rcx,8)");2070asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");2071asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%rax,%rcx,8)");2072asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");2073asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");2074asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");2075asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");2076asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%rax,%rcx,8)");2077asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");2078asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");2079asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%rax,%rcx,8)");2080asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");2081asm volatile("vcvtps2phx %zmm2, %ymm1");2082asm volatile("vcvtps2phx 0x12345678(%rax,%rcx,8), %ymm1");2083asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");2084asm volatile("vcvtps2phx %xmm2, %xmm1");2085asm volatile("vcvtps2phx %ymm2, %xmm1");2086asm volatile("vcvtqq2ph %zmm2, %xmm1");2087asm volatile("vcvtqq2ph %xmm2, %xmm1");2088asm volatile("vcvtqq2ph %ymm2, %xmm1");2089asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2090asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2091asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");2092asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %rax");2093asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2094asm volatile("vcvtsh2usi %xmm1, %eax");2095asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %eax");2096asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");2097asm volatile("vcvtsh2usi %xmm1, %rax");2098asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %rax");2099asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %rax");2100asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");2101asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2102asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2103asm volatile("vcvtsi2sh %rax, %xmm2, %xmm1");2104asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2105asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2106asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");2107asm volatile("vcvtss2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2108asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2109asm volatile("vcvttph2dq %ymm2, %zmm1");2110asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %zmm1");2111asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");2112asm volatile("vcvttph2dq %xmm2, %xmm1");2113asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %xmm1");2114asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");2115asm volatile("vcvttph2dq %xmm2, %ymm1");2116asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %ymm1");2117asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");2118asm volatile("vcvttph2qq %xmm2, %zmm1");2119asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %zmm1");2120asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");2121asm volatile("vcvttph2qq %xmm2, %xmm1");2122asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %xmm1");2123asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");2124asm volatile("vcvttph2qq %xmm2, %ymm1");2125asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %ymm1");2126asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");2127asm volatile("vcvttph2udq %ymm2, %zmm1");2128asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %zmm1");2129asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");2130asm volatile("vcvttph2udq %xmm2, %xmm1");2131asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %xmm1");2132asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");2133asm volatile("vcvttph2udq %xmm2, %ymm1");2134asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %ymm1");2135asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");2136asm volatile("vcvttph2uqq %xmm2, %zmm1");2137asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %zmm1");2138asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");2139asm volatile("vcvttph2uqq %xmm2, %xmm1");2140asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %xmm1");2141asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");2142asm volatile("vcvttph2uqq %xmm2, %ymm1");2143asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %ymm1");2144asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");2145asm volatile("vcvttph2uw %zmm2, %zmm1");2146asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %zmm1");2147asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");2148asm volatile("vcvttph2uw %xmm2, %xmm1");2149asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %xmm1");2150asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");2151asm volatile("vcvttph2uw %ymm2, %ymm1");2152asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %ymm1");2153asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");2154asm volatile("vcvttph2w %zmm2, %zmm1");2155asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %zmm1");2156asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");2157asm volatile("vcvttph2w %xmm2, %xmm1");2158asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %xmm1");2159asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");2160asm volatile("vcvttph2w %ymm2, %ymm1");2161asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %ymm1");2162asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");2163asm volatile("vcvttsh2si %xmm1, %eax");2164asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %eax");2165asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");2166asm volatile("vcvttsh2si %xmm1, %rax");2167asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %rax");2168asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %rax");2169asm volatile("vcvttsh2usi %xmm1, %eax");2170asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %eax");2171asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");2172asm volatile("vcvttsh2usi %xmm1, %rax");2173asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %rax");2174asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %rax");2175asm volatile("vcvtudq2ph %zmm2, %ymm1");2176asm volatile("vcvtudq2ph 0x12345678(%rax,%rcx,8), %ymm1");2177asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");2178asm volatile("vcvtudq2ph %xmm2, %xmm1");2179asm volatile("vcvtudq2ph %ymm2, %xmm1");2180asm volatile("vcvtuqq2ph %zmm2, %xmm1");2181asm volatile("vcvtuqq2ph %xmm2, %xmm1");2182asm volatile("vcvtuqq2ph %ymm2, %xmm1");2183asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");2184asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2185asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2186asm volatile("vcvtusi2sh %rax, %xmm2, %xmm1");2187asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2188asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2189asm volatile("vcvtuw2ph %zmm2, %zmm1");2190asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %zmm1");2191asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");2192asm volatile("vcvtuw2ph %xmm2, %xmm1");2193asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %xmm1");2194asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");2195asm volatile("vcvtuw2ph %ymm2, %ymm1");2196asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %ymm1");2197asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");2198asm volatile("vcvtw2ph %zmm2, %zmm1");2199asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %zmm1");2200asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");2201asm volatile("vcvtw2ph %xmm2, %xmm1");2202asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %xmm1");2203asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");2204asm volatile("vcvtw2ph %ymm2, %ymm1");2205asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %ymm1");2206asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");2207asm volatile("vdivph %zmm3, %zmm2, %zmm1");2208asm volatile("vdivph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2209asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2210asm volatile("vdivph %xmm3, %xmm2, %xmm1");2211asm volatile("vdivph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2212asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2213asm volatile("vdivph %ymm3, %ymm2, %ymm1");2214asm volatile("vdivph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2215asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2216asm volatile("vdivsh %xmm3, %xmm2, %xmm1");2217asm volatile("vdivsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2218asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2219asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");2220asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2221asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2222asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");2223asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2224asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2225asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");2226asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2227asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2228asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");2229asm volatile("vfcmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2230asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2231asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");2232asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2233asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2234asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");2235asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2236asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2237asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");2238asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2239asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2240asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");2241asm volatile("vfcmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2242asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2243asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");2244asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2245asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2246asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");2247asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2248asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2249asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");2250asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2251asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2252asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");2253asm volatile("vfmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2254asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2255asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");2256asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2257asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2258asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");2259asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2260asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2261asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");2262asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2263asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2264asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");2265asm volatile("vfmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2266asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2267asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");2268asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2269asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2270asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");2271asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2272asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2273asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");2274asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2275asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2276asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");2277asm volatile("vfmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2278asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2279asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");2280asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2281asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2282asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");2283asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2284asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2285asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");2286asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2287asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2288asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");2289asm volatile("vfmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2290asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2291asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");2292asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2293asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2294asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");2295asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2296asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2297asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");2298asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2299asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2300asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");2301asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2302asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2303asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");2304asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2305asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2306asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");2307asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2308asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2309asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");2310asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2311asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2312asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");2313asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2314asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2315asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");2316asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2317asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2318asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");2319asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2320asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2321asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");2322asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2323asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2324asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");2325asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2326asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2327asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");2328asm volatile("vfmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2329asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2330asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");2331asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2332asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2333asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");2334asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2335asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2336asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");2337asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2338asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2339asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");2340asm volatile("vfmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2341asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2342asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");2343asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2344asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2345asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");2346asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2347asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2348asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");2349asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2350asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2351asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");2352asm volatile("vfmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2353asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2354asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");2355asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2356asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2357asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");2358asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2359asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2360asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");2361asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2362asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2363asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");2364asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2365asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2366asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");2367asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2368asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2369asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");2370asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2371asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2372asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");2373asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2374asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2375asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");2376asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2377asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2378asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");2379asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2380asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2381asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");2382asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2383asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2384asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");2385asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2386asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2387asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");2388asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2389asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2390asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");2391asm volatile("vfmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2392asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2393asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");2394asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2395asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2396asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");2397asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2398asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2399asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");2400asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2401asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2402asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");2403asm volatile("vfnmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2404asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2405asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");2406asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2407asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2408asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");2409asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2410asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2411asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");2412asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2413asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2414asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");2415asm volatile("vfnmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2416asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2417asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");2418asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2419asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2420asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");2421asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2422asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2423asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");2424asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2425asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2426asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");2427asm volatile("vfnmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2428asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2429asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");2430asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2431asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2432asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");2433asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2434asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2435asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");2436asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2437asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2438asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");2439asm volatile("vfnmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2440asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2441asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");2442asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2443asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2444asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");2445asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2446asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2447asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");2448asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2449asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2450asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");2451asm volatile("vfnmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2452asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2453asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");2454asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2455asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2456asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");2457asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2458asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2459asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");2460asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2461asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2462asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");2463asm volatile("vfnmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2464asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2465asm volatile("vfpclassph $0x12, %zmm1, %k5");2466asm volatile("vfpclassph $0x12, %xmm1, %k5");2467asm volatile("vfpclassph $0x12, %ymm1, %k5");2468asm volatile("vfpclasssh $0x12, %xmm1, %k5");2469asm volatile("vfpclasssh $0x12, 0x12345678(%rax,%rcx,8), %k5");2470asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");2471asm volatile("vgetexpph %zmm2, %zmm1");2472asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %zmm1");2473asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");2474asm volatile("vgetexpph %xmm2, %xmm1");2475asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %xmm1");2476asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");2477asm volatile("vgetexpph %ymm2, %ymm1");2478asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %ymm1");2479asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");2480asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");2481asm volatile("vgetexpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2482asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2483asm volatile("vgetmantph $0x12, %zmm2, %zmm1");2484asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");2485asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");2486asm volatile("vgetmantph $0x12, %xmm2, %xmm1");2487asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");2488asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");2489asm volatile("vgetmantph $0x12, %ymm2, %ymm1");2490asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");2491asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");2492asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");2493asm volatile("vgetmantsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2494asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2495asm volatile("vmaxph %zmm3, %zmm2, %zmm1");2496asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2497asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2498asm volatile("vmaxph %xmm3, %xmm2, %xmm1");2499asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2500asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2501asm volatile("vmaxph %ymm3, %ymm2, %ymm1");2502asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2503asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2504asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");2505asm volatile("vmaxsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2506asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2507asm volatile("vminph %zmm3, %zmm2, %zmm1");2508asm volatile("vminph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2509asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2510asm volatile("vminph %xmm3, %xmm2, %xmm1");2511asm volatile("vminph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2512asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2513asm volatile("vminph %ymm3, %ymm2, %ymm1");2514asm volatile("vminph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2515asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2516asm volatile("vminsh %xmm3, %xmm2, %xmm1");2517asm volatile("vminsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2518asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2519asm volatile("vmovsh %xmm1, 0x12345678(%rax,%rcx,8)");2520asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");2521asm volatile("vmovsh 0x12345678(%rax,%rcx,8), %xmm1");2522asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");2523asm volatile("vmovsh %xmm3, %xmm2, %xmm1");2524asm volatile("vmovw %xmm1, %eax");2525asm volatile("vmovw %xmm1, 0x12345678(%rax,%rcx,8)");2526asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");2527asm volatile("vmovw %eax, %xmm1");2528asm volatile("vmovw 0x12345678(%rax,%rcx,8), %xmm1");2529asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");2530asm volatile("vmulph %zmm3, %zmm2, %zmm1");2531asm volatile("vmulph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2532asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2533asm volatile("vmulph %xmm3, %xmm2, %xmm1");2534asm volatile("vmulph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2535asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2536asm volatile("vmulph %ymm3, %ymm2, %ymm1");2537asm volatile("vmulph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2538asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2539asm volatile("vmulsh %xmm3, %xmm2, %xmm1");2540asm volatile("vmulsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2541asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2542asm volatile("vrcpph %zmm2, %zmm1");2543asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %zmm1");2544asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");2545asm volatile("vrcpph %xmm2, %xmm1");2546asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %xmm1");2547asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");2548asm volatile("vrcpph %ymm2, %ymm1");2549asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %ymm1");2550asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");2551asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");2552asm volatile("vrcpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2553asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2554asm volatile("vreduceph $0x12, %zmm2, %zmm1");2555asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");2556asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");2557asm volatile("vreduceph $0x12, %xmm2, %xmm1");2558asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");2559asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");2560asm volatile("vreduceph $0x12, %ymm2, %ymm1");2561asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");2562asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");2563asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");2564asm volatile("vreducesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2565asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2566asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");2567asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");2568asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");2569asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");2570asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");2571asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");2572asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");2573asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");2574asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");2575asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");2576asm volatile("vrndscalesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2577asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2578asm volatile("vrsqrtph %zmm2, %zmm1");2579asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %zmm1");2580asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");2581asm volatile("vrsqrtph %xmm2, %xmm1");2582asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %xmm1");2583asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");2584asm volatile("vrsqrtph %ymm2, %ymm1");2585asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %ymm1");2586asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");2587asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");2588asm volatile("vrsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2589asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2590asm volatile("vscalefph %zmm3, %zmm2, %zmm1");2591asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2592asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2593asm volatile("vscalefph %xmm3, %xmm2, %xmm1");2594asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2595asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2596asm volatile("vscalefph %ymm3, %ymm2, %ymm1");2597asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2598asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2599asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");2600asm volatile("vscalefsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2601asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2602asm volatile("vsqrtph %zmm2, %zmm1");2603asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %zmm1");2604asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");2605asm volatile("vsqrtph %xmm2, %xmm1");2606asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %xmm1");2607asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");2608asm volatile("vsqrtph %ymm2, %ymm1");2609asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %ymm1");2610asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");2611asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");2612asm volatile("vsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2613asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2614asm volatile("vsubph %zmm3, %zmm2, %zmm1");2615asm volatile("vsubph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");2616asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");2617asm volatile("vsubph %xmm3, %xmm2, %xmm1");2618asm volatile("vsubph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2619asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2620asm volatile("vsubph %ymm3, %ymm2, %ymm1");2621asm volatile("vsubph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");2622asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");2623asm volatile("vsubsh %xmm3, %xmm2, %xmm1");2624asm volatile("vsubsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");2625asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");2626asm volatile("vucomish %xmm2, %xmm1");2627asm volatile("vucomish 0x12345678(%rax,%rcx,8), %xmm1");2628asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");26292630/* Key Locker */26312632asm volatile("loadiwkey %xmm1, %xmm2");2633asm volatile("encodekey128 %eax, %edx");2634asm volatile("encodekey256 %eax, %edx");2635asm volatile("aesenc128kl 0x77(%rdx), %xmm3");2636asm volatile("aesenc256kl 0x77(%rdx), %xmm3");2637asm volatile("aesdec128kl 0x77(%rdx), %xmm3");2638asm volatile("aesdec256kl 0x77(%rdx), %xmm3");2639asm volatile("aesencwide128kl 0x77(%rdx)");2640asm volatile("aesencwide256kl 0x77(%rdx)");2641asm volatile("aesdecwide128kl 0x77(%rdx)");2642asm volatile("aesdecwide256kl 0x77(%rdx)");26432644/* Remote Atomic Operations */26452646asm volatile("aadd %ecx,(%rax)");2647asm volatile("aadd %edx,(%r8)");2648asm volatile("aadd %edx,0x12345678(%rax,%rcx,8)");2649asm volatile("aadd %edx,0x12345678(%r8,%rcx,8)");2650asm volatile("aadd %rcx,(%rax)");2651asm volatile("aadd %rdx,(%r8)");2652asm volatile("aadd %rdx,(0x12345678)");2653asm volatile("aadd %rdx,0x12345678(%rax,%rcx,8)");2654asm volatile("aadd %rdx,0x12345678(%r8,%rcx,8)");26552656asm volatile("aand %ecx,(%rax)");2657asm volatile("aand %edx,(%r8)");2658asm volatile("aand %edx,0x12345678(%rax,%rcx,8)");2659asm volatile("aand %edx,0x12345678(%r8,%rcx,8)");2660asm volatile("aand %rcx,(%rax)");2661asm volatile("aand %rdx,(%r8)");2662asm volatile("aand %rdx,(0x12345678)");2663asm volatile("aand %rdx,0x12345678(%rax,%rcx,8)");2664asm volatile("aand %rdx,0x12345678(%r8,%rcx,8)");26652666asm volatile("aor %ecx,(%rax)");2667asm volatile("aor %edx,(%r8)");2668asm volatile("aor %edx,0x12345678(%rax,%rcx,8)");2669asm volatile("aor %edx,0x12345678(%r8,%rcx,8)");2670asm volatile("aor %rcx,(%rax)");2671asm volatile("aor %rdx,(%r8)");2672asm volatile("aor %rdx,(0x12345678)");2673asm volatile("aor %rdx,0x12345678(%rax,%rcx,8)");2674asm volatile("aor %rdx,0x12345678(%r8,%rcx,8)");26752676asm volatile("axor %ecx,(%rax)");2677asm volatile("axor %edx,(%r8)");2678asm volatile("axor %edx,0x12345678(%rax,%rcx,8)");2679asm volatile("axor %edx,0x12345678(%r8,%rcx,8)");2680asm volatile("axor %rcx,(%rax)");2681asm volatile("axor %rdx,(%r8)");2682asm volatile("axor %rdx,(0x12345678)");2683asm volatile("axor %rdx,0x12345678(%rax,%rcx,8)");2684asm volatile("axor %rdx,0x12345678(%r8,%rcx,8)");26852686/* VEX CMPxxXADD */26872688asm volatile("cmpbexadd %ebx,%ecx,(%r9)");2689asm volatile("cmpbxadd %ebx,%ecx,(%r9)");2690asm volatile("cmplexadd %ebx,%ecx,(%r9)");2691asm volatile("cmplxadd %ebx,%ecx,(%r9)");2692asm volatile("cmpnbexadd %ebx,%ecx,(%r9)");2693asm volatile("cmpnbxadd %ebx,%ecx,(%r9)");2694asm volatile("cmpnlexadd %ebx,%ecx,(%r9)");2695asm volatile("cmpnlxadd %ebx,%ecx,(%r9)");2696asm volatile("cmpnoxadd %ebx,%ecx,(%r9)");2697asm volatile("cmpnpxadd %ebx,%ecx,(%r9)");2698asm volatile("cmpnsxadd %ebx,%ecx,(%r9)");2699asm volatile("cmpnzxadd %ebx,%ecx,(%r9)");2700asm volatile("cmpoxadd %ebx,%ecx,(%r9)");2701asm volatile("cmppxadd %ebx,%ecx,(%r9)");2702asm volatile("cmpsxadd %ebx,%ecx,(%r9)");2703asm volatile("cmpzxadd %ebx,%ecx,(%r9)");27042705/* Pre-fetch */27062707asm volatile("prefetch (%rax)");2708asm volatile("prefetcht0 (%rax)");2709asm volatile("prefetcht1 (%rax)");2710asm volatile("prefetcht2 (%rax)");2711asm volatile("prefetchnta (%rax)");2712asm volatile("prefetchit0 0x12345678(%rip)");2713asm volatile("prefetchit1 0x12345678(%rip)");27142715/* MSR List */27162717asm volatile("rdmsrlist");2718asm volatile("wrmsrlist");27192720/* User Read/Write MSR */27212722asm volatile("urdmsr %rdx,%rax");2723asm volatile("urdmsr %rdx,%r22");2724asm volatile("urdmsr $0x7f,%r12");2725asm volatile("uwrmsr %rax,%rdx");2726asm volatile("uwrmsr %r22,%rdx");2727asm volatile("uwrmsr %r12,$0x7f");27282729/* AVX NE Convert */27302731asm volatile("vbcstnebf162ps (%rcx),%xmm6");2732asm volatile("vbcstnesh2ps (%rcx),%xmm6");2733asm volatile("vcvtneebf162ps (%rcx),%xmm6");2734asm volatile("vcvtneeph2ps (%rcx),%xmm6");2735asm volatile("vcvtneobf162ps (%rcx),%xmm6");2736asm volatile("vcvtneoph2ps (%rcx),%xmm6");2737asm volatile("vcvtneps2bf16 %xmm1,%xmm6");27382739/* FRED */27402741asm volatile("erets"); /* Expecting: erets indirect 0 */2742asm volatile("eretu"); /* Expecting: eretu indirect 0 */27432744/* AMX Complex */27452746asm volatile("tcmmimfp16ps %tmm1,%tmm2,%tmm3");2747asm volatile("tcmmrlfp16ps %tmm1,%tmm2,%tmm3");27482749/* AMX FP16 */27502751asm volatile("tdpfp16ps %tmm1,%tmm2,%tmm3");27522753/* REX2 */27542755asm volatile("test $0x5, %r18b");2756asm volatile("test $0x5, %r18d");2757asm volatile("test $0x5, %r18");2758asm volatile("test $0x5, %r18w");2759asm volatile("imull %eax, %r14d");2760asm volatile("imull %eax, %r17d");2761asm volatile("punpckldq (%r18), %mm2");2762asm volatile("leal (%rax), %r16d");2763asm volatile("leal (%rax), %r31d");2764asm volatile("leal (,%r16), %eax");2765asm volatile("leal (,%r31), %eax");2766asm volatile("leal (%r16), %eax");2767asm volatile("leal (%r31), %eax");2768asm volatile("leaq (%rax), %r15");2769asm volatile("leaq (%rax), %r16");2770asm volatile("leaq (%r15), %rax");2771asm volatile("leaq (%r16), %rax");2772asm volatile("leaq (,%r15), %rax");2773asm volatile("leaq (,%r16), %rax");2774asm volatile("add (%r16), %r8");2775asm volatile("add (%r16), %r15");2776asm volatile("mov (,%r9), %r16");2777asm volatile("mov (,%r14), %r16");2778asm volatile("sub (%r10), %r31");2779asm volatile("sub (%r13), %r31");2780asm volatile("leal 1(%r16, %r21), %eax");2781asm volatile("leal 1(%r16, %r26), %r31d");2782asm volatile("leal 129(%r21, %r9), %eax");2783asm volatile("leal 129(%r26, %r9), %r31d");2784/*2785* Have to use .byte for jmpabs because gas does not support the2786* mnemonic for some reason, but then it also gets the source line wrong2787* with .byte, so the following is a workaround.2788*/2789asm volatile(""); /* Expecting: jmp indirect 0 */2790asm volatile(".byte 0xd5, 0x00, 0xa1, 0xef, 0xcd, 0xab, 0x90, 0x78, 0x56, 0x34, 0x12");2791asm volatile("pushp %rbx");2792asm volatile("pushp %r16");2793asm volatile("pushp %r31");2794asm volatile("popp %r31");2795asm volatile("popp %r16");2796asm volatile("popp %rbx");27972798/* APX */27992800asm volatile("bextr %r25d,%edx,%r10d");2801asm volatile("bextr %r25d,0x123(%r31,%rax,4),%edx");2802asm volatile("bextr %r31,%r15,%r11");2803asm volatile("bextr %r31,0x123(%r31,%rax,4),%r15");2804asm volatile("blsi %r25d,%edx");2805asm volatile("blsi %r31,%r15");2806asm volatile("blsi 0x123(%r31,%rax,4),%r25d");2807asm volatile("blsi 0x123(%r31,%rax,4),%r31");2808asm volatile("blsmsk %r25d,%edx");2809asm volatile("blsmsk %r31,%r15");2810asm volatile("blsmsk 0x123(%r31,%rax,4),%r25d");2811asm volatile("blsmsk 0x123(%r31,%rax,4),%r31");2812asm volatile("blsr %r25d,%edx");2813asm volatile("blsr %r31,%r15");2814asm volatile("blsr 0x123(%r31,%rax,4),%r25d");2815asm volatile("blsr 0x123(%r31,%rax,4),%r31");2816asm volatile("bzhi %r25d,%edx,%r10d");2817asm volatile("bzhi %r25d,0x123(%r31,%rax,4),%edx");2818asm volatile("bzhi %r31,%r15,%r11");2819asm volatile("bzhi %r31,0x123(%r31,%rax,4),%r15");2820asm volatile("cmpbexadd %r25d,%edx,0x123(%r31,%rax,4)");2821asm volatile("cmpbexadd %r31,%r15,0x123(%r31,%rax,4)");2822asm volatile("cmpbxadd %r25d,%edx,0x123(%r31,%rax,4)");2823asm volatile("cmpbxadd %r31,%r15,0x123(%r31,%rax,4)");2824asm volatile("cmplxadd %r25d,%edx,0x123(%r31,%rax,4)");2825asm volatile("cmplxadd %r31,%r15,0x123(%r31,%rax,4)");2826asm volatile("cmpnbexadd %r25d,%edx,0x123(%r31,%rax,4)");2827asm volatile("cmpnbexadd %r31,%r15,0x123(%r31,%rax,4)");2828asm volatile("cmpnbxadd %r25d,%edx,0x123(%r31,%rax,4)");2829asm volatile("cmpnbxadd %r31,%r15,0x123(%r31,%rax,4)");2830asm volatile("cmpnlexadd %r25d,%edx,0x123(%r31,%rax,4)");2831asm volatile("cmpnlexadd %r31,%r15,0x123(%r31,%rax,4)");2832asm volatile("cmpnlxadd %r25d,%edx,0x123(%r31,%rax,4)");2833asm volatile("cmpnlxadd %r31,%r15,0x123(%r31,%rax,4)");2834asm volatile("cmpnoxadd %r25d,%edx,0x123(%r31,%rax,4)");2835asm volatile("cmpnoxadd %r31,%r15,0x123(%r31,%rax,4)");2836asm volatile("cmpnpxadd %r25d,%edx,0x123(%r31,%rax,4)");2837asm volatile("cmpnpxadd %r31,%r15,0x123(%r31,%rax,4)");2838asm volatile("cmpnsxadd %r25d,%edx,0x123(%r31,%rax,4)");2839asm volatile("cmpnsxadd %r31,%r15,0x123(%r31,%rax,4)");2840asm volatile("cmpnzxadd %r25d,%edx,0x123(%r31,%rax,4)");2841asm volatile("cmpnzxadd %r31,%r15,0x123(%r31,%rax,4)");2842asm volatile("cmpoxadd %r25d,%edx,0x123(%r31,%rax,4)");2843asm volatile("cmpoxadd %r31,%r15,0x123(%r31,%rax,4)");2844asm volatile("cmppxadd %r25d,%edx,0x123(%r31,%rax,4)");2845asm volatile("cmppxadd %r31,%r15,0x123(%r31,%rax,4)");2846asm volatile("cmpsxadd %r25d,%edx,0x123(%r31,%rax,4)");2847asm volatile("cmpsxadd %r31,%r15,0x123(%r31,%rax,4)");2848asm volatile("cmpzxadd %r25d,%edx,0x123(%r31,%rax,4)");2849asm volatile("cmpzxadd %r31,%r15,0x123(%r31,%rax,4)");2850asm volatile("crc32q %r31, %r22");2851asm volatile("crc32q (%r31), %r22");2852asm volatile("crc32b %r19b, %r17");2853asm volatile("crc32b %r19b, %r21d");2854asm volatile("crc32b (%r19),%ebx");2855asm volatile("crc32l %r31d, %r23d");2856asm volatile("crc32l (%r31), %r23d");2857asm volatile("crc32w %r31w, %r21d");2858asm volatile("crc32w (%r31),%r21d");2859asm volatile("crc32 %rax, %r18");2860asm volatile("enqcmd 0x123(%r31d,%eax,4),%r25d");2861asm volatile("enqcmd 0x123(%r31,%rax,4),%r31");2862asm volatile("enqcmds 0x123(%r31d,%eax,4),%r25d");2863asm volatile("enqcmds 0x123(%r31,%rax,4),%r31");2864asm volatile("invept 0x123(%r31,%rax,4),%r31");2865asm volatile("invpcid 0x123(%r31,%rax,4),%r31");2866asm volatile("invvpid 0x123(%r31,%rax,4),%r31");2867asm volatile("kmovb %k5,%r25d");2868asm volatile("kmovb %k5,0x123(%r31,%rax,4)");2869asm volatile("kmovb %r25d,%k5");2870asm volatile("kmovb 0x123(%r31,%rax,4),%k5");2871asm volatile("kmovd %k5,%r25d");2872asm volatile("kmovd %k5,0x123(%r31,%rax,4)");2873asm volatile("kmovd %r25d,%k5");2874asm volatile("kmovd 0x123(%r31,%rax,4),%k5");2875asm volatile("kmovq %k5,%r31");2876asm volatile("kmovq %k5,0x123(%r31,%rax,4)");2877asm volatile("kmovq %r31,%k5");2878asm volatile("kmovq 0x123(%r31,%rax,4),%k5");2879asm volatile("kmovw %k5,%r25d");2880asm volatile("kmovw %k5,0x123(%r31,%rax,4)");2881asm volatile("kmovw %r25d,%k5");2882asm volatile("kmovw 0x123(%r31,%rax,4),%k5");2883asm volatile("ldtilecfg 0x123(%r31,%rax,4)");2884asm volatile("movbe %r18w,%ax");2885asm volatile("movbe %r15w,%ax");2886asm volatile("movbe %r18w,0x123(%r16,%rax,4)");2887asm volatile("movbe %r18w,0x123(%r31,%rax,4)");2888asm volatile("movbe %r25d,%edx");2889asm volatile("movbe %r15d,%edx");2890asm volatile("movbe %r25d,0x123(%r16,%rax,4)");2891asm volatile("movbe %r31,%r15");2892asm volatile("movbe %r8,%r15");2893asm volatile("movbe %r31,0x123(%r16,%rax,4)");2894asm volatile("movbe %r31,0x123(%r31,%rax,4)");2895asm volatile("movbe 0x123(%r16,%rax,4),%r31");2896asm volatile("movbe 0x123(%r31,%rax,4),%r18w");2897asm volatile("movbe 0x123(%r31,%rax,4),%r25d");2898asm volatile("movdir64b 0x123(%r31d,%eax,4),%r25d");2899asm volatile("movdir64b 0x123(%r31,%rax,4),%r31");2900asm volatile("movdiri %r25d,0x123(%r31,%rax,4)");2901asm volatile("movdiri %r31,0x123(%r31,%rax,4)");2902asm volatile("pdep %r25d,%edx,%r10d");2903asm volatile("pdep %r31,%r15,%r11");2904asm volatile("pdep 0x123(%r31,%rax,4),%r25d,%edx");2905asm volatile("pdep 0x123(%r31,%rax,4),%r31,%r15");2906asm volatile("pext %r25d,%edx,%r10d");2907asm volatile("pext %r31,%r15,%r11");2908asm volatile("pext 0x123(%r31,%rax,4),%r25d,%edx");2909asm volatile("pext 0x123(%r31,%rax,4),%r31,%r15");2910asm volatile("shlx %r25d,%edx,%r10d");2911asm volatile("shlx %r25d,0x123(%r31,%rax,4),%edx");2912asm volatile("shlx %r31,%r15,%r11");2913asm volatile("shlx %r31,0x123(%r31,%rax,4),%r15");2914asm volatile("shrx %r25d,%edx,%r10d");2915asm volatile("shrx %r25d,0x123(%r31,%rax,4),%edx");2916asm volatile("shrx %r31,%r15,%r11");2917asm volatile("shrx %r31,0x123(%r31,%rax,4),%r15");2918asm volatile("sttilecfg 0x123(%r31,%rax,4)");2919asm volatile("tileloadd 0x123(%r31,%rax,4),%tmm6");2920asm volatile("tileloaddt1 0x123(%r31,%rax,4),%tmm6");2921asm volatile("tilestored %tmm6,0x123(%r31,%rax,4)");2922asm volatile("vbroadcastf128 (%r16),%ymm3");2923asm volatile("vbroadcasti128 (%r16),%ymm3");2924asm volatile("vextractf128 $1,%ymm3,(%r16)");2925asm volatile("vextracti128 $1,%ymm3,(%r16)");2926asm volatile("vinsertf128 $1,(%r16),%ymm3,%ymm8");2927asm volatile("vinserti128 $1,(%r16),%ymm3,%ymm8");2928asm volatile("vroundpd $1,(%r24),%xmm6");2929asm volatile("vroundps $2,(%r24),%xmm6");2930asm volatile("vroundsd $3,(%r24),%xmm6,%xmm3");2931asm volatile("vroundss $4,(%r24),%xmm6,%xmm3");2932asm volatile("wrssd %r25d,0x123(%r31,%rax,4)");2933asm volatile("wrssq %r31,0x123(%r31,%rax,4)");2934asm volatile("wrussd %r25d,0x123(%r31,%rax,4)");2935asm volatile("wrussq %r31,0x123(%r31,%rax,4)");29362937/* APX new data destination */29382939asm volatile("adc $0x1234,%ax,%r30w");2940asm volatile("adc %r15b,%r17b,%r18b");2941asm volatile("adc %r15d,(%r8),%r18d");2942asm volatile("adc (%r15,%rax,1),%r16b,%r8b");2943asm volatile("adc (%r15,%rax,1),%r16w,%r8w");2944asm volatile("adcl $0x11,(%r19,%rax,4),%r20d");2945asm volatile("adcx %r15d,%r8d,%r18d");2946asm volatile("adcx (%r15,%r31,1),%r8");2947asm volatile("adcx (%r15,%r31,1),%r8d,%r18d");2948asm volatile("add $0x1234,%ax,%r30w");2949asm volatile("add $0x12344433,%r15,%r16");2950asm volatile("add $0x34,%r13b,%r17b");2951asm volatile("add $0xfffffffff4332211,%rax,%r8");2952asm volatile("add %r31,%r8,%r16");2953asm volatile("add %r31,(%r8),%r16");2954asm volatile("add %r31,(%r8,%r16,8),%r16");2955asm volatile("add %r31b,%r8b,%r16b");2956asm volatile("add %r31d,%r8d,%r16d");2957asm volatile("add %r31w,%r8w,%r16w");2958asm volatile("add (%r31),%r8,%r16");2959asm volatile("add 0x9090(%r31,%r16,1),%r8,%r16");2960asm volatile("addb %r31b,%r8b,%r16b");2961asm volatile("addl %r31d,%r8d,%r16d");2962asm volatile("addl $0x11,(%r19,%rax,4),%r20d");2963asm volatile("addq %r31,%r8,%r16");2964asm volatile("addq $0x12344433,(%r15,%rcx,4),%r16");2965asm volatile("addw %r31w,%r8w,%r16w");2966asm volatile("adox %r15d,%r8d,%r18d");2967asm volatile("{load} add %r31,%r8,%r16");2968asm volatile("{store} add %r31,%r8,%r16");2969asm volatile("adox (%r15,%r31,1),%r8");2970asm volatile("adox (%r15,%r31,1),%r8d,%r18d");2971asm volatile("and $0x1234,%ax,%r30w");2972asm volatile("and %r15b,%r17b,%r18b");2973asm volatile("and %r15d,(%r8),%r18d");2974asm volatile("and (%r15,%rax,1),%r16b,%r8b");2975asm volatile("and (%r15,%rax,1),%r16w,%r8w");2976asm volatile("andl $0x11,(%r19,%rax,4),%r20d");2977asm volatile("cmova 0x90909090(%eax),%edx,%r8d");2978asm volatile("cmovae 0x90909090(%eax),%edx,%r8d");2979asm volatile("cmovb 0x90909090(%eax),%edx,%r8d");2980asm volatile("cmovbe 0x90909090(%eax),%edx,%r8d");2981asm volatile("cmove 0x90909090(%eax),%edx,%r8d");2982asm volatile("cmovg 0x90909090(%eax),%edx,%r8d");2983asm volatile("cmovge 0x90909090(%eax),%edx,%r8d");2984asm volatile("cmovl 0x90909090(%eax),%edx,%r8d");2985asm volatile("cmovle 0x90909090(%eax),%edx,%r8d");2986asm volatile("cmovne 0x90909090(%eax),%edx,%r8d");2987asm volatile("cmovno 0x90909090(%eax),%edx,%r8d");2988asm volatile("cmovnp 0x90909090(%eax),%edx,%r8d");2989asm volatile("cmovns 0x90909090(%eax),%edx,%r8d");2990asm volatile("cmovo 0x90909090(%eax),%edx,%r8d");2991asm volatile("cmovp 0x90909090(%eax),%edx,%r8d");2992asm volatile("cmovs 0x90909090(%eax),%edx,%r8d");2993asm volatile("dec %rax,%r17");2994asm volatile("decb (%r31,%r12,1),%r8b");2995asm volatile("imul 0x909(%rax,%r31,8),%rdx,%r25");2996asm volatile("imul 0x90909(%eax),%edx,%r8d");2997asm volatile("inc %r31,%r16");2998asm volatile("inc %r31,%r8");2999asm volatile("inc %rax,%rbx");3000asm volatile("neg %rax,%r17");3001asm volatile("negb (%r31,%r12,1),%r8b");3002asm volatile("not %rax,%r17");3003asm volatile("notb (%r31,%r12,1),%r8b");3004asm volatile("or $0x1234,%ax,%r30w");3005asm volatile("or %r15b,%r17b,%r18b");3006asm volatile("or %r15d,(%r8),%r18d");3007asm volatile("or (%r15,%rax,1),%r16b,%r8b");3008asm volatile("or (%r15,%rax,1),%r16w,%r8w");3009asm volatile("orl $0x11,(%r19,%rax,4),%r20d");3010asm volatile("rcl $0x2,%r12b,%r31b");3011asm volatile("rcl %cl,%r16b,%r8b");3012asm volatile("rclb $0x1,(%rax),%r31b");3013asm volatile("rcll $0x2,(%rax),%r31d");3014asm volatile("rclw $0x1,(%rax),%r31w");3015asm volatile("rclw %cl,(%r19,%rax,4),%r31w");3016asm volatile("rcr $0x2,%r12b,%r31b");3017asm volatile("rcr %cl,%r16b,%r8b");3018asm volatile("rcrb $0x1,(%rax),%r31b");3019asm volatile("rcrl $0x2,(%rax),%r31d");3020asm volatile("rcrw $0x1,(%rax),%r31w");3021asm volatile("rcrw %cl,(%r19,%rax,4),%r31w");3022asm volatile("rol $0x2,%r12b,%r31b");3023asm volatile("rol %cl,%r16b,%r8b");3024asm volatile("rolb $0x1,(%rax),%r31b");3025asm volatile("roll $0x2,(%rax),%r31d");3026asm volatile("rolw $0x1,(%rax),%r31w");3027asm volatile("rolw %cl,(%r19,%rax,4),%r31w");3028asm volatile("ror $0x2,%r12b,%r31b");3029asm volatile("ror %cl,%r16b,%r8b");3030asm volatile("rorb $0x1,(%rax),%r31b");3031asm volatile("rorl $0x2,(%rax),%r31d");3032asm volatile("rorw $0x1,(%rax),%r31w");3033asm volatile("rorw %cl,(%r19,%rax,4),%r31w");3034asm volatile("sar $0x2,%r12b,%r31b");3035asm volatile("sar %cl,%r16b,%r8b");3036asm volatile("sarb $0x1,(%rax),%r31b");3037asm volatile("sarl $0x2,(%rax),%r31d");3038asm volatile("sarw $0x1,(%rax),%r31w");3039asm volatile("sarw %cl,(%r19,%rax,4),%r31w");3040asm volatile("sbb $0x1234,%ax,%r30w");3041asm volatile("sbb %r15b,%r17b,%r18b");3042asm volatile("sbb %r15d,(%r8),%r18d");3043asm volatile("sbb (%r15,%rax,1),%r16b,%r8b");3044asm volatile("sbb (%r15,%rax,1),%r16w,%r8w");3045asm volatile("sbbl $0x11,(%r19,%rax,4),%r20d");3046asm volatile("shl $0x2,%r12b,%r31b");3047asm volatile("shl $0x2,%r12b,%r31b");3048asm volatile("shl %cl,%r16b,%r8b");3049asm volatile("shl %cl,%r16b,%r8b");3050asm volatile("shlb $0x1,(%rax),%r31b");3051asm volatile("shlb $0x1,(%rax),%r31b");3052asm volatile("shld $0x1,%r12,(%rax),%r31");3053asm volatile("shld $0x2,%r15d,(%rax),%r31d");3054asm volatile("shld $0x2,%r8w,%r12w,%r31w");3055asm volatile("shld %cl,%r12,%r16,%r8");3056asm volatile("shld %cl,%r13w,(%r19,%rax,4),%r31w");3057asm volatile("shld %cl,%r9w,(%rax),%r31w");3058asm volatile("shll $0x2,(%rax),%r31d");3059asm volatile("shll $0x2,(%rax),%r31d");3060asm volatile("shlw $0x1,(%rax),%r31w");3061asm volatile("shlw $0x1,(%rax),%r31w");3062asm volatile("shlw %cl,(%r19,%rax,4),%r31w");3063asm volatile("shlw %cl,(%r19,%rax,4),%r31w");3064asm volatile("shr $0x2,%r12b,%r31b");3065asm volatile("shr %cl,%r16b,%r8b");3066asm volatile("shrb $0x1,(%rax),%r31b");3067asm volatile("shrd $0x1,%r12,(%rax),%r31");3068asm volatile("shrd $0x2,%r15d,(%rax),%r31d");3069asm volatile("shrd $0x2,%r8w,%r12w,%r31w");3070asm volatile("shrd %cl,%r12,%r16,%r8");3071asm volatile("shrd %cl,%r13w,(%r19,%rax,4),%r31w");3072asm volatile("shrd %cl,%r9w,(%rax),%r31w");3073asm volatile("shrl $0x2,(%rax),%r31d");3074asm volatile("shrw $0x1,(%rax),%r31w");3075asm volatile("shrw %cl,(%r19,%rax,4),%r31w");3076asm volatile("sub $0x1234,%ax,%r30w");3077asm volatile("sub %r15b,%r17b,%r18b");3078asm volatile("sub %r15d,(%r8),%r18d");3079asm volatile("sub (%r15,%rax,1),%r16b,%r8b");3080asm volatile("sub (%r15,%rax,1),%r16w,%r8w");3081asm volatile("subl $0x11,(%r19,%rax,4),%r20d");3082asm volatile("xor $0x1234,%ax,%r30w");3083asm volatile("xor %r15b,%r17b,%r18b");3084asm volatile("xor %r15d,(%r8),%r18d");3085asm volatile("xor (%r15,%rax,1),%r16b,%r8b");3086asm volatile("xor (%r15,%rax,1),%r16w,%r8w");3087asm volatile("xorl $0x11,(%r19,%rax,4),%r20d");30883089/* APX suppress status flags */30903091asm volatile("{nf} add %bl,%dl,%r8b");3092asm volatile("{nf} add %dx,%ax,%r9w");3093asm volatile("{nf} add 0x123(%r8,%rax,4),%bl,%dl");3094asm volatile("{nf} add 0x123(%r8,%rax,4),%dx,%ax");3095asm volatile("{nf} or %bl,%dl,%r8b");3096asm volatile("{nf} or %dx,%ax,%r9w");3097asm volatile("{nf} or 0x123(%r8,%rax,4),%bl,%dl");3098asm volatile("{nf} or 0x123(%r8,%rax,4),%dx,%ax");3099asm volatile("{nf} and %bl,%dl,%r8b");3100asm volatile("{nf} and %dx,%ax,%r9w");3101asm volatile("{nf} and 0x123(%r8,%rax,4),%bl,%dl");3102asm volatile("{nf} and 0x123(%r8,%rax,4),%dx,%ax");3103asm volatile("{nf} shld $0x7b,%dx,%ax,%r9w");3104asm volatile("{nf} sub %bl,%dl,%r8b");3105asm volatile("{nf} sub %dx,%ax,%r9w");3106asm volatile("{nf} sub 0x123(%r8,%rax,4),%bl,%dl");3107asm volatile("{nf} sub 0x123(%r8,%rax,4),%dx,%ax");3108asm volatile("{nf} shrd $0x7b,%dx,%ax,%r9w");3109asm volatile("{nf} xor %bl,%dl,%r8b");3110asm volatile("{nf} xor %r31,%r31");3111asm volatile("{nf} xor 0x123(%r8,%rax,4),%bl,%dl");3112asm volatile("{nf} xor 0x123(%r8,%rax,4),%dx,%ax");3113asm volatile("{nf} imul $0xff90,%r9,%r15");3114asm volatile("{nf} imul $0x7b,%r9,%r15");3115asm volatile("{nf} xor $0x7b,%bl,%dl");3116asm volatile("{nf} xor $0x7b,%dx,%ax");3117asm volatile("{nf} popcnt %r9,%r31");3118asm volatile("{nf} shld %cl,%dx,%ax,%r9w");3119asm volatile("{nf} shrd %cl,%dx,%ax,%r9w");3120asm volatile("{nf} imul %r9,%r31,%r11");3121asm volatile("{nf} sar $0x7b,%bl,%dl");3122asm volatile("{nf} sar $0x7b,%dx,%ax");3123asm volatile("{nf} sar $1,%bl,%dl");3124asm volatile("{nf} sar $1,%dx,%ax");3125asm volatile("{nf} sar %cl,%bl,%dl");3126asm volatile("{nf} sar %cl,%dx,%ax");3127asm volatile("{nf} andn %r9,%r31,%r11");3128asm volatile("{nf} blsi %r9,%r31");3129asm volatile("{nf} tzcnt %r9,%r31");3130asm volatile("{nf} lzcnt %r9,%r31");3131asm volatile("{nf} idiv %bl");3132asm volatile("{nf} idiv %dx");3133asm volatile("{nf} dec %bl,%dl");3134asm volatile("{nf} dec %dx,%ax");31353136#else /* #ifdef __x86_64__ */31373138/* bound r32, mem (same op code as EVEX prefix) */31393140asm volatile("bound %eax, 0x12345678(%ecx)");3141asm volatile("bound %ecx, 0x12345678(%eax)");3142asm volatile("bound %edx, 0x12345678(%eax)");3143asm volatile("bound %ebx, 0x12345678(%eax)");3144asm volatile("bound %esp, 0x12345678(%eax)");3145asm volatile("bound %ebp, 0x12345678(%eax)");3146asm volatile("bound %esi, 0x12345678(%eax)");3147asm volatile("bound %edi, 0x12345678(%eax)");3148asm volatile("bound %ecx, (%eax)");3149asm volatile("bound %eax, (0x12345678)");3150asm volatile("bound %edx, (%ecx,%eax,1)");3151asm volatile("bound %edx, 0x12345678(,%eax,1)");3152asm volatile("bound %edx, (%eax,%ecx,1)");3153asm volatile("bound %edx, (%eax,%ecx,8)");3154asm volatile("bound %edx, 0x12(%eax)");3155asm volatile("bound %edx, 0x12(%ebp)");3156asm volatile("bound %edx, 0x12(%ecx,%eax,1)");3157asm volatile("bound %edx, 0x12(%ebp,%eax,1)");3158asm volatile("bound %edx, 0x12(%eax,%ecx,1)");3159asm volatile("bound %edx, 0x12(%eax,%ecx,8)");3160asm volatile("bound %edx, 0x12345678(%eax)");3161asm volatile("bound %edx, 0x12345678(%ebp)");3162asm volatile("bound %edx, 0x12345678(%ecx,%eax,1)");3163asm volatile("bound %edx, 0x12345678(%ebp,%eax,1)");3164asm volatile("bound %edx, 0x12345678(%eax,%ecx,1)");3165asm volatile("bound %edx, 0x12345678(%eax,%ecx,8)");31663167/* bound r16, mem (same op code as EVEX prefix) */31683169asm volatile("bound %ax, 0x12345678(%ecx)");3170asm volatile("bound %cx, 0x12345678(%eax)");3171asm volatile("bound %dx, 0x12345678(%eax)");3172asm volatile("bound %bx, 0x12345678(%eax)");3173asm volatile("bound %sp, 0x12345678(%eax)");3174asm volatile("bound %bp, 0x12345678(%eax)");3175asm volatile("bound %si, 0x12345678(%eax)");3176asm volatile("bound %di, 0x12345678(%eax)");3177asm volatile("bound %cx, (%eax)");3178asm volatile("bound %ax, (0x12345678)");3179asm volatile("bound %dx, (%ecx,%eax,1)");3180asm volatile("bound %dx, 0x12345678(,%eax,1)");3181asm volatile("bound %dx, (%eax,%ecx,1)");3182asm volatile("bound %dx, (%eax,%ecx,8)");3183asm volatile("bound %dx, 0x12(%eax)");3184asm volatile("bound %dx, 0x12(%ebp)");3185asm volatile("bound %dx, 0x12(%ecx,%eax,1)");3186asm volatile("bound %dx, 0x12(%ebp,%eax,1)");3187asm volatile("bound %dx, 0x12(%eax,%ecx,1)");3188asm volatile("bound %dx, 0x12(%eax,%ecx,8)");3189asm volatile("bound %dx, 0x12345678(%eax)");3190asm volatile("bound %dx, 0x12345678(%ebp)");3191asm volatile("bound %dx, 0x12345678(%ecx,%eax,1)");3192asm volatile("bound %dx, 0x12345678(%ebp,%eax,1)");3193asm volatile("bound %dx, 0x12345678(%eax,%ecx,1)");3194asm volatile("bound %dx, 0x12345678(%eax,%ecx,8)");31953196/* AVX-512: Instructions with the same op codes as Mask Instructions */31973198asm volatile("cmovno %eax,%ebx");3199asm volatile("cmovno 0x12345678(%eax),%ecx");3200asm volatile("cmovno 0x12345678(%eax),%cx");32013202asm volatile("cmove %eax,%ebx");3203asm volatile("cmove 0x12345678(%eax),%ecx");3204asm volatile("cmove 0x12345678(%eax),%cx");32053206asm volatile("seto 0x12345678(%eax)");3207asm volatile("setno 0x12345678(%eax)");3208asm volatile("setb 0x12345678(%eax)");3209asm volatile("setc 0x12345678(%eax)");3210asm volatile("setnae 0x12345678(%eax)");3211asm volatile("setae 0x12345678(%eax)");3212asm volatile("setnb 0x12345678(%eax)");3213asm volatile("setnc 0x12345678(%eax)");3214asm volatile("sets 0x12345678(%eax)");3215asm volatile("setns 0x12345678(%eax)");32163217/* AVX-512: Mask Instructions */32183219asm volatile("kandw %k7,%k6,%k5");3220asm volatile("kandq %k7,%k6,%k5");3221asm volatile("kandb %k7,%k6,%k5");3222asm volatile("kandd %k7,%k6,%k5");32233224asm volatile("kandnw %k7,%k6,%k5");3225asm volatile("kandnq %k7,%k6,%k5");3226asm volatile("kandnb %k7,%k6,%k5");3227asm volatile("kandnd %k7,%k6,%k5");32283229asm volatile("knotw %k7,%k6");3230asm volatile("knotq %k7,%k6");3231asm volatile("knotb %k7,%k6");3232asm volatile("knotd %k7,%k6");32333234asm volatile("korw %k7,%k6,%k5");3235asm volatile("korq %k7,%k6,%k5");3236asm volatile("korb %k7,%k6,%k5");3237asm volatile("kord %k7,%k6,%k5");32383239asm volatile("kxnorw %k7,%k6,%k5");3240asm volatile("kxnorq %k7,%k6,%k5");3241asm volatile("kxnorb %k7,%k6,%k5");3242asm volatile("kxnord %k7,%k6,%k5");32433244asm volatile("kxorw %k7,%k6,%k5");3245asm volatile("kxorq %k7,%k6,%k5");3246asm volatile("kxorb %k7,%k6,%k5");3247asm volatile("kxord %k7,%k6,%k5");32483249asm volatile("kaddw %k7,%k6,%k5");3250asm volatile("kaddq %k7,%k6,%k5");3251asm volatile("kaddb %k7,%k6,%k5");3252asm volatile("kaddd %k7,%k6,%k5");32533254asm volatile("kunpckbw %k7,%k6,%k5");3255asm volatile("kunpckwd %k7,%k6,%k5");3256asm volatile("kunpckdq %k7,%k6,%k5");32573258asm volatile("kmovw %k6,%k5");3259asm volatile("kmovw (%ecx),%k5");3260asm volatile("kmovw 0x123(%eax,%ecx,8),%k5");3261asm volatile("kmovw %k5,(%ecx)");3262asm volatile("kmovw %k5,0x123(%eax,%ecx,8)");3263asm volatile("kmovw %eax,%k5");3264asm volatile("kmovw %ebp,%k5");3265asm volatile("kmovw %k5,%eax");3266asm volatile("kmovw %k5,%ebp");32673268asm volatile("kmovq %k6,%k5");3269asm volatile("kmovq (%ecx),%k5");3270asm volatile("kmovq 0x123(%eax,%ecx,8),%k5");3271asm volatile("kmovq %k5,(%ecx)");3272asm volatile("kmovq %k5,0x123(%eax,%ecx,8)");32733274asm volatile("kmovb %k6,%k5");3275asm volatile("kmovb (%ecx),%k5");3276asm volatile("kmovb 0x123(%eax,%ecx,8),%k5");3277asm volatile("kmovb %k5,(%ecx)");3278asm volatile("kmovb %k5,0x123(%eax,%ecx,8)");3279asm volatile("kmovb %eax,%k5");3280asm volatile("kmovb %ebp,%k5");3281asm volatile("kmovb %k5,%eax");3282asm volatile("kmovb %k5,%ebp");32833284asm volatile("kmovd %k6,%k5");3285asm volatile("kmovd (%ecx),%k5");3286asm volatile("kmovd 0x123(%eax,%ecx,8),%k5");3287asm volatile("kmovd %k5,(%ecx)");3288asm volatile("kmovd %k5,0x123(%eax,%ecx,8)");3289asm volatile("kmovd %eax,%k5");3290asm volatile("kmovd %ebp,%k5");3291asm volatile("kmovd %k5,%eax");3292asm volatile("kmovd %k5,%ebp");32933294asm volatile("kortestw %k6,%k5");3295asm volatile("kortestq %k6,%k5");3296asm volatile("kortestb %k6,%k5");3297asm volatile("kortestd %k6,%k5");32983299asm volatile("ktestw %k6,%k5");3300asm volatile("ktestq %k6,%k5");3301asm volatile("ktestb %k6,%k5");3302asm volatile("ktestd %k6,%k5");33033304asm volatile("kshiftrw $0x12,%k6,%k5");3305asm volatile("kshiftrq $0x5b,%k6,%k5");3306asm volatile("kshiftlw $0x12,%k6,%k5");3307asm volatile("kshiftlq $0x5b,%k6,%k5");33083309/* AVX-512: Op code 0f 5b */3310asm volatile("vcvtdq2ps %xmm5,%xmm6");3311asm volatile("vcvtqq2ps %zmm5,%ymm6{%k7}");3312asm volatile("vcvtps2dq %xmm5,%xmm6");3313asm volatile("vcvttps2dq %xmm5,%xmm6");33143315/* AVX-512: Op code 0f 6f */33163317asm volatile("movq %mm0,%mm4");3318asm volatile("vmovdqa %ymm4,%ymm6");3319asm volatile("vmovdqa32 %zmm5,%zmm6");3320asm volatile("vmovdqa64 %zmm5,%zmm6");3321asm volatile("vmovdqu %ymm4,%ymm6");3322asm volatile("vmovdqu32 %zmm5,%zmm6");3323asm volatile("vmovdqu64 %zmm5,%zmm6");3324asm volatile("vmovdqu8 %zmm5,%zmm6");3325asm volatile("vmovdqu16 %zmm5,%zmm6");33263327/* AVX-512: Op code 0f 78 */33283329asm volatile("vmread %eax,%ebx");3330asm volatile("vcvttps2udq %zmm5,%zmm6");3331asm volatile("vcvttpd2udq %zmm5,%ymm6{%k7}");3332asm volatile("vcvttsd2usi %xmm6,%eax");3333asm volatile("vcvttss2usi %xmm6,%eax");3334asm volatile("vcvttps2uqq %ymm5,%zmm6{%k7}");3335asm volatile("vcvttpd2uqq %zmm5,%zmm6");33363337/* AVX-512: Op code 0f 79 */33383339asm volatile("vmwrite %eax,%ebx");3340asm volatile("vcvtps2udq %zmm5,%zmm6");3341asm volatile("vcvtpd2udq %zmm5,%ymm6{%k7}");3342asm volatile("vcvtsd2usi %xmm6,%eax");3343asm volatile("vcvtss2usi %xmm6,%eax");3344asm volatile("vcvtps2uqq %ymm5,%zmm6{%k7}");3345asm volatile("vcvtpd2uqq %zmm5,%zmm6");33463347/* AVX-512: Op code 0f 7a */33483349asm volatile("vcvtudq2pd %ymm5,%zmm6{%k7}");3350asm volatile("vcvtuqq2pd %zmm5,%zmm6");3351asm volatile("vcvtudq2ps %zmm5,%zmm6");3352asm volatile("vcvtuqq2ps %zmm5,%ymm6{%k7}");3353asm volatile("vcvttps2qq %ymm5,%zmm6{%k7}");3354asm volatile("vcvttpd2qq %zmm5,%zmm6");33553356/* AVX-512: Op code 0f 7b */33573358asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");3359asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");3360asm volatile("vcvtps2qq %ymm5,%zmm6{%k7}");3361asm volatile("vcvtpd2qq %zmm5,%zmm6");33623363/* AVX-512: Op code 0f 7f */33643365asm volatile("movq.s %mm0,%mm4");3366asm volatile("vmovdqa.s %ymm5,%ymm6");3367asm volatile("vmovdqa32.s %zmm5,%zmm6");3368asm volatile("vmovdqa64.s %zmm5,%zmm6");3369asm volatile("vmovdqu.s %ymm5,%ymm6");3370asm volatile("vmovdqu32.s %zmm5,%zmm6");3371asm volatile("vmovdqu64.s %zmm5,%zmm6");3372asm volatile("vmovdqu8.s %zmm5,%zmm6");3373asm volatile("vmovdqu16.s %zmm5,%zmm6");33743375/* AVX-512: Op code 0f db */33763377asm volatile("pand %mm1,%mm2");3378asm volatile("pand %xmm1,%xmm2");3379asm volatile("vpand %ymm4,%ymm6,%ymm2");3380asm volatile("vpandd %zmm4,%zmm5,%zmm6");3381asm volatile("vpandq %zmm4,%zmm5,%zmm6");33823383/* AVX-512: Op code 0f df */33843385asm volatile("pandn %mm1,%mm2");3386asm volatile("pandn %xmm1,%xmm2");3387asm volatile("vpandn %ymm4,%ymm6,%ymm2");3388asm volatile("vpandnd %zmm4,%zmm5,%zmm6");3389asm volatile("vpandnq %zmm4,%zmm5,%zmm6");33903391/* AVX-512: Op code 0f e6 */33923393asm volatile("vcvttpd2dq %xmm1,%xmm2");3394asm volatile("vcvtdq2pd %xmm5,%xmm6");3395asm volatile("vcvtdq2pd %ymm5,%zmm6{%k7}");3396asm volatile("vcvtqq2pd %zmm5,%zmm6");3397asm volatile("vcvtpd2dq %xmm1,%xmm2");33983399/* AVX-512: Op code 0f eb */34003401asm volatile("por %mm4,%mm6");3402asm volatile("vpor %ymm4,%ymm6,%ymm2");3403asm volatile("vpord %zmm4,%zmm5,%zmm6");3404asm volatile("vporq %zmm4,%zmm5,%zmm6");34053406/* AVX-512: Op code 0f ef */34073408asm volatile("pxor %mm4,%mm6");3409asm volatile("vpxor %ymm4,%ymm6,%ymm2");3410asm volatile("vpxord %zmm4,%zmm5,%zmm6");3411asm volatile("vpxorq %zmm4,%zmm5,%zmm6");34123413/* AVX-512: Op code 0f 38 10 */34143415asm volatile("pblendvb %xmm1,%xmm0");3416asm volatile("vpsrlvw %zmm4,%zmm5,%zmm6");3417asm volatile("vpmovuswb %zmm5,%ymm6{%k7}");34183419/* AVX-512: Op code 0f 38 11 */34203421asm volatile("vpmovusdb %zmm5,%xmm6{%k7}");3422asm volatile("vpsravw %zmm4,%zmm5,%zmm6");34233424/* AVX-512: Op code 0f 38 12 */34253426asm volatile("vpmovusqb %zmm5,%xmm6{%k7}");3427asm volatile("vpsllvw %zmm4,%zmm5,%zmm6");34283429/* AVX-512: Op code 0f 38 13 */34303431asm volatile("vcvtph2ps %xmm3,%ymm5");3432asm volatile("vcvtph2ps %ymm5,%zmm6{%k7}");3433asm volatile("vpmovusdw %zmm5,%ymm6{%k7}");34343435/* AVX-512: Op code 0f 38 14 */34363437asm volatile("blendvps %xmm1,%xmm0");3438asm volatile("vpmovusqw %zmm5,%xmm6{%k7}");3439asm volatile("vprorvd %zmm4,%zmm5,%zmm6");3440asm volatile("vprorvq %zmm4,%zmm5,%zmm6");34413442/* AVX-512: Op code 0f 38 15 */34433444asm volatile("blendvpd %xmm1,%xmm0");3445asm volatile("vpmovusqd %zmm5,%ymm6{%k7}");3446asm volatile("vprolvd %zmm4,%zmm5,%zmm6");3447asm volatile("vprolvq %zmm4,%zmm5,%zmm6");34483449/* AVX-512: Op code 0f 38 16 */34503451asm volatile("vpermps %ymm4,%ymm6,%ymm2");3452asm volatile("vpermps %ymm4,%ymm6,%ymm2{%k7}");3453asm volatile("vpermpd %ymm4,%ymm6,%ymm2{%k7}");34543455/* AVX-512: Op code 0f 38 19 */34563457asm volatile("vbroadcastsd %xmm4,%ymm6");3458asm volatile("vbroadcastf32x2 %xmm7,%zmm6");34593460/* AVX-512: Op code 0f 38 1a */34613462asm volatile("vbroadcastf128 (%ecx),%ymm4");3463asm volatile("vbroadcastf32x4 (%ecx),%zmm6");3464asm volatile("vbroadcastf64x2 (%ecx),%zmm6");34653466/* AVX-512: Op code 0f 38 1b */34673468asm volatile("vbroadcastf32x8 (%ecx),%zmm6");3469asm volatile("vbroadcastf64x4 (%ecx),%zmm6");34703471/* AVX-512: Op code 0f 38 1f */34723473asm volatile("vpabsq %zmm4,%zmm6");34743475/* AVX-512: Op code 0f 38 20 */34763477asm volatile("vpmovsxbw %xmm4,%xmm5");3478asm volatile("vpmovswb %zmm5,%ymm6{%k7}");34793480/* AVX-512: Op code 0f 38 21 */34813482asm volatile("vpmovsxbd %xmm4,%ymm6");3483asm volatile("vpmovsdb %zmm5,%xmm6{%k7}");34843485/* AVX-512: Op code 0f 38 22 */34863487asm volatile("vpmovsxbq %xmm4,%ymm4");3488asm volatile("vpmovsqb %zmm5,%xmm6{%k7}");34893490/* AVX-512: Op code 0f 38 23 */34913492asm volatile("vpmovsxwd %xmm4,%ymm4");3493asm volatile("vpmovsdw %zmm5,%ymm6{%k7}");34943495/* AVX-512: Op code 0f 38 24 */34963497asm volatile("vpmovsxwq %xmm4,%ymm6");3498asm volatile("vpmovsqw %zmm5,%xmm6{%k7}");34993500/* AVX-512: Op code 0f 38 25 */35013502asm volatile("vpmovsxdq %xmm4,%ymm4");3503asm volatile("vpmovsqd %zmm5,%ymm6{%k7}");35043505/* AVX-512: Op code 0f 38 26 */35063507asm volatile("vptestmb %zmm5,%zmm6,%k5");3508asm volatile("vptestmw %zmm5,%zmm6,%k5");3509asm volatile("vptestnmb %zmm4,%zmm5,%k5");3510asm volatile("vptestnmw %zmm4,%zmm5,%k5");35113512/* AVX-512: Op code 0f 38 27 */35133514asm volatile("vptestmd %zmm5,%zmm6,%k5");3515asm volatile("vptestmq %zmm5,%zmm6,%k5");3516asm volatile("vptestnmd %zmm4,%zmm5,%k5");3517asm volatile("vptestnmq %zmm4,%zmm5,%k5");35183519/* AVX-512: Op code 0f 38 28 */35203521asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");3522asm volatile("vpmovm2b %k5,%zmm6");3523asm volatile("vpmovm2w %k5,%zmm6");35243525/* AVX-512: Op code 0f 38 29 */35263527asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");3528asm volatile("vpmovb2m %zmm6,%k5");3529asm volatile("vpmovw2m %zmm6,%k5");35303531/* AVX-512: Op code 0f 38 2a */35323533asm volatile("vmovntdqa (%ecx),%ymm4");3534asm volatile("vpbroadcastmb2q %k6,%zmm1");35353536/* AVX-512: Op code 0f 38 2c */35373538asm volatile("vmaskmovps (%ecx),%ymm4,%ymm6");3539asm volatile("vscalefps %zmm4,%zmm5,%zmm6");3540asm volatile("vscalefpd %zmm4,%zmm5,%zmm6");35413542/* AVX-512: Op code 0f 38 2d */35433544asm volatile("vmaskmovpd (%ecx),%ymm4,%ymm6");3545asm volatile("vscalefss %xmm4,%xmm5,%xmm6{%k7}");3546asm volatile("vscalefsd %xmm4,%xmm5,%xmm6{%k7}");35473548/* AVX-512: Op code 0f 38 30 */35493550asm volatile("vpmovzxbw %xmm4,%ymm4");3551asm volatile("vpmovwb %zmm5,%ymm6{%k7}");35523553/* AVX-512: Op code 0f 38 31 */35543555asm volatile("vpmovzxbd %xmm4,%ymm6");3556asm volatile("vpmovdb %zmm5,%xmm6{%k7}");35573558/* AVX-512: Op code 0f 38 32 */35593560asm volatile("vpmovzxbq %xmm4,%ymm4");3561asm volatile("vpmovqb %zmm5,%xmm6{%k7}");35623563/* AVX-512: Op code 0f 38 33 */35643565asm volatile("vpmovzxwd %xmm4,%ymm4");3566asm volatile("vpmovdw %zmm5,%ymm6{%k7}");35673568/* AVX-512: Op code 0f 38 34 */35693570asm volatile("vpmovzxwq %xmm4,%ymm6");3571asm volatile("vpmovqw %zmm5,%xmm6{%k7}");35723573/* AVX-512: Op code 0f 38 35 */35743575asm volatile("vpmovzxdq %xmm4,%ymm4");3576asm volatile("vpmovqd %zmm5,%ymm6{%k7}");35773578/* AVX-512: Op code 0f 38 36 */35793580asm volatile("vpermd %ymm4,%ymm6,%ymm2");3581asm volatile("vpermd %ymm4,%ymm6,%ymm2{%k7}");3582asm volatile("vpermq %ymm4,%ymm6,%ymm2{%k7}");35833584/* AVX-512: Op code 0f 38 38 */35853586asm volatile("vpminsb %ymm4,%ymm6,%ymm2");3587asm volatile("vpmovm2d %k5,%zmm6");3588asm volatile("vpmovm2q %k5,%zmm6");35893590/* AVX-512: Op code 0f 38 39 */35913592asm volatile("vpminsd %xmm1,%xmm2,%xmm3");3593asm volatile("vpminsd %zmm4,%zmm5,%zmm6");3594asm volatile("vpminsq %zmm4,%zmm5,%zmm6");3595asm volatile("vpmovd2m %zmm6,%k5");3596asm volatile("vpmovq2m %zmm6,%k5");35973598/* AVX-512: Op code 0f 38 3a */35993600asm volatile("vpminuw %ymm4,%ymm6,%ymm2");3601asm volatile("vpbroadcastmw2d %k6,%zmm6");36023603/* AVX-512: Op code 0f 38 3b */36043605asm volatile("vpminud %ymm4,%ymm6,%ymm2");3606asm volatile("vpminud %zmm4,%zmm5,%zmm6");3607asm volatile("vpminuq %zmm4,%zmm5,%zmm6");36083609/* AVX-512: Op code 0f 38 3d */36103611asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");3612asm volatile("vpmaxsd %zmm4,%zmm5,%zmm6");3613asm volatile("vpmaxsq %zmm4,%zmm5,%zmm6");36143615/* AVX-512: Op code 0f 38 3f */36163617asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");3618asm volatile("vpmaxud %zmm4,%zmm5,%zmm6");3619asm volatile("vpmaxuq %zmm4,%zmm5,%zmm6");36203621/* AVX-512: Op code 0f 38 40 */36223623asm volatile("vpmulld %ymm4,%ymm6,%ymm2");3624asm volatile("vpmulld %zmm4,%zmm5,%zmm6");3625asm volatile("vpmullq %zmm4,%zmm5,%zmm6");36263627/* AVX-512: Op code 0f 38 42 */36283629asm volatile("vgetexpps %zmm5,%zmm6");3630asm volatile("vgetexppd %zmm5,%zmm6");36313632/* AVX-512: Op code 0f 38 43 */36333634asm volatile("vgetexpss %xmm4,%xmm5,%xmm6{%k7}");3635asm volatile("vgetexpsd %xmm2,%xmm3,%xmm4{%k7}");36363637/* AVX-512: Op code 0f 38 44 */36383639asm volatile("vplzcntd %zmm5,%zmm6");3640asm volatile("vplzcntq %zmm5,%zmm6");36413642/* AVX-512: Op code 0f 38 46 */36433644asm volatile("vpsravd %ymm4,%ymm6,%ymm2");3645asm volatile("vpsravd %zmm4,%zmm5,%zmm6");3646asm volatile("vpsravq %zmm4,%zmm5,%zmm6");36473648/* AVX-512: Op code 0f 38 4c */36493650asm volatile("vrcp14ps %zmm5,%zmm6");3651asm volatile("vrcp14pd %zmm5,%zmm6");36523653/* AVX-512: Op code 0f 38 4d */36543655asm volatile("vrcp14ss %xmm4,%xmm5,%xmm6{%k7}");3656asm volatile("vrcp14sd %xmm4,%xmm5,%xmm6{%k7}");36573658/* AVX-512: Op code 0f 38 4e */36593660asm volatile("vrsqrt14ps %zmm5,%zmm6");3661asm volatile("vrsqrt14pd %zmm5,%zmm6");36623663/* AVX-512: Op code 0f 38 4f */36643665asm volatile("vrsqrt14ss %xmm4,%xmm5,%xmm6{%k7}");3666asm volatile("vrsqrt14sd %xmm4,%xmm5,%xmm6{%k7}");36673668/* AVX-512: Op code 0f 38 50 */36693670asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");3671asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");3672asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");3673asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");36743675/* AVX-512: Op code 0f 38 51 */36763677asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");3678asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");3679asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");3680asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");36813682/* AVX-512: Op code 0f 38 52 */36833684asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");3685asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");3686asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");3687asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");36883689asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");3690asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");3691asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");3692asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");36933694asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");3695asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");36963697/* AVX-512: Op code 0f 38 53 */36983699asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");3700asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");3701asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");3702asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");37033704asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");3705asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");37063707/* AVX-512: Op code 0f 38 54 */37083709asm volatile("vpopcntb %xmm1, %xmm2");3710asm volatile("vpopcntb %ymm1, %ymm2");3711asm volatile("vpopcntb %zmm1, %zmm2");3712asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");37133714asm volatile("vpopcntw %xmm1, %xmm2");3715asm volatile("vpopcntw %ymm1, %ymm2");3716asm volatile("vpopcntw %zmm1, %zmm2");3717asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");37183719/* AVX-512: Op code 0f 38 55 */37203721asm volatile("vpopcntd %xmm1, %xmm2");3722asm volatile("vpopcntd %ymm1, %ymm2");3723asm volatile("vpopcntd %zmm1, %zmm2");3724asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");37253726asm volatile("vpopcntq %xmm1, %xmm2");3727asm volatile("vpopcntq %ymm1, %ymm2");3728asm volatile("vpopcntq %zmm1, %zmm2");3729asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");37303731/* AVX-512: Op code 0f 38 59 */37323733asm volatile("vpbroadcastq %xmm4,%xmm6");3734asm volatile("vbroadcasti32x2 %xmm7,%zmm6");37353736/* AVX-512: Op code 0f 38 5a */37373738asm volatile("vbroadcasti128 (%ecx),%ymm4");3739asm volatile("vbroadcasti32x4 (%ecx),%zmm6");3740asm volatile("vbroadcasti64x2 (%ecx),%zmm6");37413742/* AVX-512: Op code 0f 38 5b */37433744asm volatile("vbroadcasti32x8 (%ecx),%zmm6");3745asm volatile("vbroadcasti64x4 (%ecx),%zmm6");37463747/* AVX-512: Op code 0f 38 62 */37483749asm volatile("vpexpandb %xmm1, %xmm2");3750asm volatile("vpexpandb %ymm1, %ymm2");3751asm volatile("vpexpandb %zmm1, %zmm2");3752asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");37533754asm volatile("vpexpandw %xmm1, %xmm2");3755asm volatile("vpexpandw %ymm1, %ymm2");3756asm volatile("vpexpandw %zmm1, %zmm2");3757asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");37583759/* AVX-512: Op code 0f 38 63 */37603761asm volatile("vpcompressb %xmm1, %xmm2");3762asm volatile("vpcompressb %ymm1, %ymm2");3763asm volatile("vpcompressb %zmm1, %zmm2");3764asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");37653766asm volatile("vpcompressw %xmm1, %xmm2");3767asm volatile("vpcompressw %ymm1, %ymm2");3768asm volatile("vpcompressw %zmm1, %zmm2");3769asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");37703771/* AVX-512: Op code 0f 38 64 */37723773asm volatile("vpblendmd %zmm4,%zmm5,%zmm6");3774asm volatile("vpblendmq %zmm4,%zmm5,%zmm6");37753776/* AVX-512: Op code 0f 38 65 */37773778asm volatile("vblendmps %zmm4,%zmm5,%zmm6");3779asm volatile("vblendmpd %zmm4,%zmm5,%zmm6");37803781/* AVX-512: Op code 0f 38 66 */37823783asm volatile("vpblendmb %zmm4,%zmm5,%zmm6");3784asm volatile("vpblendmw %zmm4,%zmm5,%zmm6");37853786/* AVX-512: Op code 0f 38 68 */37873788asm volatile("vp2intersectd %xmm1, %xmm2, %k3");3789asm volatile("vp2intersectd %ymm1, %ymm2, %k3");3790asm volatile("vp2intersectd %zmm1, %zmm2, %k3");3791asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");37923793asm volatile("vp2intersectq %xmm1, %xmm2, %k3");3794asm volatile("vp2intersectq %ymm1, %ymm2, %k3");3795asm volatile("vp2intersectq %zmm1, %zmm2, %k3");3796asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");37973798/* AVX-512: Op code 0f 38 70 */37993800asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");3801asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");3802asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");3803asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38043805/* AVX-512: Op code 0f 38 71 */38063807asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");3808asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");3809asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");3810asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38113812asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");3813asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");3814asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");3815asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38163817/* AVX-512: Op code 0f 38 72 */38183819asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");3820asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");3821asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");3822asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38233824asm volatile("vcvtneps2bf16 %xmm1, %xmm2");3825asm volatile("vcvtneps2bf16 %ymm1, %xmm2");3826asm volatile("vcvtneps2bf16 %zmm1, %ymm2");3827asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");38283829asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");3830asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");3831asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");3832asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38333834/* AVX-512: Op code 0f 38 73 */38353836asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");3837asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");3838asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");3839asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38403841asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");3842asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");3843asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");3844asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");38453846/* AVX-512: Op code 0f 38 75 */38473848asm volatile("vpermi2b %zmm4,%zmm5,%zmm6");3849asm volatile("vpermi2w %zmm4,%zmm5,%zmm6");38503851/* AVX-512: Op code 0f 38 76 */38523853asm volatile("vpermi2d %zmm4,%zmm5,%zmm6");3854asm volatile("vpermi2q %zmm4,%zmm5,%zmm6");38553856/* AVX-512: Op code 0f 38 77 */38573858asm volatile("vpermi2ps %zmm4,%zmm5,%zmm6");3859asm volatile("vpermi2pd %zmm4,%zmm5,%zmm6");38603861/* AVX-512: Op code 0f 38 7a */38623863asm volatile("vpbroadcastb %eax,%xmm3");38643865/* AVX-512: Op code 0f 38 7b */38663867asm volatile("vpbroadcastw %eax,%xmm3");38683869/* AVX-512: Op code 0f 38 7c */38703871asm volatile("vpbroadcastd %eax,%xmm3");38723873/* AVX-512: Op code 0f 38 7d */38743875asm volatile("vpermt2b %zmm4,%zmm5,%zmm6");3876asm volatile("vpermt2w %zmm4,%zmm5,%zmm6");38773878/* AVX-512: Op code 0f 38 7e */38793880asm volatile("vpermt2d %zmm4,%zmm5,%zmm6");3881asm volatile("vpermt2q %zmm4,%zmm5,%zmm6");38823883/* AVX-512: Op code 0f 38 7f */38843885asm volatile("vpermt2ps %zmm4,%zmm5,%zmm6");3886asm volatile("vpermt2pd %zmm4,%zmm5,%zmm6");38873888/* AVX-512: Op code 0f 38 83 */38893890asm volatile("vpmultishiftqb %zmm4,%zmm5,%zmm6");38913892/* AVX-512: Op code 0f 38 88 */38933894asm volatile("vexpandps (%ecx),%zmm6");3895asm volatile("vexpandpd (%ecx),%zmm6");38963897/* AVX-512: Op code 0f 38 89 */38983899asm volatile("vpexpandd (%ecx),%zmm6");3900asm volatile("vpexpandq (%ecx),%zmm6");39013902/* AVX-512: Op code 0f 38 8a */39033904asm volatile("vcompressps %zmm6,(%ecx)");3905asm volatile("vcompresspd %zmm6,(%ecx)");39063907/* AVX-512: Op code 0f 38 8b */39083909asm volatile("vpcompressd %zmm6,(%ecx)");3910asm volatile("vpcompressq %zmm6,(%ecx)");39113912/* AVX-512: Op code 0f 38 8d */39133914asm volatile("vpermb %zmm4,%zmm5,%zmm6");3915asm volatile("vpermw %zmm4,%zmm5,%zmm6");39163917/* AVX-512: Op code 0f 38 8f */39183919asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");3920asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");3921asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");3922asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");39233924/* AVX-512: Op code 0f 38 90 */39253926asm volatile("vpgatherdd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");3927asm volatile("vpgatherdq %xmm2,0x04(%ebp,%xmm7,2),%xmm1");3928asm volatile("vpgatherdd 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");3929asm volatile("vpgatherdq 0x7b(%ebp,%ymm7,8),%zmm6{%k1}");39303931/* AVX-512: Op code 0f 38 91 */39323933asm volatile("vpgatherqd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");3934asm volatile("vpgatherqq %xmm2,0x02(%ebp,%xmm7,2),%xmm1");3935asm volatile("vpgatherqd 0x7b(%ebp,%zmm7,8),%ymm6{%k1}");3936asm volatile("vpgatherqq 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");39373938/* AVX-512: Op code 0f 38 9a */39393940asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");3941asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");3942asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");3943asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");39443945asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");3946asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");3947asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");3948asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");39493950asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");3951asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");39523953/* AVX-512: Op code 0f 38 9b */39543955asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");3956asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");39573958asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");3959asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");39603961asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");3962asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");39633964/* AVX-512: Op code 0f 38 a0 */39653966asm volatile("vpscatterdd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");3967asm volatile("vpscatterdq %zmm6,0x7b(%ebp,%ymm7,8){%k1}");39683969/* AVX-512: Op code 0f 38 a1 */39703971asm volatile("vpscatterqd %ymm6,0x7b(%ebp,%zmm7,8){%k1}");3972asm volatile("vpscatterqq %ymm6,0x7b(%ebp,%ymm7,8){%k1}");39733974/* AVX-512: Op code 0f 38 a2 */39753976asm volatile("vscatterdps %zmm6,0x7b(%ebp,%zmm7,8){%k1}");3977asm volatile("vscatterdpd %zmm6,0x7b(%ebp,%ymm7,8){%k1}");39783979/* AVX-512: Op code 0f 38 a3 */39803981asm volatile("vscatterqps %ymm6,0x7b(%ebp,%zmm7,8){%k1}");3982asm volatile("vscatterqpd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");39833984/* AVX-512: Op code 0f 38 aa */39853986asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");3987asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");3988asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");3989asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");39903991asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");3992asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");3993asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");3994asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");39953996asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");3997asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");39983999/* AVX-512: Op code 0f 38 ab */40004001asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");4002asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");40034004asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");4005asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");40064007asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");4008asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");40094010/* AVX-512: Op code 0f 38 b4 */40114012asm volatile("vpmadd52luq %zmm4,%zmm5,%zmm6");40134014/* AVX-512: Op code 0f 38 b5 */40154016asm volatile("vpmadd52huq %zmm4,%zmm5,%zmm6");40174018/* AVX-512: Op code 0f 38 c4 */40194020asm volatile("vpconflictd %zmm5,%zmm6");4021asm volatile("vpconflictq %zmm5,%zmm6");40224023/* AVX-512: Op code 0f 38 c8 */40244025asm volatile("vexp2ps %zmm6,%zmm7");4026asm volatile("vexp2pd %zmm6,%zmm7");40274028/* AVX-512: Op code 0f 38 ca */40294030asm volatile("vrcp28ps %zmm6,%zmm7");4031asm volatile("vrcp28pd %zmm6,%zmm7");40324033/* AVX-512: Op code 0f 38 cb */40344035asm volatile("vrcp28ss %xmm5,%xmm6,%xmm7{%k7}");4036asm volatile("vrcp28sd %xmm5,%xmm6,%xmm7{%k7}");40374038/* AVX-512: Op code 0f 38 cc */40394040asm volatile("vrsqrt28ps %zmm6,%zmm7");4041asm volatile("vrsqrt28pd %zmm6,%zmm7");40424043/* AVX-512: Op code 0f 38 cd */40444045asm volatile("vrsqrt28ss %xmm5,%xmm6,%xmm7{%k7}");4046asm volatile("vrsqrt28sd %xmm5,%xmm6,%xmm7{%k7}");40474048/* AVX-512: Op code 0f 38 cf */40494050asm volatile("gf2p8mulb %xmm1, %xmm3");4051asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");40524053asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");4054asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");4055asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");4056asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");40574058/* AVX-512: Op code 0f 38 dc */40594060asm volatile("vaesenc %xmm1, %xmm2, %xmm3");4061asm volatile("vaesenc %ymm1, %ymm2, %ymm3");4062asm volatile("vaesenc %zmm1, %zmm2, %zmm3");4063asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");40644065/* AVX-512: Op code 0f 38 dd */40664067asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");4068asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");4069asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");4070asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");40714072/* AVX-512: Op code 0f 38 de */40734074asm volatile("vaesdec %xmm1, %xmm2, %xmm3");4075asm volatile("vaesdec %ymm1, %ymm2, %ymm3");4076asm volatile("vaesdec %zmm1, %zmm2, %zmm3");4077asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");40784079/* AVX-512: Op code 0f 38 df */40804081asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");4082asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");4083asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");4084asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");40854086/* AVX-512: Op code 0f 3a 03 */40874088asm volatile("valignd $0x12,%zmm5,%zmm6,%zmm7");4089asm volatile("valignq $0x12,%zmm5,%zmm6,%zmm7");40904091/* AVX-512: Op code 0f 3a 08 */40924093asm volatile("vroundps $0x5,%ymm6,%ymm2");4094asm volatile("vrndscaleps $0x12,%zmm5,%zmm6");40954096/* AVX-512: Op code 0f 3a 09 */40974098asm volatile("vroundpd $0x5,%ymm6,%ymm2");4099asm volatile("vrndscalepd $0x12,%zmm5,%zmm6");41004101/* AVX-512: Op code 0f 3a 0a */41024103asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");4104asm volatile("vrndscaless $0x12,%xmm4,%xmm5,%xmm6{%k7}");41054106/* AVX-512: Op code 0f 3a 0b */41074108asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");4109asm volatile("vrndscalesd $0x12,%xmm4,%xmm5,%xmm6{%k7}");41104111/* AVX-512: Op code 0f 3a 18 */41124113asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");4114asm volatile("vinsertf32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");4115asm volatile("vinsertf64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");41164117/* AVX-512: Op code 0f 3a 19 */41184119asm volatile("vextractf128 $0x5,%ymm4,%xmm4");4120asm volatile("vextractf32x4 $0x12,%zmm5,%xmm6{%k7}");4121asm volatile("vextractf64x2 $0x12,%zmm5,%xmm6{%k7}");41224123/* AVX-512: Op code 0f 3a 1a */41244125asm volatile("vinsertf32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");4126asm volatile("vinsertf64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");41274128/* AVX-512: Op code 0f 3a 1b */41294130asm volatile("vextractf32x8 $0x12,%zmm6,%ymm7{%k7}");4131asm volatile("vextractf64x4 $0x12,%zmm6,%ymm7{%k7}");41324133/* AVX-512: Op code 0f 3a 1e */41344135asm volatile("vpcmpud $0x12,%zmm6,%zmm7,%k5");4136asm volatile("vpcmpuq $0x12,%zmm6,%zmm7,%k5");41374138/* AVX-512: Op code 0f 3a 1f */41394140asm volatile("vpcmpd $0x12,%zmm6,%zmm7,%k5");4141asm volatile("vpcmpq $0x12,%zmm6,%zmm7,%k5");41424143/* AVX-512: Op code 0f 3a 23 */41444145asm volatile("vshuff32x4 $0x12,%zmm5,%zmm6,%zmm7");4146asm volatile("vshuff64x2 $0x12,%zmm5,%zmm6,%zmm7");41474148/* AVX-512: Op code 0f 3a 25 */41494150asm volatile("vpternlogd $0x12,%zmm5,%zmm6,%zmm7");4151asm volatile("vpternlogq $0x12,%zmm5,%zmm6,%zmm7");41524153/* AVX-512: Op code 0f 3a 26 */41544155asm volatile("vgetmantps $0x12,%zmm6,%zmm7");4156asm volatile("vgetmantpd $0x12,%zmm6,%zmm7");41574158/* AVX-512: Op code 0f 3a 27 */41594160asm volatile("vgetmantss $0x12,%xmm5,%xmm6,%xmm7{%k7}");4161asm volatile("vgetmantsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");41624163/* AVX-512: Op code 0f 3a 38 */41644165asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");4166asm volatile("vinserti32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");4167asm volatile("vinserti64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");41684169/* AVX-512: Op code 0f 3a 39 */41704171asm volatile("vextracti128 $0x5,%ymm4,%xmm6");4172asm volatile("vextracti32x4 $0x12,%zmm5,%xmm6{%k7}");4173asm volatile("vextracti64x2 $0x12,%zmm5,%xmm6{%k7}");41744175/* AVX-512: Op code 0f 3a 3a */41764177asm volatile("vinserti32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");4178asm volatile("vinserti64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");41794180/* AVX-512: Op code 0f 3a 3b */41814182asm volatile("vextracti32x8 $0x12,%zmm6,%ymm7{%k7}");4183asm volatile("vextracti64x4 $0x12,%zmm6,%ymm7{%k7}");41844185/* AVX-512: Op code 0f 3a 3e */41864187asm volatile("vpcmpub $0x12,%zmm6,%zmm7,%k5");4188asm volatile("vpcmpuw $0x12,%zmm6,%zmm7,%k5");41894190/* AVX-512: Op code 0f 3a 3f */41914192asm volatile("vpcmpb $0x12,%zmm6,%zmm7,%k5");4193asm volatile("vpcmpw $0x12,%zmm6,%zmm7,%k5");41944195/* AVX-512: Op code 0f 3a 42 */41964197asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");4198asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");41994200/* AVX-512: Op code 0f 3a 43 */42014202asm volatile("vshufi32x4 $0x12,%zmm5,%zmm6,%zmm7");4203asm volatile("vshufi64x2 $0x12,%zmm5,%zmm6,%zmm7");42044205/* AVX-512: Op code 0f 3a 44 */42064207asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");4208asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");4209asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");42104211/* AVX-512: Op code 0f 3a 50 */42124213asm volatile("vrangeps $0x12,%zmm5,%zmm6,%zmm7");4214asm volatile("vrangepd $0x12,%zmm5,%zmm6,%zmm7");42154216/* AVX-512: Op code 0f 3a 51 */42174218asm volatile("vrangess $0x12,%xmm5,%xmm6,%xmm7");4219asm volatile("vrangesd $0x12,%xmm5,%xmm6,%xmm7");42204221/* AVX-512: Op code 0f 3a 54 */42224223asm volatile("vfixupimmps $0x12,%zmm5,%zmm6,%zmm7");4224asm volatile("vfixupimmpd $0x12,%zmm5,%zmm6,%zmm7");42254226/* AVX-512: Op code 0f 3a 55 */42274228asm volatile("vfixupimmss $0x12,%xmm5,%xmm6,%xmm7{%k7}");4229asm volatile("vfixupimmsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");42304231/* AVX-512: Op code 0f 3a 56 */42324233asm volatile("vreduceps $0x12,%zmm6,%zmm7");4234asm volatile("vreducepd $0x12,%zmm6,%zmm7");42354236/* AVX-512: Op code 0f 3a 57 */42374238asm volatile("vreducess $0x12,%xmm5,%xmm6,%xmm7");4239asm volatile("vreducesd $0x12,%xmm5,%xmm6,%xmm7");42404241/* AVX-512: Op code 0f 3a 66 */42424243asm volatile("vfpclassps $0x12,%zmm7,%k5");4244asm volatile("vfpclasspd $0x12,%zmm7,%k5");42454246/* AVX-512: Op code 0f 3a 67 */42474248asm volatile("vfpclassss $0x12,%xmm7,%k5");4249asm volatile("vfpclasssd $0x12,%xmm7,%k5");42504251/* AVX-512: Op code 0f 3a 70 */42524253asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");4254asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");4255asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");42564257/* AVX-512: Op code 0f 3a 71 */42584259asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");4260asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");4261asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");42624263asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");4264asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");4265asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");42664267/* AVX-512: Op code 0f 3a 72 */42684269asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");4270asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");4271asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");42724273/* AVX-512: Op code 0f 3a 73 */42744275asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");4276asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");4277asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");42784279asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");4280asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");4281asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");42824283/* AVX-512: Op code 0f 3a ce */42844285asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");42864287asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");4288asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");4289asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");42904291/* AVX-512: Op code 0f 3a cf */42924293asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");42944295asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");4296asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");4297asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");42984299/* AVX-512: Op code 0f 72 (Grp13) */43004301asm volatile("vprord $0x12,%zmm5,%zmm6");4302asm volatile("vprorq $0x12,%zmm5,%zmm6");4303asm volatile("vprold $0x12,%zmm5,%zmm6");4304asm volatile("vprolq $0x12,%zmm5,%zmm6");4305asm volatile("psrad $0x2,%mm6");4306asm volatile("vpsrad $0x5,%ymm6,%ymm2");4307asm volatile("vpsrad $0x5,%zmm6,%zmm2");4308asm volatile("vpsraq $0x5,%zmm6,%zmm2");43094310/* AVX-512: Op code 0f 38 c6 (Grp18) */43114312asm volatile("vgatherpf0dps 0x7b(%ebp,%zmm7,8){%k1}");4313asm volatile("vgatherpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");4314asm volatile("vgatherpf1dps 0x7b(%ebp,%zmm7,8){%k1}");4315asm volatile("vgatherpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");4316asm volatile("vscatterpf0dps 0x7b(%ebp,%zmm7,8){%k1}");4317asm volatile("vscatterpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");4318asm volatile("vscatterpf1dps 0x7b(%ebp,%zmm7,8){%k1}");4319asm volatile("vscatterpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");43204321/* AVX-512: Op code 0f 38 c7 (Grp19) */43224323asm volatile("vgatherpf0qps 0x7b(%ebp,%zmm7,8){%k1}");4324asm volatile("vgatherpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");4325asm volatile("vgatherpf1qps 0x7b(%ebp,%zmm7,8){%k1}");4326asm volatile("vgatherpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");4327asm volatile("vscatterpf0qps 0x7b(%ebp,%zmm7,8){%k1}");4328asm volatile("vscatterpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");4329asm volatile("vscatterpf1qps 0x7b(%ebp,%zmm7,8){%k1}");4330asm volatile("vscatterpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");43314332/* AVX-512: Examples */43334334asm volatile("vaddpd %zmm4,%zmm5,%zmm6");4335asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}");4336asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}{z}");4337asm volatile("vaddpd {rn-sae},%zmm4,%zmm5,%zmm6");4338asm volatile("vaddpd {ru-sae},%zmm4,%zmm5,%zmm6");4339asm volatile("vaddpd {rd-sae},%zmm4,%zmm5,%zmm6");4340asm volatile("vaddpd {rz-sae},%zmm4,%zmm5,%zmm6");4341asm volatile("vaddpd (%ecx),%zmm5,%zmm6");4342asm volatile("vaddpd 0x123(%eax,%ecx,8),%zmm5,%zmm6");4343asm volatile("vaddpd (%ecx){1to8},%zmm5,%zmm6");4344asm volatile("vaddpd 0x1fc0(%edx),%zmm5,%zmm6");4345asm volatile("vaddpd 0x3f8(%edx){1to8},%zmm5,%zmm6");4346asm volatile("vcmpeq_uqps 0x1fc(%edx){1to16},%zmm6,%k5");4347asm volatile("vcmpltsd 0x123(%eax,%ecx,8),%xmm3,%k5{%k7}");4348asm volatile("vcmplesd {sae},%xmm4,%xmm5,%k5{%k7}");4349asm volatile("vgetmantss $0x5b,0x123(%eax,%ecx,8),%xmm4,%xmm5{%k7}");43504351/* bndmk m32, bnd */43524353asm volatile("bndmk (%eax), %bnd0");4354asm volatile("bndmk (0x12345678), %bnd0");4355asm volatile("bndmk (%eax), %bnd3");4356asm volatile("bndmk (%ecx,%eax,1), %bnd0");4357asm volatile("bndmk 0x12345678(,%eax,1), %bnd0");4358asm volatile("bndmk (%eax,%ecx,1), %bnd0");4359asm volatile("bndmk (%eax,%ecx,8), %bnd0");4360asm volatile("bndmk 0x12(%eax), %bnd0");4361asm volatile("bndmk 0x12(%ebp), %bnd0");4362asm volatile("bndmk 0x12(%ecx,%eax,1), %bnd0");4363asm volatile("bndmk 0x12(%ebp,%eax,1), %bnd0");4364asm volatile("bndmk 0x12(%eax,%ecx,1), %bnd0");4365asm volatile("bndmk 0x12(%eax,%ecx,8), %bnd0");4366asm volatile("bndmk 0x12345678(%eax), %bnd0");4367asm volatile("bndmk 0x12345678(%ebp), %bnd0");4368asm volatile("bndmk 0x12345678(%ecx,%eax,1), %bnd0");4369asm volatile("bndmk 0x12345678(%ebp,%eax,1), %bnd0");4370asm volatile("bndmk 0x12345678(%eax,%ecx,1), %bnd0");4371asm volatile("bndmk 0x12345678(%eax,%ecx,8), %bnd0");43724373/* bndcl r/m32, bnd */43744375asm volatile("bndcl (%eax), %bnd0");4376asm volatile("bndcl (0x12345678), %bnd0");4377asm volatile("bndcl (%eax), %bnd3");4378asm volatile("bndcl (%ecx,%eax,1), %bnd0");4379asm volatile("bndcl 0x12345678(,%eax,1), %bnd0");4380asm volatile("bndcl (%eax,%ecx,1), %bnd0");4381asm volatile("bndcl (%eax,%ecx,8), %bnd0");4382asm volatile("bndcl 0x12(%eax), %bnd0");4383asm volatile("bndcl 0x12(%ebp), %bnd0");4384asm volatile("bndcl 0x12(%ecx,%eax,1), %bnd0");4385asm volatile("bndcl 0x12(%ebp,%eax,1), %bnd0");4386asm volatile("bndcl 0x12(%eax,%ecx,1), %bnd0");4387asm volatile("bndcl 0x12(%eax,%ecx,8), %bnd0");4388asm volatile("bndcl 0x12345678(%eax), %bnd0");4389asm volatile("bndcl 0x12345678(%ebp), %bnd0");4390asm volatile("bndcl 0x12345678(%ecx,%eax,1), %bnd0");4391asm volatile("bndcl 0x12345678(%ebp,%eax,1), %bnd0");4392asm volatile("bndcl 0x12345678(%eax,%ecx,1), %bnd0");4393asm volatile("bndcl 0x12345678(%eax,%ecx,8), %bnd0");4394asm volatile("bndcl %eax, %bnd0");43954396/* bndcu r/m32, bnd */43974398asm volatile("bndcu (%eax), %bnd0");4399asm volatile("bndcu (0x12345678), %bnd0");4400asm volatile("bndcu (%eax), %bnd3");4401asm volatile("bndcu (%ecx,%eax,1), %bnd0");4402asm volatile("bndcu 0x12345678(,%eax,1), %bnd0");4403asm volatile("bndcu (%eax,%ecx,1), %bnd0");4404asm volatile("bndcu (%eax,%ecx,8), %bnd0");4405asm volatile("bndcu 0x12(%eax), %bnd0");4406asm volatile("bndcu 0x12(%ebp), %bnd0");4407asm volatile("bndcu 0x12(%ecx,%eax,1), %bnd0");4408asm volatile("bndcu 0x12(%ebp,%eax,1), %bnd0");4409asm volatile("bndcu 0x12(%eax,%ecx,1), %bnd0");4410asm volatile("bndcu 0x12(%eax,%ecx,8), %bnd0");4411asm volatile("bndcu 0x12345678(%eax), %bnd0");4412asm volatile("bndcu 0x12345678(%ebp), %bnd0");4413asm volatile("bndcu 0x12345678(%ecx,%eax,1), %bnd0");4414asm volatile("bndcu 0x12345678(%ebp,%eax,1), %bnd0");4415asm volatile("bndcu 0x12345678(%eax,%ecx,1), %bnd0");4416asm volatile("bndcu 0x12345678(%eax,%ecx,8), %bnd0");4417asm volatile("bndcu %eax, %bnd0");44184419/* bndcn r/m32, bnd */44204421asm volatile("bndcn (%eax), %bnd0");4422asm volatile("bndcn (0x12345678), %bnd0");4423asm volatile("bndcn (%eax), %bnd3");4424asm volatile("bndcn (%ecx,%eax,1), %bnd0");4425asm volatile("bndcn 0x12345678(,%eax,1), %bnd0");4426asm volatile("bndcn (%eax,%ecx,1), %bnd0");4427asm volatile("bndcn (%eax,%ecx,8), %bnd0");4428asm volatile("bndcn 0x12(%eax), %bnd0");4429asm volatile("bndcn 0x12(%ebp), %bnd0");4430asm volatile("bndcn 0x12(%ecx,%eax,1), %bnd0");4431asm volatile("bndcn 0x12(%ebp,%eax,1), %bnd0");4432asm volatile("bndcn 0x12(%eax,%ecx,1), %bnd0");4433asm volatile("bndcn 0x12(%eax,%ecx,8), %bnd0");4434asm volatile("bndcn 0x12345678(%eax), %bnd0");4435asm volatile("bndcn 0x12345678(%ebp), %bnd0");4436asm volatile("bndcn 0x12345678(%ecx,%eax,1), %bnd0");4437asm volatile("bndcn 0x12345678(%ebp,%eax,1), %bnd0");4438asm volatile("bndcn 0x12345678(%eax,%ecx,1), %bnd0");4439asm volatile("bndcn 0x12345678(%eax,%ecx,8), %bnd0");4440asm volatile("bndcn %eax, %bnd0");44414442/* bndmov m64, bnd */44434444asm volatile("bndmov (%eax), %bnd0");4445asm volatile("bndmov (0x12345678), %bnd0");4446asm volatile("bndmov (%eax), %bnd3");4447asm volatile("bndmov (%ecx,%eax,1), %bnd0");4448asm volatile("bndmov 0x12345678(,%eax,1), %bnd0");4449asm volatile("bndmov (%eax,%ecx,1), %bnd0");4450asm volatile("bndmov (%eax,%ecx,8), %bnd0");4451asm volatile("bndmov 0x12(%eax), %bnd0");4452asm volatile("bndmov 0x12(%ebp), %bnd0");4453asm volatile("bndmov 0x12(%ecx,%eax,1), %bnd0");4454asm volatile("bndmov 0x12(%ebp,%eax,1), %bnd0");4455asm volatile("bndmov 0x12(%eax,%ecx,1), %bnd0");4456asm volatile("bndmov 0x12(%eax,%ecx,8), %bnd0");4457asm volatile("bndmov 0x12345678(%eax), %bnd0");4458asm volatile("bndmov 0x12345678(%ebp), %bnd0");4459asm volatile("bndmov 0x12345678(%ecx,%eax,1), %bnd0");4460asm volatile("bndmov 0x12345678(%ebp,%eax,1), %bnd0");4461asm volatile("bndmov 0x12345678(%eax,%ecx,1), %bnd0");4462asm volatile("bndmov 0x12345678(%eax,%ecx,8), %bnd0");44634464/* bndmov bnd, m64 */44654466asm volatile("bndmov %bnd0, (%eax)");4467asm volatile("bndmov %bnd0, (0x12345678)");4468asm volatile("bndmov %bnd3, (%eax)");4469asm volatile("bndmov %bnd0, (%ecx,%eax,1)");4470asm volatile("bndmov %bnd0, 0x12345678(,%eax,1)");4471asm volatile("bndmov %bnd0, (%eax,%ecx,1)");4472asm volatile("bndmov %bnd0, (%eax,%ecx,8)");4473asm volatile("bndmov %bnd0, 0x12(%eax)");4474asm volatile("bndmov %bnd0, 0x12(%ebp)");4475asm volatile("bndmov %bnd0, 0x12(%ecx,%eax,1)");4476asm volatile("bndmov %bnd0, 0x12(%ebp,%eax,1)");4477asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,1)");4478asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,8)");4479asm volatile("bndmov %bnd0, 0x12345678(%eax)");4480asm volatile("bndmov %bnd0, 0x12345678(%ebp)");4481asm volatile("bndmov %bnd0, 0x12345678(%ecx,%eax,1)");4482asm volatile("bndmov %bnd0, 0x12345678(%ebp,%eax,1)");4483asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,1)");4484asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,8)");44854486/* bndmov bnd2, bnd1 */44874488asm volatile("bndmov %bnd0, %bnd1");4489asm volatile("bndmov %bnd1, %bnd0");44904491/* bndldx mib, bnd */44924493asm volatile("bndldx (%eax), %bnd0");4494asm volatile("bndldx (0x12345678), %bnd0");4495asm volatile("bndldx (%eax), %bnd3");4496asm volatile("bndldx (%ecx,%eax,1), %bnd0");4497asm volatile("bndldx 0x12345678(,%eax,1), %bnd0");4498asm volatile("bndldx (%eax,%ecx,1), %bnd0");4499asm volatile("bndldx 0x12(%eax), %bnd0");4500asm volatile("bndldx 0x12(%ebp), %bnd0");4501asm volatile("bndldx 0x12(%ecx,%eax,1), %bnd0");4502asm volatile("bndldx 0x12(%ebp,%eax,1), %bnd0");4503asm volatile("bndldx 0x12(%eax,%ecx,1), %bnd0");4504asm volatile("bndldx 0x12345678(%eax), %bnd0");4505asm volatile("bndldx 0x12345678(%ebp), %bnd0");4506asm volatile("bndldx 0x12345678(%ecx,%eax,1), %bnd0");4507asm volatile("bndldx 0x12345678(%ebp,%eax,1), %bnd0");4508asm volatile("bndldx 0x12345678(%eax,%ecx,1), %bnd0");45094510/* bndstx bnd, mib */45114512asm volatile("bndstx %bnd0, (%eax)");4513asm volatile("bndstx %bnd0, (0x12345678)");4514asm volatile("bndstx %bnd3, (%eax)");4515asm volatile("bndstx %bnd0, (%ecx,%eax,1)");4516asm volatile("bndstx %bnd0, 0x12345678(,%eax,1)");4517asm volatile("bndstx %bnd0, (%eax,%ecx,1)");4518asm volatile("bndstx %bnd0, 0x12(%eax)");4519asm volatile("bndstx %bnd0, 0x12(%ebp)");4520asm volatile("bndstx %bnd0, 0x12(%ecx,%eax,1)");4521asm volatile("bndstx %bnd0, 0x12(%ebp,%eax,1)");4522asm volatile("bndstx %bnd0, 0x12(%eax,%ecx,1)");4523asm volatile("bndstx %bnd0, 0x12345678(%eax)");4524asm volatile("bndstx %bnd0, 0x12345678(%ebp)");4525asm volatile("bndstx %bnd0, 0x12345678(%ecx,%eax,1)");4526asm volatile("bndstx %bnd0, 0x12345678(%ebp,%eax,1)");4527asm volatile("bndstx %bnd0, 0x12345678(%eax,%ecx,1)");45284529/* bnd prefix on call, ret, jmp and all jcc */45304531asm volatile("bnd call label1"); /* Expecting: call unconditional 0xfffffffc */4532asm volatile("bnd call *(%eax)"); /* Expecting: call indirect 0 */4533asm volatile("bnd ret"); /* Expecting: ret indirect 0 */4534asm volatile("bnd jmp label1"); /* Expecting: jmp unconditional 0xfffffffc */4535asm volatile("bnd jmp label1"); /* Expecting: jmp unconditional 0xfffffffc */4536asm volatile("bnd jmp *(%ecx)"); /* Expecting: jmp indirect 0 */4537asm volatile("bnd jne label1"); /* Expecting: jcc conditional 0xfffffffc */45384539/* sha1rnds4 imm8, xmm2/m128, xmm1 */45404541asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");4542asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");4543asm volatile("sha1rnds4 $0x91, (%eax), %xmm0");4544asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");4545asm volatile("sha1rnds4 $0x91, (%eax), %xmm3");4546asm volatile("sha1rnds4 $0x91, (%ecx,%eax,1), %xmm0");4547asm volatile("sha1rnds4 $0x91, 0x12345678(,%eax,1), %xmm0");4548asm volatile("sha1rnds4 $0x91, (%eax,%ecx,1), %xmm0");4549asm volatile("sha1rnds4 $0x91, (%eax,%ecx,8), %xmm0");4550asm volatile("sha1rnds4 $0x91, 0x12(%eax), %xmm0");4551asm volatile("sha1rnds4 $0x91, 0x12(%ebp), %xmm0");4552asm volatile("sha1rnds4 $0x91, 0x12(%ecx,%eax,1), %xmm0");4553asm volatile("sha1rnds4 $0x91, 0x12(%ebp,%eax,1), %xmm0");4554asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,1), %xmm0");4555asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,8), %xmm0");4556asm volatile("sha1rnds4 $0x91, 0x12345678(%eax), %xmm0");4557asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp), %xmm0");4558asm volatile("sha1rnds4 $0x91, 0x12345678(%ecx,%eax,1), %xmm0");4559asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp,%eax,1), %xmm0");4560asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,1), %xmm0");4561asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,8), %xmm0");45624563/* sha1nexte xmm2/m128, xmm1 */45644565asm volatile("sha1nexte %xmm1, %xmm0");4566asm volatile("sha1nexte %xmm7, %xmm2");4567asm volatile("sha1nexte (%eax), %xmm0");4568asm volatile("sha1nexte (0x12345678), %xmm0");4569asm volatile("sha1nexte (%eax), %xmm3");4570asm volatile("sha1nexte (%ecx,%eax,1), %xmm0");4571asm volatile("sha1nexte 0x12345678(,%eax,1), %xmm0");4572asm volatile("sha1nexte (%eax,%ecx,1), %xmm0");4573asm volatile("sha1nexte (%eax,%ecx,8), %xmm0");4574asm volatile("sha1nexte 0x12(%eax), %xmm0");4575asm volatile("sha1nexte 0x12(%ebp), %xmm0");4576asm volatile("sha1nexte 0x12(%ecx,%eax,1), %xmm0");4577asm volatile("sha1nexte 0x12(%ebp,%eax,1), %xmm0");4578asm volatile("sha1nexte 0x12(%eax,%ecx,1), %xmm0");4579asm volatile("sha1nexte 0x12(%eax,%ecx,8), %xmm0");4580asm volatile("sha1nexte 0x12345678(%eax), %xmm0");4581asm volatile("sha1nexte 0x12345678(%ebp), %xmm0");4582asm volatile("sha1nexte 0x12345678(%ecx,%eax,1), %xmm0");4583asm volatile("sha1nexte 0x12345678(%ebp,%eax,1), %xmm0");4584asm volatile("sha1nexte 0x12345678(%eax,%ecx,1), %xmm0");4585asm volatile("sha1nexte 0x12345678(%eax,%ecx,8), %xmm0");45864587/* sha1msg1 xmm2/m128, xmm1 */45884589asm volatile("sha1msg1 %xmm1, %xmm0");4590asm volatile("sha1msg1 %xmm7, %xmm2");4591asm volatile("sha1msg1 (%eax), %xmm0");4592asm volatile("sha1msg1 (0x12345678), %xmm0");4593asm volatile("sha1msg1 (%eax), %xmm3");4594asm volatile("sha1msg1 (%ecx,%eax,1), %xmm0");4595asm volatile("sha1msg1 0x12345678(,%eax,1), %xmm0");4596asm volatile("sha1msg1 (%eax,%ecx,1), %xmm0");4597asm volatile("sha1msg1 (%eax,%ecx,8), %xmm0");4598asm volatile("sha1msg1 0x12(%eax), %xmm0");4599asm volatile("sha1msg1 0x12(%ebp), %xmm0");4600asm volatile("sha1msg1 0x12(%ecx,%eax,1), %xmm0");4601asm volatile("sha1msg1 0x12(%ebp,%eax,1), %xmm0");4602asm volatile("sha1msg1 0x12(%eax,%ecx,1), %xmm0");4603asm volatile("sha1msg1 0x12(%eax,%ecx,8), %xmm0");4604asm volatile("sha1msg1 0x12345678(%eax), %xmm0");4605asm volatile("sha1msg1 0x12345678(%ebp), %xmm0");4606asm volatile("sha1msg1 0x12345678(%ecx,%eax,1), %xmm0");4607asm volatile("sha1msg1 0x12345678(%ebp,%eax,1), %xmm0");4608asm volatile("sha1msg1 0x12345678(%eax,%ecx,1), %xmm0");4609asm volatile("sha1msg1 0x12345678(%eax,%ecx,8), %xmm0");46104611/* sha1msg2 xmm2/m128, xmm1 */46124613asm volatile("sha1msg2 %xmm1, %xmm0");4614asm volatile("sha1msg2 %xmm7, %xmm2");4615asm volatile("sha1msg2 (%eax), %xmm0");4616asm volatile("sha1msg2 (0x12345678), %xmm0");4617asm volatile("sha1msg2 (%eax), %xmm3");4618asm volatile("sha1msg2 (%ecx,%eax,1), %xmm0");4619asm volatile("sha1msg2 0x12345678(,%eax,1), %xmm0");4620asm volatile("sha1msg2 (%eax,%ecx,1), %xmm0");4621asm volatile("sha1msg2 (%eax,%ecx,8), %xmm0");4622asm volatile("sha1msg2 0x12(%eax), %xmm0");4623asm volatile("sha1msg2 0x12(%ebp), %xmm0");4624asm volatile("sha1msg2 0x12(%ecx,%eax,1), %xmm0");4625asm volatile("sha1msg2 0x12(%ebp,%eax,1), %xmm0");4626asm volatile("sha1msg2 0x12(%eax,%ecx,1), %xmm0");4627asm volatile("sha1msg2 0x12(%eax,%ecx,8), %xmm0");4628asm volatile("sha1msg2 0x12345678(%eax), %xmm0");4629asm volatile("sha1msg2 0x12345678(%ebp), %xmm0");4630asm volatile("sha1msg2 0x12345678(%ecx,%eax,1), %xmm0");4631asm volatile("sha1msg2 0x12345678(%ebp,%eax,1), %xmm0");4632asm volatile("sha1msg2 0x12345678(%eax,%ecx,1), %xmm0");4633asm volatile("sha1msg2 0x12345678(%eax,%ecx,8), %xmm0");46344635/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */4636/* Note sha256rnds2 has an implicit operand 'xmm0' */46374638asm volatile("sha256rnds2 %xmm4, %xmm1");4639asm volatile("sha256rnds2 %xmm7, %xmm2");4640asm volatile("sha256rnds2 (%eax), %xmm1");4641asm volatile("sha256rnds2 (0x12345678), %xmm1");4642asm volatile("sha256rnds2 (%eax), %xmm3");4643asm volatile("sha256rnds2 (%ecx,%eax,1), %xmm1");4644asm volatile("sha256rnds2 0x12345678(,%eax,1), %xmm1");4645asm volatile("sha256rnds2 (%eax,%ecx,1), %xmm1");4646asm volatile("sha256rnds2 (%eax,%ecx,8), %xmm1");4647asm volatile("sha256rnds2 0x12(%eax), %xmm1");4648asm volatile("sha256rnds2 0x12(%ebp), %xmm1");4649asm volatile("sha256rnds2 0x12(%ecx,%eax,1), %xmm1");4650asm volatile("sha256rnds2 0x12(%ebp,%eax,1), %xmm1");4651asm volatile("sha256rnds2 0x12(%eax,%ecx,1), %xmm1");4652asm volatile("sha256rnds2 0x12(%eax,%ecx,8), %xmm1");4653asm volatile("sha256rnds2 0x12345678(%eax), %xmm1");4654asm volatile("sha256rnds2 0x12345678(%ebp), %xmm1");4655asm volatile("sha256rnds2 0x12345678(%ecx,%eax,1), %xmm1");4656asm volatile("sha256rnds2 0x12345678(%ebp,%eax,1), %xmm1");4657asm volatile("sha256rnds2 0x12345678(%eax,%ecx,1), %xmm1");4658asm volatile("sha256rnds2 0x12345678(%eax,%ecx,8), %xmm1");46594660/* sha256msg1 xmm2/m128, xmm1 */46614662asm volatile("sha256msg1 %xmm1, %xmm0");4663asm volatile("sha256msg1 %xmm7, %xmm2");4664asm volatile("sha256msg1 (%eax), %xmm0");4665asm volatile("sha256msg1 (0x12345678), %xmm0");4666asm volatile("sha256msg1 (%eax), %xmm3");4667asm volatile("sha256msg1 (%ecx,%eax,1), %xmm0");4668asm volatile("sha256msg1 0x12345678(,%eax,1), %xmm0");4669asm volatile("sha256msg1 (%eax,%ecx,1), %xmm0");4670asm volatile("sha256msg1 (%eax,%ecx,8), %xmm0");4671asm volatile("sha256msg1 0x12(%eax), %xmm0");4672asm volatile("sha256msg1 0x12(%ebp), %xmm0");4673asm volatile("sha256msg1 0x12(%ecx,%eax,1), %xmm0");4674asm volatile("sha256msg1 0x12(%ebp,%eax,1), %xmm0");4675asm volatile("sha256msg1 0x12(%eax,%ecx,1), %xmm0");4676asm volatile("sha256msg1 0x12(%eax,%ecx,8), %xmm0");4677asm volatile("sha256msg1 0x12345678(%eax), %xmm0");4678asm volatile("sha256msg1 0x12345678(%ebp), %xmm0");4679asm volatile("sha256msg1 0x12345678(%ecx,%eax,1), %xmm0");4680asm volatile("sha256msg1 0x12345678(%ebp,%eax,1), %xmm0");4681asm volatile("sha256msg1 0x12345678(%eax,%ecx,1), %xmm0");4682asm volatile("sha256msg1 0x12345678(%eax,%ecx,8), %xmm0");46834684/* sha256msg2 xmm2/m128, xmm1 */46854686asm volatile("sha256msg2 %xmm1, %xmm0");4687asm volatile("sha256msg2 %xmm7, %xmm2");4688asm volatile("sha256msg2 (%eax), %xmm0");4689asm volatile("sha256msg2 (0x12345678), %xmm0");4690asm volatile("sha256msg2 (%eax), %xmm3");4691asm volatile("sha256msg2 (%ecx,%eax,1), %xmm0");4692asm volatile("sha256msg2 0x12345678(,%eax,1), %xmm0");4693asm volatile("sha256msg2 (%eax,%ecx,1), %xmm0");4694asm volatile("sha256msg2 (%eax,%ecx,8), %xmm0");4695asm volatile("sha256msg2 0x12(%eax), %xmm0");4696asm volatile("sha256msg2 0x12(%ebp), %xmm0");4697asm volatile("sha256msg2 0x12(%ecx,%eax,1), %xmm0");4698asm volatile("sha256msg2 0x12(%ebp,%eax,1), %xmm0");4699asm volatile("sha256msg2 0x12(%eax,%ecx,1), %xmm0");4700asm volatile("sha256msg2 0x12(%eax,%ecx,8), %xmm0");4701asm volatile("sha256msg2 0x12345678(%eax), %xmm0");4702asm volatile("sha256msg2 0x12345678(%ebp), %xmm0");4703asm volatile("sha256msg2 0x12345678(%ecx,%eax,1), %xmm0");4704asm volatile("sha256msg2 0x12345678(%ebp,%eax,1), %xmm0");4705asm volatile("sha256msg2 0x12345678(%eax,%ecx,1), %xmm0");4706asm volatile("sha256msg2 0x12345678(%eax,%ecx,8), %xmm0");47074708/* clflushopt m8 */47094710asm volatile("clflushopt (%eax)");4711asm volatile("clflushopt (0x12345678)");4712asm volatile("clflushopt 0x12345678(%eax,%ecx,8)");4713/* Also check instructions in the same group encoding as clflushopt */4714asm volatile("clflush (%eax)");4715asm volatile("sfence");47164717/* clwb m8 */47184719asm volatile("clwb (%eax)");4720asm volatile("clwb (0x12345678)");4721asm volatile("clwb 0x12345678(%eax,%ecx,8)");4722/* Also check instructions in the same group encoding as clwb */4723asm volatile("xsaveopt (%eax)");4724asm volatile("mfence");47254726/* cldemote m8 */47274728asm volatile("cldemote (%eax)");4729asm volatile("cldemote (0x12345678)");4730asm volatile("cldemote 0x12345678(%eax,%ecx,8)");47314732/* xsavec mem */47334734asm volatile("xsavec (%eax)");4735asm volatile("xsavec (0x12345678)");4736asm volatile("xsavec 0x12345678(%eax,%ecx,8)");47374738/* xsaves mem */47394740asm volatile("xsaves (%eax)");4741asm volatile("xsaves (0x12345678)");4742asm volatile("xsaves 0x12345678(%eax,%ecx,8)");47434744/* xrstors mem */47454746asm volatile("xrstors (%eax)");4747asm volatile("xrstors (0x12345678)");4748asm volatile("xrstors 0x12345678(%eax,%ecx,8)");47494750/* ptwrite */47514752asm volatile("ptwrite (%eax)");4753asm volatile("ptwrite (0x12345678)");4754asm volatile("ptwrite 0x12345678(%eax,%ecx,8)");47554756asm volatile("ptwritel (%eax)");4757asm volatile("ptwritel (0x12345678)");4758asm volatile("ptwritel 0x12345678(%eax,%ecx,8)");47594760/* tpause */47614762asm volatile("tpause %ebx");47634764/* umonitor */47654766asm volatile("umonitor %ax");4767asm volatile("umonitor %eax");47684769/* umwait */47704771asm volatile("umwait %eax");47724773/* movdiri */47744775asm volatile("movdiri %eax,(%ebx)");4776asm volatile("movdiri %ecx,0x12345678(%eax)");47774778/* movdir64b */47794780asm volatile("movdir64b (%eax),%ebx");4781asm volatile("movdir64b 0x12345678(%eax),%ecx");4782asm volatile("movdir64b (%si),%bx");4783asm volatile("movdir64b 0x1234(%si),%cx");47844785/* enqcmd */47864787asm volatile("enqcmd (%eax),%ebx");4788asm volatile("enqcmd 0x12345678(%eax),%ecx");4789asm volatile("enqcmd (%si),%bx");4790asm volatile("enqcmd 0x1234(%si),%cx");47914792/* enqcmds */47934794asm volatile("enqcmds (%eax),%ebx");4795asm volatile("enqcmds 0x12345678(%eax),%ecx");4796asm volatile("enqcmds (%si),%bx");4797asm volatile("enqcmds 0x1234(%si),%cx");47984799/* incsspd */48004801asm volatile("incsspd %eax");4802/* Also check instructions in the same group encoding as incsspd */4803asm volatile("xrstor (%eax)");4804asm volatile("xrstor (0x12345678)");4805asm volatile("xrstor 0x12345678(%eax,%ecx,8)");4806asm volatile("lfence");48074808/* rdsspd */48094810asm volatile("rdsspd %eax");48114812/* saveprevssp */48134814asm volatile("saveprevssp");48154816/* rstorssp */48174818asm volatile("rstorssp (%eax)");4819asm volatile("rstorssp (0x12345678)");4820asm volatile("rstorssp 0x12345678(%eax,%ecx,8)");48214822/* wrssd */48234824asm volatile("wrssd %ecx,(%eax)");4825asm volatile("wrssd %edx,(0x12345678)");4826asm volatile("wrssd %edx,0x12345678(%eax,%ecx,8)");48274828/* wrussd */48294830asm volatile("wrussd %ecx,(%eax)");4831asm volatile("wrussd %edx,(0x12345678)");4832asm volatile("wrussd %edx,0x12345678(%eax,%ecx,8)");48334834/* setssbsy */48354836asm volatile("setssbsy");4837/* Also check instructions in the same group encoding as setssbsy */4838asm volatile("rdpkru");4839asm volatile("wrpkru");48404841/* clrssbsy */48424843asm volatile("clrssbsy (%eax)");4844asm volatile("clrssbsy (0x12345678)");4845asm volatile("clrssbsy 0x12345678(%eax,%ecx,8)");48464847/* endbr32/64 */48484849asm volatile("endbr32");4850asm volatile("endbr64");48514852/* call with/without notrack prefix */48534854asm volatile("call *%eax"); /* Expecting: call indirect 0 */4855asm volatile("call *(%eax)"); /* Expecting: call indirect 0 */4856asm volatile("call *(0x12345678)"); /* Expecting: call indirect 0 */4857asm volatile("call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */48584859asm volatile("bnd call *%eax"); /* Expecting: call indirect 0 */4860asm volatile("bnd call *(%eax)"); /* Expecting: call indirect 0 */4861asm volatile("bnd call *(0x12345678)"); /* Expecting: call indirect 0 */4862asm volatile("bnd call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */48634864asm volatile("notrack call *%eax"); /* Expecting: call indirect 0 */4865asm volatile("notrack call *(%eax)"); /* Expecting: call indirect 0 */4866asm volatile("notrack call *(0x12345678)"); /* Expecting: call indirect 0 */4867asm volatile("notrack call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */48684869asm volatile("notrack bnd call *%eax"); /* Expecting: call indirect 0 */4870asm volatile("notrack bnd call *(%eax)"); /* Expecting: call indirect 0 */4871asm volatile("notrack bnd call *(0x12345678)"); /* Expecting: call indirect 0 */4872asm volatile("notrack bnd call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */48734874/* jmp with/without notrack prefix */48754876asm volatile("jmp *%eax"); /* Expecting: jmp indirect 0 */4877asm volatile("jmp *(%eax)"); /* Expecting: jmp indirect 0 */4878asm volatile("jmp *(0x12345678)"); /* Expecting: jmp indirect 0 */4879asm volatile("jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */48804881asm volatile("bnd jmp *%eax"); /* Expecting: jmp indirect 0 */4882asm volatile("bnd jmp *(%eax)"); /* Expecting: jmp indirect 0 */4883asm volatile("bnd jmp *(0x12345678)"); /* Expecting: jmp indirect 0 */4884asm volatile("bnd jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */48854886asm volatile("notrack jmp *%eax"); /* Expecting: jmp indirect 0 */4887asm volatile("notrack jmp *(%eax)"); /* Expecting: jmp indirect 0 */4888asm volatile("notrack jmp *(0x12345678)"); /* Expecting: jmp indirect 0 */4889asm volatile("notrack jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */48904891asm volatile("notrack bnd jmp *%eax"); /* Expecting: jmp indirect 0 */4892asm volatile("notrack bnd jmp *(%eax)"); /* Expecting: jmp indirect 0 */4893asm volatile("notrack bnd jmp *(0x12345678)"); /* Expecting: jmp indirect 0 */4894asm volatile("notrack bnd jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */48954896/* AVX512-FP16 */48974898asm volatile("vaddph %zmm3, %zmm2, %zmm1");4899asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");4900asm volatile("vaddph %xmm3, %xmm2, %xmm1");4901asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");4902asm volatile("vaddph %ymm3, %ymm2, %ymm1");4903asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");4904asm volatile("vaddsh %xmm3, %xmm2, %xmm1");4905asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");4906asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");4907asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");4908asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");4909asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");4910asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");4911asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");4912asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");4913asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");4914asm volatile("vcomish %xmm2, %xmm1");4915asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");4916asm volatile("vcvtdq2ph %zmm2, %ymm1");4917asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");4918asm volatile("vcvtdq2ph %xmm2, %xmm1");4919asm volatile("vcvtdq2ph %ymm2, %xmm1");4920asm volatile("vcvtpd2ph %zmm2, %xmm1");4921asm volatile("vcvtpd2ph %xmm2, %xmm1");4922asm volatile("vcvtpd2ph %ymm2, %xmm1");4923asm volatile("vcvtph2dq %ymm2, %zmm1");4924asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");4925asm volatile("vcvtph2dq %xmm2, %xmm1");4926asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");4927asm volatile("vcvtph2dq %xmm2, %ymm1");4928asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");4929asm volatile("vcvtph2pd %xmm2, %zmm1");4930asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");4931asm volatile("vcvtph2pd %xmm2, %xmm1");4932asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");4933asm volatile("vcvtph2pd %xmm2, %ymm1");4934asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");4935asm volatile("vcvtph2ps %ymm2, %zmm1");4936asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");4937asm volatile("vcvtph2ps %xmm2, %xmm1");4938asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");4939asm volatile("vcvtph2ps %xmm2, %ymm1");4940asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");4941asm volatile("vcvtph2ps %xmm2, %xmm1");4942asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");4943asm volatile("vcvtph2ps %xmm2, %ymm1");4944asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");4945asm volatile("vcvtph2psx %ymm2, %zmm1");4946asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");4947asm volatile("vcvtph2psx %xmm2, %xmm1");4948asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");4949asm volatile("vcvtph2psx %xmm2, %ymm1");4950asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");4951asm volatile("vcvtph2qq %xmm2, %zmm1");4952asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");4953asm volatile("vcvtph2qq %xmm2, %xmm1");4954asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");4955asm volatile("vcvtph2qq %xmm2, %ymm1");4956asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");4957asm volatile("vcvtph2udq %ymm2, %zmm1");4958asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");4959asm volatile("vcvtph2udq %xmm2, %xmm1");4960asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");4961asm volatile("vcvtph2udq %xmm2, %ymm1");4962asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");4963asm volatile("vcvtph2uqq %xmm2, %zmm1");4964asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");4965asm volatile("vcvtph2uqq %xmm2, %xmm1");4966asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");4967asm volatile("vcvtph2uqq %xmm2, %ymm1");4968asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");4969asm volatile("vcvtph2uw %zmm2, %zmm1");4970asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");4971asm volatile("vcvtph2uw %xmm2, %xmm1");4972asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");4973asm volatile("vcvtph2uw %ymm2, %ymm1");4974asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");4975asm volatile("vcvtph2w %zmm2, %zmm1");4976asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");4977asm volatile("vcvtph2w %xmm2, %xmm1");4978asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");4979asm volatile("vcvtph2w %ymm2, %ymm1");4980asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");4981asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");4982asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");4983asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");4984asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");4985asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");4986asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");4987asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");4988asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");4989asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");4990asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");4991asm volatile("vcvtps2phx %zmm2, %ymm1");4992asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");4993asm volatile("vcvtps2phx %xmm2, %xmm1");4994asm volatile("vcvtps2phx %ymm2, %xmm1");4995asm volatile("vcvtqq2ph %zmm2, %xmm1");4996asm volatile("vcvtqq2ph %xmm2, %xmm1");4997asm volatile("vcvtqq2ph %ymm2, %xmm1");4998asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");4999asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5000asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");5001asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5002asm volatile("vcvtsh2usi %xmm1, %eax");5003asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");5004asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");5005asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5006asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5007asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");5008asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5009asm volatile("vcvttph2dq %ymm2, %zmm1");5010asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");5011asm volatile("vcvttph2dq %xmm2, %xmm1");5012asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");5013asm volatile("vcvttph2dq %xmm2, %ymm1");5014asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");5015asm volatile("vcvttph2qq %xmm2, %zmm1");5016asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");5017asm volatile("vcvttph2qq %xmm2, %xmm1");5018asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");5019asm volatile("vcvttph2qq %xmm2, %ymm1");5020asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");5021asm volatile("vcvttph2udq %ymm2, %zmm1");5022asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");5023asm volatile("vcvttph2udq %xmm2, %xmm1");5024asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");5025asm volatile("vcvttph2udq %xmm2, %ymm1");5026asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");5027asm volatile("vcvttph2uqq %xmm2, %zmm1");5028asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");5029asm volatile("vcvttph2uqq %xmm2, %xmm1");5030asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");5031asm volatile("vcvttph2uqq %xmm2, %ymm1");5032asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");5033asm volatile("vcvttph2uw %zmm2, %zmm1");5034asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");5035asm volatile("vcvttph2uw %xmm2, %xmm1");5036asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");5037asm volatile("vcvttph2uw %ymm2, %ymm1");5038asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");5039asm volatile("vcvttph2w %zmm2, %zmm1");5040asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");5041asm volatile("vcvttph2w %xmm2, %xmm1");5042asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");5043asm volatile("vcvttph2w %ymm2, %ymm1");5044asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");5045asm volatile("vcvttsh2si %xmm1, %eax");5046asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");5047asm volatile("vcvttsh2usi %xmm1, %eax");5048asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");5049asm volatile("vcvtudq2ph %zmm2, %ymm1");5050asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");5051asm volatile("vcvtudq2ph %xmm2, %xmm1");5052asm volatile("vcvtudq2ph %ymm2, %xmm1");5053asm volatile("vcvtuqq2ph %zmm2, %xmm1");5054asm volatile("vcvtuqq2ph %xmm2, %xmm1");5055asm volatile("vcvtuqq2ph %ymm2, %xmm1");5056asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");5057asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5058asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5059asm volatile("vcvtuw2ph %zmm2, %zmm1");5060asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");5061asm volatile("vcvtuw2ph %xmm2, %xmm1");5062asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");5063asm volatile("vcvtuw2ph %ymm2, %ymm1");5064asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");5065asm volatile("vcvtw2ph %zmm2, %zmm1");5066asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");5067asm volatile("vcvtw2ph %xmm2, %xmm1");5068asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");5069asm volatile("vcvtw2ph %ymm2, %ymm1");5070asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");5071asm volatile("vdivph %zmm3, %zmm2, %zmm1");5072asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5073asm volatile("vdivph %xmm3, %xmm2, %xmm1");5074asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5075asm volatile("vdivph %ymm3, %ymm2, %ymm1");5076asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5077asm volatile("vdivsh %xmm3, %xmm2, %xmm1");5078asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5079asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");5080asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5081asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");5082asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5083asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");5084asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5085asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");5086asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5087asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");5088asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5089asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");5090asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5091asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");5092asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5093asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");5094asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5095asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");5096asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5097asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");5098asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5099asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");5100asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5101asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");5102asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5103asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");5104asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5105asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");5106asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5107asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");5108asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5109asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");5110asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5111asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");5112asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5113asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");5114asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5115asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");5116asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5117asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");5118asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5119asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");5120asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5121asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");5122asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5123asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");5124asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5125asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");5126asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5127asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");5128asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5129asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");5130asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5131asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");5132asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5133asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");5134asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5135asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");5136asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5137asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");5138asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5139asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");5140asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5141asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");5142asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5143asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");5144asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5145asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");5146asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5147asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");5148asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5149asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");5150asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5151asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");5152asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5153asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");5154asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5155asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");5156asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5157asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");5158asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5159asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");5160asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5161asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");5162asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5163asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");5164asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5165asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");5166asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5167asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");5168asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5169asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");5170asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5171asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");5172asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5173asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");5174asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5175asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");5176asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5177asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");5178asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5179asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");5180asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5181asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");5182asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5183asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");5184asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5185asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");5186asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5187asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");5188asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5189asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");5190asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5191asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");5192asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5193asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");5194asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5195asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");5196asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5197asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");5198asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5199asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");5200asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5201asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");5202asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5203asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");5204asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5205asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");5206asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5207asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");5208asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5209asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");5210asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5211asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");5212asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5213asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");5214asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5215asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");5216asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5217asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");5218asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5219asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");5220asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5221asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");5222asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5223asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");5224asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5225asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");5226asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5227asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");5228asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5229asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");5230asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5231asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");5232asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5233asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");5234asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5235asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");5236asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5237asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");5238asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5239asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");5240asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5241asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");5242asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5243asm volatile("vfpclassph $0x12, %zmm1, %k5");5244asm volatile("vfpclassph $0x12, %xmm1, %k5");5245asm volatile("vfpclassph $0x12, %ymm1, %k5");5246asm volatile("vfpclasssh $0x12, %xmm1, %k5");5247asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");5248asm volatile("vgetexpph %zmm2, %zmm1");5249asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");5250asm volatile("vgetexpph %xmm2, %xmm1");5251asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");5252asm volatile("vgetexpph %ymm2, %ymm1");5253asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");5254asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");5255asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5256asm volatile("vgetmantph $0x12, %zmm2, %zmm1");5257asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");5258asm volatile("vgetmantph $0x12, %xmm2, %xmm1");5259asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");5260asm volatile("vgetmantph $0x12, %ymm2, %ymm1");5261asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");5262asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");5263asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5264asm volatile("vmaxph %zmm3, %zmm2, %zmm1");5265asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5266asm volatile("vmaxph %xmm3, %xmm2, %xmm1");5267asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5268asm volatile("vmaxph %ymm3, %ymm2, %ymm1");5269asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5270asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");5271asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5272asm volatile("vminph %zmm3, %zmm2, %zmm1");5273asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5274asm volatile("vminph %xmm3, %xmm2, %xmm1");5275asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5276asm volatile("vminph %ymm3, %ymm2, %ymm1");5277asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5278asm volatile("vminsh %xmm3, %xmm2, %xmm1");5279asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5280asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");5281asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");5282asm volatile("vmovsh %xmm3, %xmm2, %xmm1");5283asm volatile("vmovw %xmm1, %eax");5284asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");5285asm volatile("vmovw %eax, %xmm1");5286asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");5287asm volatile("vmulph %zmm3, %zmm2, %zmm1");5288asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5289asm volatile("vmulph %xmm3, %xmm2, %xmm1");5290asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5291asm volatile("vmulph %ymm3, %ymm2, %ymm1");5292asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5293asm volatile("vmulsh %xmm3, %xmm2, %xmm1");5294asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5295asm volatile("vrcpph %zmm2, %zmm1");5296asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");5297asm volatile("vrcpph %xmm2, %xmm1");5298asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");5299asm volatile("vrcpph %ymm2, %ymm1");5300asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");5301asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");5302asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5303asm volatile("vreduceph $0x12, %zmm2, %zmm1");5304asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");5305asm volatile("vreduceph $0x12, %xmm2, %xmm1");5306asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");5307asm volatile("vreduceph $0x12, %ymm2, %ymm1");5308asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");5309asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");5310asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5311asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");5312asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");5313asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");5314asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");5315asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");5316asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");5317asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");5318asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5319asm volatile("vrsqrtph %zmm2, %zmm1");5320asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");5321asm volatile("vrsqrtph %xmm2, %xmm1");5322asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");5323asm volatile("vrsqrtph %ymm2, %ymm1");5324asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");5325asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");5326asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5327asm volatile("vscalefph %zmm3, %zmm2, %zmm1");5328asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5329asm volatile("vscalefph %xmm3, %xmm2, %xmm1");5330asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5331asm volatile("vscalefph %ymm3, %ymm2, %ymm1");5332asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5333asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");5334asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5335asm volatile("vsqrtph %zmm2, %zmm1");5336asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");5337asm volatile("vsqrtph %xmm2, %xmm1");5338asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");5339asm volatile("vsqrtph %ymm2, %ymm1");5340asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");5341asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");5342asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5343asm volatile("vsubph %zmm3, %zmm2, %zmm1");5344asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");5345asm volatile("vsubph %xmm3, %xmm2, %xmm1");5346asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5347asm volatile("vsubph %ymm3, %ymm2, %ymm1");5348asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");5349asm volatile("vsubsh %xmm3, %xmm2, %xmm1");5350asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");5351asm volatile("vucomish %xmm2, %xmm1");5352asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");53535354#endif /* #ifndef __x86_64__ */53555356/* Key Locker */53575358asm volatile(" loadiwkey %xmm1, %xmm2");5359asm volatile(" encodekey128 %eax, %edx");5360asm volatile(" encodekey256 %eax, %edx");5361asm volatile(" aesenc128kl 0x77(%edx), %xmm3");5362asm volatile(" aesenc256kl 0x77(%edx), %xmm3");5363asm volatile(" aesdec128kl 0x77(%edx), %xmm3");5364asm volatile(" aesdec256kl 0x77(%edx), %xmm3");5365asm volatile(" aesencwide128kl 0x77(%edx)");5366asm volatile(" aesencwide256kl 0x77(%edx)");5367asm volatile(" aesdecwide128kl 0x77(%edx)");5368asm volatile(" aesdecwide256kl 0x77(%edx)");53695370/* Remote Atomic Operations */53715372asm volatile("aadd %ecx,(%eax)");5373asm volatile("aadd %edx,(0x12345678)");5374asm volatile("aadd %edx,0x12345678(%eax,%ecx,8)");53755376asm volatile("aand %ecx,(%eax)");5377asm volatile("aand %edx,(0x12345678)");5378asm volatile("aand %edx,0x12345678(%eax,%ecx,8)");53795380asm volatile("aor %ecx,(%eax)");5381asm volatile("aor %edx,(0x12345678)");5382asm volatile("aor %edx,0x12345678(%eax,%ecx,8)");53835384asm volatile("axor %ecx,(%eax)");5385asm volatile("axor %edx,(0x12345678)");5386asm volatile("axor %edx,0x12345678(%eax,%ecx,8)");53875388/* AVX NE Convert */53895390asm volatile("vbcstnebf162ps (%ecx),%xmm6");5391asm volatile("vbcstnesh2ps (%ecx),%xmm6");5392asm volatile("vcvtneebf162ps (%ecx),%xmm6");5393asm volatile("vcvtneeph2ps (%ecx),%xmm6");5394asm volatile("vcvtneobf162ps (%ecx),%xmm6");5395asm volatile("vcvtneoph2ps (%ecx),%xmm6");5396asm volatile("vcvtneps2bf16 %xmm1,%xmm6");53975398/* AVX VNNI INT16 */53995400asm volatile("vpdpbssd %xmm1,%xmm2,%xmm3");5401asm volatile("vpdpbssds %xmm1,%xmm2,%xmm3");5402asm volatile("vpdpbsud %xmm1,%xmm2,%xmm3");5403asm volatile("vpdpbsuds %xmm1,%xmm2,%xmm3");5404asm volatile("vpdpbuud %xmm1,%xmm2,%xmm3");5405asm volatile("vpdpbuuds %xmm1,%xmm2,%xmm3");5406asm volatile("vpdpwsud %xmm1,%xmm2,%xmm3");5407asm volatile("vpdpwsuds %xmm1,%xmm2,%xmm3");5408asm volatile("vpdpwusd %xmm1,%xmm2,%xmm3");5409asm volatile("vpdpwusds %xmm1,%xmm2,%xmm3");5410asm volatile("vpdpwuud %xmm1,%xmm2,%xmm3");5411asm volatile("vpdpwuuds %xmm1,%xmm2,%xmm3");54125413/* AVX IFMA */54145415asm volatile("vpmadd52huq %xmm1,%xmm2,%xmm3");5416asm volatile("vpmadd52luq %xmm1,%xmm2,%xmm3");54175418/* AVX SHA512 */54195420asm volatile("vsha512msg1 %xmm1,%ymm2");5421asm volatile("vsha512msg2 %ymm1,%ymm2");5422asm volatile("vsha512rnds2 %xmm1,%ymm2,%ymm3");54235424/* AVX SM3 */54255426asm volatile("vsm3msg1 %xmm1,%xmm2,%xmm3");5427asm volatile("vsm3msg2 %xmm1,%xmm2,%xmm3");5428asm volatile("vsm3rnds2 $0xa1,%xmm1,%xmm2,%xmm3");54295430/* AVX SM4 */54315432asm volatile("vsm4key4 %xmm1,%xmm2,%xmm3");5433asm volatile("vsm4rnds4 %xmm1,%xmm2,%xmm3");54345435/* Pre-fetch */54365437asm volatile("prefetch (%eax)");5438asm volatile("prefetcht0 (%eax)");5439asm volatile("prefetcht1 (%eax)");5440asm volatile("prefetcht2 (%eax)");5441asm volatile("prefetchnta (%eax)");54425443/* Non-serializing write MSR */54445445asm volatile("wrmsrns");54465447/* Prediction history reset */54485449asm volatile("hreset $0");54505451/* Serialize instruction execution */54525453asm volatile("serialize");54545455/* TSX suspend load address tracking */54565457asm volatile("xresldtrk");5458asm volatile("xsusldtrk");54595460/* SGX */54615462asm volatile("encls");5463asm volatile("enclu");5464asm volatile("enclv");54655466/* pconfig */54675468asm volatile("pconfig");54695470/* wbnoinvd */54715472asm volatile("wbnoinvd");54735474/* Following line is a marker for the awk script - do not change */5475asm volatile("rdtsc"); /* Stop here */54765477return 0;5478}547954805481