162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * This file contains instructions for testing by the test titled:
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *         "Test x86 instruction decoder - new instructions"
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Note that the 'Expecting' comment lines are consumed by the
862306a36Sopenharmony_ci * gen-insn-x86-dat.awk script and have the format:
962306a36Sopenharmony_ci *
1062306a36Sopenharmony_ci *         Expecting: <op> <branch> <rel>
1162306a36Sopenharmony_ci *
1262306a36Sopenharmony_ci * If this file is changed, remember to run the gen-insn-x86-dat.sh
1362306a36Sopenharmony_ci * script and commit the result.
1462306a36Sopenharmony_ci *
1562306a36Sopenharmony_ci * Refer to insn-x86.c for more details.
1662306a36Sopenharmony_ci */
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciint main(void)
1962306a36Sopenharmony_ci{
2062306a36Sopenharmony_ci	/* Following line is a marker for the awk script - do not change */
2162306a36Sopenharmony_ci	asm volatile("rdtsc"); /* Start here */
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	/* Test fix for vcvtph2ps in x86-opcode-map.txt */
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm3,%ymm5");
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#ifdef __x86_64__
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	/* AVX-512: Instructions with the same op codes as Mask Instructions  */
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	asm volatile("cmovno %rax,%rbx");
3262306a36Sopenharmony_ci	asm volatile("cmovno 0x12345678(%rax),%rcx");
3362306a36Sopenharmony_ci	asm volatile("cmovno 0x12345678(%rax),%cx");
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	asm volatile("cmove  %rax,%rbx");
3662306a36Sopenharmony_ci	asm volatile("cmove 0x12345678(%rax),%rcx");
3762306a36Sopenharmony_ci	asm volatile("cmove 0x12345678(%rax),%cx");
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	asm volatile("seto    0x12345678(%rax)");
4062306a36Sopenharmony_ci	asm volatile("setno   0x12345678(%rax)");
4162306a36Sopenharmony_ci	asm volatile("setb    0x12345678(%rax)");
4262306a36Sopenharmony_ci	asm volatile("setc    0x12345678(%rax)");
4362306a36Sopenharmony_ci	asm volatile("setnae  0x12345678(%rax)");
4462306a36Sopenharmony_ci	asm volatile("setae   0x12345678(%rax)");
4562306a36Sopenharmony_ci	asm volatile("setnb   0x12345678(%rax)");
4662306a36Sopenharmony_ci	asm volatile("setnc   0x12345678(%rax)");
4762306a36Sopenharmony_ci	asm volatile("sets    0x12345678(%rax)");
4862306a36Sopenharmony_ci	asm volatile("setns   0x12345678(%rax)");
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	/* AVX-512: Mask Instructions */
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	asm volatile("kandw  %k7,%k6,%k5");
5362306a36Sopenharmony_ci	asm volatile("kandq  %k7,%k6,%k5");
5462306a36Sopenharmony_ci	asm volatile("kandb  %k7,%k6,%k5");
5562306a36Sopenharmony_ci	asm volatile("kandd  %k7,%k6,%k5");
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	asm volatile("kandnw  %k7,%k6,%k5");
5862306a36Sopenharmony_ci	asm volatile("kandnq  %k7,%k6,%k5");
5962306a36Sopenharmony_ci	asm volatile("kandnb  %k7,%k6,%k5");
6062306a36Sopenharmony_ci	asm volatile("kandnd  %k7,%k6,%k5");
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	asm volatile("knotw  %k7,%k6");
6362306a36Sopenharmony_ci	asm volatile("knotq  %k7,%k6");
6462306a36Sopenharmony_ci	asm volatile("knotb  %k7,%k6");
6562306a36Sopenharmony_ci	asm volatile("knotd  %k7,%k6");
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	asm volatile("korw  %k7,%k6,%k5");
6862306a36Sopenharmony_ci	asm volatile("korq  %k7,%k6,%k5");
6962306a36Sopenharmony_ci	asm volatile("korb  %k7,%k6,%k5");
7062306a36Sopenharmony_ci	asm volatile("kord  %k7,%k6,%k5");
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	asm volatile("kxnorw  %k7,%k6,%k5");
7362306a36Sopenharmony_ci	asm volatile("kxnorq  %k7,%k6,%k5");
7462306a36Sopenharmony_ci	asm volatile("kxnorb  %k7,%k6,%k5");
7562306a36Sopenharmony_ci	asm volatile("kxnord  %k7,%k6,%k5");
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	asm volatile("kxorw  %k7,%k6,%k5");
7862306a36Sopenharmony_ci	asm volatile("kxorq  %k7,%k6,%k5");
7962306a36Sopenharmony_ci	asm volatile("kxorb  %k7,%k6,%k5");
8062306a36Sopenharmony_ci	asm volatile("kxord  %k7,%k6,%k5");
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	asm volatile("kaddw  %k7,%k6,%k5");
8362306a36Sopenharmony_ci	asm volatile("kaddq  %k7,%k6,%k5");
8462306a36Sopenharmony_ci	asm volatile("kaddb  %k7,%k6,%k5");
8562306a36Sopenharmony_ci	asm volatile("kaddd  %k7,%k6,%k5");
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	asm volatile("kunpckbw %k7,%k6,%k5");
8862306a36Sopenharmony_ci	asm volatile("kunpckwd %k7,%k6,%k5");
8962306a36Sopenharmony_ci	asm volatile("kunpckdq %k7,%k6,%k5");
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	asm volatile("kmovw  %k6,%k5");
9262306a36Sopenharmony_ci	asm volatile("kmovw  (%rcx),%k5");
9362306a36Sopenharmony_ci	asm volatile("kmovw  0x123(%rax,%r14,8),%k5");
9462306a36Sopenharmony_ci	asm volatile("kmovw  %k5,(%rcx)");
9562306a36Sopenharmony_ci	asm volatile("kmovw  %k5,0x123(%rax,%r14,8)");
9662306a36Sopenharmony_ci	asm volatile("kmovw  %eax,%k5");
9762306a36Sopenharmony_ci	asm volatile("kmovw  %ebp,%k5");
9862306a36Sopenharmony_ci	asm volatile("kmovw  %r13d,%k5");
9962306a36Sopenharmony_ci	asm volatile("kmovw  %k5,%eax");
10062306a36Sopenharmony_ci	asm volatile("kmovw  %k5,%ebp");
10162306a36Sopenharmony_ci	asm volatile("kmovw  %k5,%r13d");
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	asm volatile("kmovq  %k6,%k5");
10462306a36Sopenharmony_ci	asm volatile("kmovq  (%rcx),%k5");
10562306a36Sopenharmony_ci	asm volatile("kmovq  0x123(%rax,%r14,8),%k5");
10662306a36Sopenharmony_ci	asm volatile("kmovq  %k5,(%rcx)");
10762306a36Sopenharmony_ci	asm volatile("kmovq  %k5,0x123(%rax,%r14,8)");
10862306a36Sopenharmony_ci	asm volatile("kmovq  %rax,%k5");
10962306a36Sopenharmony_ci	asm volatile("kmovq  %rbp,%k5");
11062306a36Sopenharmony_ci	asm volatile("kmovq  %r13,%k5");
11162306a36Sopenharmony_ci	asm volatile("kmovq  %k5,%rax");
11262306a36Sopenharmony_ci	asm volatile("kmovq  %k5,%rbp");
11362306a36Sopenharmony_ci	asm volatile("kmovq  %k5,%r13");
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	asm volatile("kmovb  %k6,%k5");
11662306a36Sopenharmony_ci	asm volatile("kmovb  (%rcx),%k5");
11762306a36Sopenharmony_ci	asm volatile("kmovb  0x123(%rax,%r14,8),%k5");
11862306a36Sopenharmony_ci	asm volatile("kmovb  %k5,(%rcx)");
11962306a36Sopenharmony_ci	asm volatile("kmovb  %k5,0x123(%rax,%r14,8)");
12062306a36Sopenharmony_ci	asm volatile("kmovb  %eax,%k5");
12162306a36Sopenharmony_ci	asm volatile("kmovb  %ebp,%k5");
12262306a36Sopenharmony_ci	asm volatile("kmovb  %r13d,%k5");
12362306a36Sopenharmony_ci	asm volatile("kmovb  %k5,%eax");
12462306a36Sopenharmony_ci	asm volatile("kmovb  %k5,%ebp");
12562306a36Sopenharmony_ci	asm volatile("kmovb  %k5,%r13d");
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	asm volatile("kmovd  %k6,%k5");
12862306a36Sopenharmony_ci	asm volatile("kmovd  (%rcx),%k5");
12962306a36Sopenharmony_ci	asm volatile("kmovd  0x123(%rax,%r14,8),%k5");
13062306a36Sopenharmony_ci	asm volatile("kmovd  %k5,(%rcx)");
13162306a36Sopenharmony_ci	asm volatile("kmovd  %k5,0x123(%rax,%r14,8)");
13262306a36Sopenharmony_ci	asm volatile("kmovd  %eax,%k5");
13362306a36Sopenharmony_ci	asm volatile("kmovd  %ebp,%k5");
13462306a36Sopenharmony_ci	asm volatile("kmovd  %r13d,%k5");
13562306a36Sopenharmony_ci	asm volatile("kmovd  %k5,%eax");
13662306a36Sopenharmony_ci	asm volatile("kmovd  %k5,%ebp");
13762306a36Sopenharmony_ci	asm volatile("kmovd %k5,%r13d");
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	asm volatile("kortestw %k6,%k5");
14062306a36Sopenharmony_ci	asm volatile("kortestq %k6,%k5");
14162306a36Sopenharmony_ci	asm volatile("kortestb %k6,%k5");
14262306a36Sopenharmony_ci	asm volatile("kortestd %k6,%k5");
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci	asm volatile("ktestw %k6,%k5");
14562306a36Sopenharmony_ci	asm volatile("ktestq %k6,%k5");
14662306a36Sopenharmony_ci	asm volatile("ktestb %k6,%k5");
14762306a36Sopenharmony_ci	asm volatile("ktestd %k6,%k5");
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci	asm volatile("kshiftrw $0x12,%k6,%k5");
15062306a36Sopenharmony_ci	asm volatile("kshiftrq $0x5b,%k6,%k5");
15162306a36Sopenharmony_ci	asm volatile("kshiftlw $0x12,%k6,%k5");
15262306a36Sopenharmony_ci	asm volatile("kshiftlq $0x5b,%k6,%k5");
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 5b */
15562306a36Sopenharmony_ci	asm volatile("vcvtdq2ps %xmm5,%xmm6");
15662306a36Sopenharmony_ci	asm volatile("vcvtqq2ps %zmm29,%ymm6{%k7}");
15762306a36Sopenharmony_ci	asm volatile("vcvtps2dq %xmm5,%xmm6");
15862306a36Sopenharmony_ci	asm volatile("vcvttps2dq %xmm5,%xmm6");
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 6f */
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	asm volatile("movq   %mm0,%mm4");
16362306a36Sopenharmony_ci	asm volatile("vmovdqa %ymm4,%ymm6");
16462306a36Sopenharmony_ci	asm volatile("vmovdqa32 %zmm25,%zmm26");
16562306a36Sopenharmony_ci	asm volatile("vmovdqa64 %zmm25,%zmm26");
16662306a36Sopenharmony_ci	asm volatile("vmovdqu %ymm4,%ymm6");
16762306a36Sopenharmony_ci	asm volatile("vmovdqu32 %zmm29,%zmm30");
16862306a36Sopenharmony_ci	asm volatile("vmovdqu64 %zmm25,%zmm26");
16962306a36Sopenharmony_ci	asm volatile("vmovdqu8 %zmm29,%zmm30");
17062306a36Sopenharmony_ci	asm volatile("vmovdqu16 %zmm25,%zmm26");
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 78 */
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci	asm volatile("vmread %rax,%rbx");
17562306a36Sopenharmony_ci	asm volatile("vcvttps2udq %zmm25,%zmm26");
17662306a36Sopenharmony_ci	asm volatile("vcvttpd2udq %zmm29,%ymm6{%k7}");
17762306a36Sopenharmony_ci	asm volatile("vcvttsd2usi %xmm6,%rax");
17862306a36Sopenharmony_ci	asm volatile("vcvttss2usi %xmm6,%rax");
17962306a36Sopenharmony_ci	asm volatile("vcvttps2uqq %ymm5,%zmm26{%k7}");
18062306a36Sopenharmony_ci	asm volatile("vcvttpd2uqq %zmm29,%zmm30");
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 79 */
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci	asm volatile("vmwrite %rax,%rbx");
18562306a36Sopenharmony_ci	asm volatile("vcvtps2udq %zmm25,%zmm26");
18662306a36Sopenharmony_ci	asm volatile("vcvtpd2udq %zmm29,%ymm6{%k7}");
18762306a36Sopenharmony_ci	asm volatile("vcvtsd2usi %xmm6,%rax");
18862306a36Sopenharmony_ci	asm volatile("vcvtss2usi %xmm6,%rax");
18962306a36Sopenharmony_ci	asm volatile("vcvtps2uqq %ymm5,%zmm26{%k7}");
19062306a36Sopenharmony_ci	asm volatile("vcvtpd2uqq %zmm29,%zmm30");
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 7a */
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci	asm volatile("vcvtudq2pd %ymm5,%zmm29{%k7}");
19562306a36Sopenharmony_ci	asm volatile("vcvtuqq2pd %zmm25,%zmm26");
19662306a36Sopenharmony_ci	asm volatile("vcvtudq2ps %zmm29,%zmm30");
19762306a36Sopenharmony_ci	asm volatile("vcvtuqq2ps %zmm25,%ymm26{%k7}");
19862306a36Sopenharmony_ci	asm volatile("vcvttps2qq %ymm25,%zmm26{%k7}");
19962306a36Sopenharmony_ci	asm volatile("vcvttpd2qq %zmm29,%zmm30");
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 7b */
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci	asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");
20462306a36Sopenharmony_ci	asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");
20562306a36Sopenharmony_ci	asm volatile("vcvtps2qq %ymm5,%zmm26{%k7}");
20662306a36Sopenharmony_ci	asm volatile("vcvtpd2qq %zmm29,%zmm30");
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 7f */
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci	asm volatile("movq.s  %mm0,%mm4");
21162306a36Sopenharmony_ci	asm volatile("vmovdqa %ymm8,%ymm6");
21262306a36Sopenharmony_ci	asm volatile("vmovdqa32.s %zmm25,%zmm26");
21362306a36Sopenharmony_ci	asm volatile("vmovdqa64.s %zmm25,%zmm26");
21462306a36Sopenharmony_ci	asm volatile("vmovdqu %ymm8,%ymm6");
21562306a36Sopenharmony_ci	asm volatile("vmovdqu32.s %zmm25,%zmm26");
21662306a36Sopenharmony_ci	asm volatile("vmovdqu64.s %zmm25,%zmm26");
21762306a36Sopenharmony_ci	asm volatile("vmovdqu8.s %zmm30,(%rcx)");
21862306a36Sopenharmony_ci	asm volatile("vmovdqu16.s %zmm25,%zmm26");
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci	/* AVX-512: Op code 0f db */
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci	asm volatile("pand  %mm1,%mm2");
22362306a36Sopenharmony_ci	asm volatile("pand  %xmm1,%xmm2");
22462306a36Sopenharmony_ci	asm volatile("vpand  %ymm4,%ymm6,%ymm2");
22562306a36Sopenharmony_ci	asm volatile("vpandd %zmm24,%zmm25,%zmm26");
22662306a36Sopenharmony_ci	asm volatile("vpandq %zmm24,%zmm25,%zmm26");
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci	/* AVX-512: Op code 0f df */
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci	asm volatile("pandn  %mm1,%mm2");
23162306a36Sopenharmony_ci	asm volatile("pandn  %xmm1,%xmm2");
23262306a36Sopenharmony_ci	asm volatile("vpandn %ymm4,%ymm6,%ymm2");
23362306a36Sopenharmony_ci	asm volatile("vpandnd %zmm24,%zmm25,%zmm26");
23462306a36Sopenharmony_ci	asm volatile("vpandnq %zmm24,%zmm25,%zmm26");
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci	/* AVX-512: Op code 0f e6 */
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci	asm volatile("vcvttpd2dq %xmm1,%xmm2");
23962306a36Sopenharmony_ci	asm volatile("vcvtdq2pd %xmm5,%xmm6");
24062306a36Sopenharmony_ci	asm volatile("vcvtdq2pd %ymm5,%zmm26{%k7}");
24162306a36Sopenharmony_ci	asm volatile("vcvtqq2pd %zmm25,%zmm26");
24262306a36Sopenharmony_ci	asm volatile("vcvtpd2dq %xmm1,%xmm2");
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci	/* AVX-512: Op code 0f eb */
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci	asm volatile("por   %mm4,%mm6");
24762306a36Sopenharmony_ci	asm volatile("vpor   %ymm4,%ymm6,%ymm2");
24862306a36Sopenharmony_ci	asm volatile("vpord  %zmm24,%zmm25,%zmm26");
24962306a36Sopenharmony_ci	asm volatile("vporq  %zmm24,%zmm25,%zmm26");
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ci	/* AVX-512: Op code 0f ef */
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci	asm volatile("pxor   %mm4,%mm6");
25462306a36Sopenharmony_ci	asm volatile("vpxor  %ymm4,%ymm6,%ymm2");
25562306a36Sopenharmony_ci	asm volatile("vpxord %zmm24,%zmm25,%zmm26");
25662306a36Sopenharmony_ci	asm volatile("vpxorq %zmm24,%zmm25,%zmm26");
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 10 */
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci	asm volatile("pblendvb %xmm1,%xmm0");
26162306a36Sopenharmony_ci	asm volatile("vpsrlvw %zmm27,%zmm28,%zmm29");
26262306a36Sopenharmony_ci	asm volatile("vpmovuswb %zmm28,%ymm6{%k7}");
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 11 */
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci	asm volatile("vpmovusdb %zmm28,%xmm6{%k7}");
26762306a36Sopenharmony_ci	asm volatile("vpsravw %zmm27,%zmm28,%zmm29");
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 12 */
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci	asm volatile("vpmovusqb %zmm27,%xmm6{%k7}");
27262306a36Sopenharmony_ci	asm volatile("vpsllvw %zmm27,%zmm28,%zmm29");
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 13 */
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm3,%ymm5");
27762306a36Sopenharmony_ci	asm volatile("vcvtph2ps %ymm5,%zmm27{%k7}");
27862306a36Sopenharmony_ci	asm volatile("vpmovusdw %zmm27,%ymm6{%k7}");
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 14 */
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci	asm volatile("blendvps %xmm1,%xmm0");
28362306a36Sopenharmony_ci	asm volatile("vpmovusqw %zmm27,%xmm6{%k7}");
28462306a36Sopenharmony_ci	asm volatile("vprorvd %zmm27,%zmm28,%zmm29");
28562306a36Sopenharmony_ci	asm volatile("vprorvq %zmm27,%zmm28,%zmm29");
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 15 */
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci	asm volatile("blendvpd %xmm1,%xmm0");
29062306a36Sopenharmony_ci	asm volatile("vpmovusqd %zmm27,%ymm6{%k7}");
29162306a36Sopenharmony_ci	asm volatile("vprolvd %zmm27,%zmm28,%zmm29");
29262306a36Sopenharmony_ci	asm volatile("vprolvq %zmm27,%zmm28,%zmm29");
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 16 */
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci	asm volatile("vpermps %ymm4,%ymm6,%ymm2");
29762306a36Sopenharmony_ci	asm volatile("vpermps %ymm24,%ymm26,%ymm22{%k7}");
29862306a36Sopenharmony_ci	asm volatile("vpermpd %ymm24,%ymm26,%ymm22{%k7}");
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 19 */
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci	asm volatile("vbroadcastsd %xmm4,%ymm6");
30362306a36Sopenharmony_ci	asm volatile("vbroadcastf32x2 %xmm27,%zmm26");
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 1a */
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci	asm volatile("vbroadcastf128 (%rcx),%ymm4");
30862306a36Sopenharmony_ci	asm volatile("vbroadcastf32x4 (%rcx),%zmm26");
30962306a36Sopenharmony_ci	asm volatile("vbroadcastf64x2 (%rcx),%zmm26");
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 1b */
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci	asm volatile("vbroadcastf32x8 (%rcx),%zmm27");
31462306a36Sopenharmony_ci	asm volatile("vbroadcastf64x4 (%rcx),%zmm26");
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 1f */
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci	asm volatile("vpabsq %zmm27,%zmm28");
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 20 */
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci	asm volatile("vpmovsxbw %xmm4,%xmm5");
32362306a36Sopenharmony_ci	asm volatile("vpmovswb %zmm27,%ymm6{%k7}");
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 21 */
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci	asm volatile("vpmovsxbd %xmm4,%ymm6");
32862306a36Sopenharmony_ci	asm volatile("vpmovsdb %zmm27,%xmm6{%k7}");
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 22 */
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci	asm volatile("vpmovsxbq %xmm4,%ymm4");
33362306a36Sopenharmony_ci	asm volatile("vpmovsqb %zmm27,%xmm6{%k7}");
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 23 */
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ci	asm volatile("vpmovsxwd %xmm4,%ymm4");
33862306a36Sopenharmony_ci	asm volatile("vpmovsdw %zmm27,%ymm6{%k7}");
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 24 */
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci	asm volatile("vpmovsxwq %xmm4,%ymm6");
34362306a36Sopenharmony_ci	asm volatile("vpmovsqw %zmm27,%xmm6{%k7}");
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 25 */
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci	asm volatile("vpmovsxdq %xmm4,%ymm4");
34862306a36Sopenharmony_ci	asm volatile("vpmovsqd %zmm27,%ymm6{%k7}");
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 26 */
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ci	asm volatile("vptestmb %zmm27,%zmm28,%k5");
35362306a36Sopenharmony_ci	asm volatile("vptestmw %zmm27,%zmm28,%k5");
35462306a36Sopenharmony_ci	asm volatile("vptestnmb %zmm26,%zmm27,%k5");
35562306a36Sopenharmony_ci	asm volatile("vptestnmw %zmm26,%zmm27,%k5");
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 27 */
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci	asm volatile("vptestmd %zmm27,%zmm28,%k5");
36062306a36Sopenharmony_ci	asm volatile("vptestmq %zmm27,%zmm28,%k5");
36162306a36Sopenharmony_ci	asm volatile("vptestnmd %zmm26,%zmm27,%k5");
36262306a36Sopenharmony_ci	asm volatile("vptestnmq %zmm26,%zmm27,%k5");
36362306a36Sopenharmony_ci
36462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 28 */
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ci	asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");
36762306a36Sopenharmony_ci	asm volatile("vpmovm2b %k5,%zmm28");
36862306a36Sopenharmony_ci	asm volatile("vpmovm2w %k5,%zmm28");
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 29 */
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci	asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");
37362306a36Sopenharmony_ci	asm volatile("vpmovb2m %zmm28,%k5");
37462306a36Sopenharmony_ci	asm volatile("vpmovw2m %zmm28,%k5");
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 2a */
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ci	asm volatile("vmovntdqa (%rcx),%ymm4");
37962306a36Sopenharmony_ci	asm volatile("vpbroadcastmb2q %k6,%zmm30");
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 2c */
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci	asm volatile("vmaskmovps (%rcx),%ymm4,%ymm6");
38462306a36Sopenharmony_ci	asm volatile("vscalefps %zmm24,%zmm25,%zmm26");
38562306a36Sopenharmony_ci	asm volatile("vscalefpd %zmm24,%zmm25,%zmm26");
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 2d */
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci	asm volatile("vmaskmovpd (%rcx),%ymm4,%ymm6");
39062306a36Sopenharmony_ci	asm volatile("vscalefss %xmm24,%xmm25,%xmm26{%k7}");
39162306a36Sopenharmony_ci	asm volatile("vscalefsd %xmm24,%xmm25,%xmm26{%k7}");
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 30 */
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci	asm volatile("vpmovzxbw %xmm4,%ymm4");
39662306a36Sopenharmony_ci	asm volatile("vpmovwb %zmm27,%ymm6{%k7}");
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 31 */
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ci	asm volatile("vpmovzxbd %xmm4,%ymm6");
40162306a36Sopenharmony_ci	asm volatile("vpmovdb %zmm27,%xmm6{%k7}");
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 32 */
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_ci	asm volatile("vpmovzxbq %xmm4,%ymm4");
40662306a36Sopenharmony_ci	asm volatile("vpmovqb %zmm27,%xmm6{%k7}");
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 33 */
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ci	asm volatile("vpmovzxwd %xmm4,%ymm4");
41162306a36Sopenharmony_ci	asm volatile("vpmovdw %zmm27,%ymm6{%k7}");
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 34 */
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ci	asm volatile("vpmovzxwq %xmm4,%ymm6");
41662306a36Sopenharmony_ci	asm volatile("vpmovqw %zmm27,%xmm6{%k7}");
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 35 */
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci	asm volatile("vpmovzxdq %xmm4,%ymm4");
42162306a36Sopenharmony_ci	asm volatile("vpmovqd %zmm27,%ymm6{%k7}");
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 38 */
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_ci	asm volatile("vpermd %ymm4,%ymm6,%ymm2");
42662306a36Sopenharmony_ci	asm volatile("vpermd %ymm24,%ymm26,%ymm22{%k7}");
42762306a36Sopenharmony_ci	asm volatile("vpermq %ymm24,%ymm26,%ymm22{%k7}");
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 38 */
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ci	asm volatile("vpminsb %ymm4,%ymm6,%ymm2");
43262306a36Sopenharmony_ci	asm volatile("vpmovm2d %k5,%zmm28");
43362306a36Sopenharmony_ci	asm volatile("vpmovm2q %k5,%zmm28");
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 39 */
43662306a36Sopenharmony_ci
43762306a36Sopenharmony_ci	asm volatile("vpminsd %xmm1,%xmm2,%xmm3");
43862306a36Sopenharmony_ci	asm volatile("vpminsd %zmm24,%zmm25,%zmm26");
43962306a36Sopenharmony_ci	asm volatile("vpminsq %zmm24,%zmm25,%zmm26");
44062306a36Sopenharmony_ci	asm volatile("vpmovd2m %zmm28,%k5");
44162306a36Sopenharmony_ci	asm volatile("vpmovq2m %zmm28,%k5");
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3a */
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ci	asm volatile("vpminuw %ymm4,%ymm6,%ymm2");
44662306a36Sopenharmony_ci	asm volatile("vpbroadcastmw2d %k6,%zmm28");
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3b */
44962306a36Sopenharmony_ci
45062306a36Sopenharmony_ci	asm volatile("vpminud %ymm4,%ymm6,%ymm2");
45162306a36Sopenharmony_ci	asm volatile("vpminud %zmm24,%zmm25,%zmm26");
45262306a36Sopenharmony_ci	asm volatile("vpminuq %zmm24,%zmm25,%zmm26");
45362306a36Sopenharmony_ci
45462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3d */
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci	asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");
45762306a36Sopenharmony_ci	asm volatile("vpmaxsd %zmm24,%zmm25,%zmm26");
45862306a36Sopenharmony_ci	asm volatile("vpmaxsq %zmm24,%zmm25,%zmm26");
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3f */
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci	asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");
46362306a36Sopenharmony_ci	asm volatile("vpmaxud %zmm24,%zmm25,%zmm26");
46462306a36Sopenharmony_ci	asm volatile("vpmaxuq %zmm24,%zmm25,%zmm26");
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 42 */
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci	asm volatile("vpmulld %ymm4,%ymm6,%ymm2");
46962306a36Sopenharmony_ci	asm volatile("vpmulld %zmm24,%zmm25,%zmm26");
47062306a36Sopenharmony_ci	asm volatile("vpmullq %zmm24,%zmm25,%zmm26");
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 42 */
47362306a36Sopenharmony_ci
47462306a36Sopenharmony_ci	asm volatile("vgetexpps %zmm25,%zmm26");
47562306a36Sopenharmony_ci	asm volatile("vgetexppd %zmm27,%zmm28");
47662306a36Sopenharmony_ci
47762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 43 */
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci	asm volatile("vgetexpss %xmm24,%xmm25,%xmm26{%k7}");
48062306a36Sopenharmony_ci	asm volatile("vgetexpsd %xmm28,%xmm29,%xmm30{%k7}");
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 44 */
48362306a36Sopenharmony_ci
48462306a36Sopenharmony_ci	asm volatile("vplzcntd %zmm27,%zmm28");
48562306a36Sopenharmony_ci	asm volatile("vplzcntq %zmm27,%zmm28");
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 46 */
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci	asm volatile("vpsravd %ymm4,%ymm6,%ymm2");
49062306a36Sopenharmony_ci	asm volatile("vpsravd %zmm24,%zmm25,%zmm26");
49162306a36Sopenharmony_ci	asm volatile("vpsravq %zmm24,%zmm25,%zmm26");
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4c */
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_ci	asm volatile("vrcp14ps %zmm25,%zmm26");
49662306a36Sopenharmony_ci	asm volatile("vrcp14pd %zmm27,%zmm28");
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4d */
49962306a36Sopenharmony_ci
50062306a36Sopenharmony_ci	asm volatile("vrcp14ss %xmm24,%xmm25,%xmm26{%k7}");
50162306a36Sopenharmony_ci	asm volatile("vrcp14sd %xmm24,%xmm25,%xmm26{%k7}");
50262306a36Sopenharmony_ci
50362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4e */
50462306a36Sopenharmony_ci
50562306a36Sopenharmony_ci	asm volatile("vrsqrt14ps %zmm25,%zmm26");
50662306a36Sopenharmony_ci	asm volatile("vrsqrt14pd %zmm27,%zmm28");
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4f */
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci	asm volatile("vrsqrt14ss %xmm24,%xmm25,%xmm26{%k7}");
51162306a36Sopenharmony_ci	asm volatile("vrsqrt14sd %xmm24,%xmm25,%xmm26{%k7}");
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 50 */
51462306a36Sopenharmony_ci
51562306a36Sopenharmony_ci	asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");
51662306a36Sopenharmony_ci	asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");
51762306a36Sopenharmony_ci	asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");
51862306a36Sopenharmony_ci	asm volatile("vpdpbusd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
51962306a36Sopenharmony_ci	asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 51 */
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci	asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");
52462306a36Sopenharmony_ci	asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");
52562306a36Sopenharmony_ci	asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");
52662306a36Sopenharmony_ci	asm volatile("vpdpbusds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
52762306a36Sopenharmony_ci	asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 52 */
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_ci	asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");
53262306a36Sopenharmony_ci	asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");
53362306a36Sopenharmony_ci	asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");
53462306a36Sopenharmony_ci	asm volatile("vdpbf16ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
53562306a36Sopenharmony_ci	asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
53662306a36Sopenharmony_ci
53762306a36Sopenharmony_ci	asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");
53862306a36Sopenharmony_ci	asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");
53962306a36Sopenharmony_ci	asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");
54062306a36Sopenharmony_ci	asm volatile("vpdpwssd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
54162306a36Sopenharmony_ci	asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci	asm volatile("vp4dpwssd (%rax), %zmm0, %zmm4");
54462306a36Sopenharmony_ci	asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");
54562306a36Sopenharmony_ci	asm volatile("vp4dpwssd 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
54662306a36Sopenharmony_ci	asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
54762306a36Sopenharmony_ci
54862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 53 */
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci	asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");
55162306a36Sopenharmony_ci	asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");
55262306a36Sopenharmony_ci	asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");
55362306a36Sopenharmony_ci	asm volatile("vpdpwssds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
55462306a36Sopenharmony_ci	asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ci	asm volatile("vp4dpwssds (%rax), %zmm0, %zmm4");
55762306a36Sopenharmony_ci	asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");
55862306a36Sopenharmony_ci	asm volatile("vp4dpwssds 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
55962306a36Sopenharmony_ci	asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
56062306a36Sopenharmony_ci
56162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 54 */
56262306a36Sopenharmony_ci
56362306a36Sopenharmony_ci	asm volatile("vpopcntb %xmm1, %xmm2");
56462306a36Sopenharmony_ci	asm volatile("vpopcntb %ymm1, %ymm2");
56562306a36Sopenharmony_ci	asm volatile("vpopcntb %zmm1, %zmm2");
56662306a36Sopenharmony_ci	asm volatile("vpopcntb 0x12345678(%rax,%rcx,8),%zmm2");
56762306a36Sopenharmony_ci	asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");
56862306a36Sopenharmony_ci
56962306a36Sopenharmony_ci	asm volatile("vpopcntw %xmm1, %xmm2");
57062306a36Sopenharmony_ci	asm volatile("vpopcntw %ymm1, %ymm2");
57162306a36Sopenharmony_ci	asm volatile("vpopcntw %zmm1, %zmm2");
57262306a36Sopenharmony_ci	asm volatile("vpopcntw 0x12345678(%rax,%rcx,8),%zmm2");
57362306a36Sopenharmony_ci	asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");
57462306a36Sopenharmony_ci
57562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 55 */
57662306a36Sopenharmony_ci
57762306a36Sopenharmony_ci	asm volatile("vpopcntd %xmm1, %xmm2");
57862306a36Sopenharmony_ci	asm volatile("vpopcntd %ymm1, %ymm2");
57962306a36Sopenharmony_ci	asm volatile("vpopcntd %zmm1, %zmm2");
58062306a36Sopenharmony_ci	asm volatile("vpopcntd 0x12345678(%rax,%rcx,8),%zmm2");
58162306a36Sopenharmony_ci	asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");
58262306a36Sopenharmony_ci
58362306a36Sopenharmony_ci	asm volatile("vpopcntq %xmm1, %xmm2");
58462306a36Sopenharmony_ci	asm volatile("vpopcntq %ymm1, %ymm2");
58562306a36Sopenharmony_ci	asm volatile("vpopcntq %zmm1, %zmm2");
58662306a36Sopenharmony_ci	asm volatile("vpopcntq 0x12345678(%rax,%rcx,8),%zmm2");
58762306a36Sopenharmony_ci	asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");
58862306a36Sopenharmony_ci
58962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 59 */
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_ci	asm volatile("vpbroadcastq %xmm4,%xmm6");
59262306a36Sopenharmony_ci	asm volatile("vbroadcasti32x2 %xmm27,%zmm26");
59362306a36Sopenharmony_ci
59462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 5a */
59562306a36Sopenharmony_ci
59662306a36Sopenharmony_ci	asm volatile("vbroadcasti128 (%rcx),%ymm4");
59762306a36Sopenharmony_ci	asm volatile("vbroadcasti32x4 (%rcx),%zmm26");
59862306a36Sopenharmony_ci	asm volatile("vbroadcasti64x2 (%rcx),%zmm26");
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 5b */
60162306a36Sopenharmony_ci
60262306a36Sopenharmony_ci	asm volatile("vbroadcasti32x8 (%rcx),%zmm28");
60362306a36Sopenharmony_ci	asm volatile("vbroadcasti64x4 (%rcx),%zmm26");
60462306a36Sopenharmony_ci
60562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 62 */
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_ci	asm volatile("vpexpandb %xmm1, %xmm2");
60862306a36Sopenharmony_ci	asm volatile("vpexpandb %ymm1, %ymm2");
60962306a36Sopenharmony_ci	asm volatile("vpexpandb %zmm1, %zmm2");
61062306a36Sopenharmony_ci	asm volatile("vpexpandb 0x12345678(%rax,%rcx,8),%zmm2");
61162306a36Sopenharmony_ci	asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	asm volatile("vpexpandw %xmm1, %xmm2");
61462306a36Sopenharmony_ci	asm volatile("vpexpandw %ymm1, %ymm2");
61562306a36Sopenharmony_ci	asm volatile("vpexpandw %zmm1, %zmm2");
61662306a36Sopenharmony_ci	asm volatile("vpexpandw 0x12345678(%rax,%rcx,8),%zmm2");
61762306a36Sopenharmony_ci	asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");
61862306a36Sopenharmony_ci
61962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 63 */
62062306a36Sopenharmony_ci
62162306a36Sopenharmony_ci	asm volatile("vpcompressb %xmm1, %xmm2");
62262306a36Sopenharmony_ci	asm volatile("vpcompressb %ymm1, %ymm2");
62362306a36Sopenharmony_ci	asm volatile("vpcompressb %zmm1, %zmm2");
62462306a36Sopenharmony_ci	asm volatile("vpcompressb %zmm2,0x12345678(%rax,%rcx,8)");
62562306a36Sopenharmony_ci	asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");
62662306a36Sopenharmony_ci
62762306a36Sopenharmony_ci	asm volatile("vpcompressw %xmm1, %xmm2");
62862306a36Sopenharmony_ci	asm volatile("vpcompressw %ymm1, %ymm2");
62962306a36Sopenharmony_ci	asm volatile("vpcompressw %zmm1, %zmm2");
63062306a36Sopenharmony_ci	asm volatile("vpcompressw %zmm2,0x12345678(%rax,%rcx,8)");
63162306a36Sopenharmony_ci	asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");
63262306a36Sopenharmony_ci
63362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 64 */
63462306a36Sopenharmony_ci
63562306a36Sopenharmony_ci	asm volatile("vpblendmd %zmm26,%zmm27,%zmm28");
63662306a36Sopenharmony_ci	asm volatile("vpblendmq %zmm26,%zmm27,%zmm28");
63762306a36Sopenharmony_ci
63862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 65 */
63962306a36Sopenharmony_ci
64062306a36Sopenharmony_ci	asm volatile("vblendmps %zmm24,%zmm25,%zmm26");
64162306a36Sopenharmony_ci	asm volatile("vblendmpd %zmm26,%zmm27,%zmm28");
64262306a36Sopenharmony_ci
64362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 66 */
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_ci	asm volatile("vpblendmb %zmm26,%zmm27,%zmm28");
64662306a36Sopenharmony_ci	asm volatile("vpblendmw %zmm26,%zmm27,%zmm28");
64762306a36Sopenharmony_ci
64862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 68 */
64962306a36Sopenharmony_ci
65062306a36Sopenharmony_ci	asm volatile("vp2intersectd %xmm1, %xmm2, %k3");
65162306a36Sopenharmony_ci	asm volatile("vp2intersectd %ymm1, %ymm2, %k3");
65262306a36Sopenharmony_ci	asm volatile("vp2intersectd %zmm1, %zmm2, %k3");
65362306a36Sopenharmony_ci	asm volatile("vp2intersectd 0x12345678(%rax,%rcx,8),%zmm2,%k3");
65462306a36Sopenharmony_ci	asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");
65562306a36Sopenharmony_ci
65662306a36Sopenharmony_ci	asm volatile("vp2intersectq %xmm1, %xmm2, %k3");
65762306a36Sopenharmony_ci	asm volatile("vp2intersectq %ymm1, %ymm2, %k3");
65862306a36Sopenharmony_ci	asm volatile("vp2intersectq %zmm1, %zmm2, %k3");
65962306a36Sopenharmony_ci	asm volatile("vp2intersectq 0x12345678(%rax,%rcx,8),%zmm2,%k3");
66062306a36Sopenharmony_ci	asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");
66162306a36Sopenharmony_ci
66262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 70 */
66362306a36Sopenharmony_ci
66462306a36Sopenharmony_ci	asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");
66562306a36Sopenharmony_ci	asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");
66662306a36Sopenharmony_ci	asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");
66762306a36Sopenharmony_ci	asm volatile("vpshldvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
66862306a36Sopenharmony_ci	asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
66962306a36Sopenharmony_ci
67062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 71 */
67162306a36Sopenharmony_ci
67262306a36Sopenharmony_ci	asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");
67362306a36Sopenharmony_ci	asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");
67462306a36Sopenharmony_ci	asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");
67562306a36Sopenharmony_ci	asm volatile("vpshldvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
67662306a36Sopenharmony_ci	asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
67762306a36Sopenharmony_ci
67862306a36Sopenharmony_ci	asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");
67962306a36Sopenharmony_ci	asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");
68062306a36Sopenharmony_ci	asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");
68162306a36Sopenharmony_ci	asm volatile("vpshldvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
68262306a36Sopenharmony_ci	asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
68362306a36Sopenharmony_ci
68462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 72 */
68562306a36Sopenharmony_ci
68662306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");
68762306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");
68862306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");
68962306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
69062306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
69162306a36Sopenharmony_ci
69262306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 %xmm1, %xmm2");
69362306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 %ymm1, %xmm2");
69462306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 %zmm1, %ymm2");
69562306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 0x12345678(%rax,%rcx,8),%ymm2");
69662306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");
69762306a36Sopenharmony_ci
69862306a36Sopenharmony_ci	asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");
69962306a36Sopenharmony_ci	asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");
70062306a36Sopenharmony_ci	asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");
70162306a36Sopenharmony_ci	asm volatile("vpshrdvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
70262306a36Sopenharmony_ci	asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
70362306a36Sopenharmony_ci
70462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 73 */
70562306a36Sopenharmony_ci
70662306a36Sopenharmony_ci	asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");
70762306a36Sopenharmony_ci	asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");
70862306a36Sopenharmony_ci	asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");
70962306a36Sopenharmony_ci	asm volatile("vpshrdvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
71062306a36Sopenharmony_ci	asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
71162306a36Sopenharmony_ci
71262306a36Sopenharmony_ci	asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");
71362306a36Sopenharmony_ci	asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");
71462306a36Sopenharmony_ci	asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");
71562306a36Sopenharmony_ci	asm volatile("vpshrdvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
71662306a36Sopenharmony_ci	asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
71762306a36Sopenharmony_ci
71862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 75 */
71962306a36Sopenharmony_ci
72062306a36Sopenharmony_ci	asm volatile("vpermi2b %zmm24,%zmm25,%zmm26");
72162306a36Sopenharmony_ci	asm volatile("vpermi2w %zmm26,%zmm27,%zmm28");
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 76 */
72462306a36Sopenharmony_ci
72562306a36Sopenharmony_ci	asm volatile("vpermi2d %zmm26,%zmm27,%zmm28");
72662306a36Sopenharmony_ci	asm volatile("vpermi2q %zmm26,%zmm27,%zmm28");
72762306a36Sopenharmony_ci
72862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 77 */
72962306a36Sopenharmony_ci
73062306a36Sopenharmony_ci	asm volatile("vpermi2ps %zmm26,%zmm27,%zmm28");
73162306a36Sopenharmony_ci	asm volatile("vpermi2pd %zmm26,%zmm27,%zmm28");
73262306a36Sopenharmony_ci
73362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7a */
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_ci	asm volatile("vpbroadcastb %eax,%xmm30");
73662306a36Sopenharmony_ci
73762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7b */
73862306a36Sopenharmony_ci
73962306a36Sopenharmony_ci	asm volatile("vpbroadcastw %eax,%xmm30");
74062306a36Sopenharmony_ci
74162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7c */
74262306a36Sopenharmony_ci
74362306a36Sopenharmony_ci	asm volatile("vpbroadcastd %eax,%xmm30");
74462306a36Sopenharmony_ci	asm volatile("vpbroadcastq %rax,%zmm30");
74562306a36Sopenharmony_ci
74662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7d */
74762306a36Sopenharmony_ci
74862306a36Sopenharmony_ci	asm volatile("vpermt2b %zmm26,%zmm27,%zmm28");
74962306a36Sopenharmony_ci	asm volatile("vpermt2w %zmm26,%zmm27,%zmm28");
75062306a36Sopenharmony_ci
75162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7e */
75262306a36Sopenharmony_ci
75362306a36Sopenharmony_ci	asm volatile("vpermt2d %zmm26,%zmm27,%zmm28");
75462306a36Sopenharmony_ci	asm volatile("vpermt2q %zmm26,%zmm27,%zmm28");
75562306a36Sopenharmony_ci
75662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7f */
75762306a36Sopenharmony_ci
75862306a36Sopenharmony_ci	asm volatile("vpermt2ps %zmm26,%zmm27,%zmm28");
75962306a36Sopenharmony_ci	asm volatile("vpermt2pd %zmm26,%zmm27,%zmm28");
76062306a36Sopenharmony_ci
76162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 83 */
76262306a36Sopenharmony_ci
76362306a36Sopenharmony_ci	asm volatile("vpmultishiftqb %zmm26,%zmm27,%zmm28");
76462306a36Sopenharmony_ci
76562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 88 */
76662306a36Sopenharmony_ci
76762306a36Sopenharmony_ci	asm volatile("vexpandps (%rcx),%zmm26");
76862306a36Sopenharmony_ci	asm volatile("vexpandpd (%rcx),%zmm28");
76962306a36Sopenharmony_ci
77062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 89 */
77162306a36Sopenharmony_ci
77262306a36Sopenharmony_ci	asm volatile("vpexpandd (%rcx),%zmm28");
77362306a36Sopenharmony_ci	asm volatile("vpexpandq (%rcx),%zmm26");
77462306a36Sopenharmony_ci
77562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8a */
77662306a36Sopenharmony_ci
77762306a36Sopenharmony_ci	asm volatile("vcompressps %zmm28,(%rcx)");
77862306a36Sopenharmony_ci	asm volatile("vcompresspd %zmm28,(%rcx)");
77962306a36Sopenharmony_ci
78062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8b */
78162306a36Sopenharmony_ci
78262306a36Sopenharmony_ci	asm volatile("vpcompressd %zmm28,(%rcx)");
78362306a36Sopenharmony_ci	asm volatile("vpcompressq %zmm26,(%rcx)");
78462306a36Sopenharmony_ci
78562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8d */
78662306a36Sopenharmony_ci
78762306a36Sopenharmony_ci	asm volatile("vpermb %zmm26,%zmm27,%zmm28");
78862306a36Sopenharmony_ci	asm volatile("vpermw %zmm26,%zmm27,%zmm28");
78962306a36Sopenharmony_ci
79062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8f */
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_ci	asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");
79362306a36Sopenharmony_ci	asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");
79462306a36Sopenharmony_ci	asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");
79562306a36Sopenharmony_ci	asm volatile("vpshufbitqmb 0x12345678(%rax,%rcx,8),%zmm2,%k3");
79662306a36Sopenharmony_ci	asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");
79762306a36Sopenharmony_ci
79862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 90 */
79962306a36Sopenharmony_ci
80062306a36Sopenharmony_ci	asm volatile("vpgatherdd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
80162306a36Sopenharmony_ci	asm volatile("vpgatherdq %xmm2,0x04(%rbp,%xmm7,2),%xmm1");
80262306a36Sopenharmony_ci	asm volatile("vpgatherdd 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");
80362306a36Sopenharmony_ci	asm volatile("vpgatherdq 0x7b(%rbp,%ymm27,8),%zmm26{%k1}");
80462306a36Sopenharmony_ci
80562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 91 */
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_ci	asm volatile("vpgatherqd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
80862306a36Sopenharmony_ci	asm volatile("vpgatherqq %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
80962306a36Sopenharmony_ci	asm volatile("vpgatherqd 0x7b(%rbp,%zmm27,8),%ymm26{%k1}");
81062306a36Sopenharmony_ci	asm volatile("vpgatherqq 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");
81162306a36Sopenharmony_ci
81262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 9a */
81362306a36Sopenharmony_ci
81462306a36Sopenharmony_ci	asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");
81562306a36Sopenharmony_ci	asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");
81662306a36Sopenharmony_ci	asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");
81762306a36Sopenharmony_ci	asm volatile("vfmsub132ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
81862306a36Sopenharmony_ci	asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
81962306a36Sopenharmony_ci
82062306a36Sopenharmony_ci	asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");
82162306a36Sopenharmony_ci	asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");
82262306a36Sopenharmony_ci	asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");
82362306a36Sopenharmony_ci	asm volatile("vfmsub132pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
82462306a36Sopenharmony_ci	asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
82562306a36Sopenharmony_ci
82662306a36Sopenharmony_ci	asm volatile("v4fmaddps (%rax), %zmm0, %zmm4");
82762306a36Sopenharmony_ci	asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");
82862306a36Sopenharmony_ci	asm volatile("v4fmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
82962306a36Sopenharmony_ci	asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
83062306a36Sopenharmony_ci
83162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 9b */
83262306a36Sopenharmony_ci
83362306a36Sopenharmony_ci	asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");
83462306a36Sopenharmony_ci	asm volatile("vfmsub132ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
83562306a36Sopenharmony_ci	asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
83662306a36Sopenharmony_ci
83762306a36Sopenharmony_ci	asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");
83862306a36Sopenharmony_ci	asm volatile("vfmsub132sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
83962306a36Sopenharmony_ci	asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
84062306a36Sopenharmony_ci
84162306a36Sopenharmony_ci	asm volatile("v4fmaddss (%rax), %xmm0, %xmm4");
84262306a36Sopenharmony_ci	asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");
84362306a36Sopenharmony_ci	asm volatile("v4fmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");
84462306a36Sopenharmony_ci	asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
84562306a36Sopenharmony_ci
84662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a0 */
84762306a36Sopenharmony_ci
84862306a36Sopenharmony_ci	asm volatile("vpscatterdd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
84962306a36Sopenharmony_ci	asm volatile("vpscatterdq %zmm26,0x7b(%rbp,%ymm27,8){%k1}");
85062306a36Sopenharmony_ci
85162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a1 */
85262306a36Sopenharmony_ci
85362306a36Sopenharmony_ci	asm volatile("vpscatterqd %ymm6,0x7b(%rbp,%zmm29,8){%k1}");
85462306a36Sopenharmony_ci	asm volatile("vpscatterqq %ymm6,0x7b(%rbp,%ymm27,8){%k1}");
85562306a36Sopenharmony_ci
85662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a2 */
85762306a36Sopenharmony_ci
85862306a36Sopenharmony_ci	asm volatile("vscatterdps %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
85962306a36Sopenharmony_ci	asm volatile("vscatterdpd %zmm28,0x7b(%rbp,%ymm27,8){%k1}");
86062306a36Sopenharmony_ci
86162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a3 */
86262306a36Sopenharmony_ci
86362306a36Sopenharmony_ci	asm volatile("vscatterqps %ymm6,0x7b(%rbp,%zmm29,8){%k1}");
86462306a36Sopenharmony_ci	asm volatile("vscatterqpd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
86562306a36Sopenharmony_ci
86662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 aa */
86762306a36Sopenharmony_ci
86862306a36Sopenharmony_ci	asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");
86962306a36Sopenharmony_ci	asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");
87062306a36Sopenharmony_ci	asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");
87162306a36Sopenharmony_ci	asm volatile("vfmsub213ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
87262306a36Sopenharmony_ci	asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
87362306a36Sopenharmony_ci
87462306a36Sopenharmony_ci	asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");
87562306a36Sopenharmony_ci	asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");
87662306a36Sopenharmony_ci	asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");
87762306a36Sopenharmony_ci	asm volatile("vfmsub213pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
87862306a36Sopenharmony_ci	asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
87962306a36Sopenharmony_ci
88062306a36Sopenharmony_ci	asm volatile("v4fnmaddps (%rax), %zmm0, %zmm4");
88162306a36Sopenharmony_ci	asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");
88262306a36Sopenharmony_ci	asm volatile("v4fnmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
88362306a36Sopenharmony_ci	asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
88462306a36Sopenharmony_ci
88562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 ab */
88662306a36Sopenharmony_ci
88762306a36Sopenharmony_ci	asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");
88862306a36Sopenharmony_ci	asm volatile("vfmsub213ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
88962306a36Sopenharmony_ci	asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
89062306a36Sopenharmony_ci
89162306a36Sopenharmony_ci	asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");
89262306a36Sopenharmony_ci	asm volatile("vfmsub213sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
89362306a36Sopenharmony_ci	asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
89462306a36Sopenharmony_ci
89562306a36Sopenharmony_ci	asm volatile("v4fnmaddss (%rax), %xmm0, %xmm4");
89662306a36Sopenharmony_ci	asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");
89762306a36Sopenharmony_ci	asm volatile("v4fnmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");
89862306a36Sopenharmony_ci	asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
89962306a36Sopenharmony_ci
90062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 b4 */
90162306a36Sopenharmony_ci
90262306a36Sopenharmony_ci	asm volatile("vpmadd52luq %zmm26,%zmm27,%zmm28");
90362306a36Sopenharmony_ci
90462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 b5 */
90562306a36Sopenharmony_ci
90662306a36Sopenharmony_ci	asm volatile("vpmadd52huq %zmm26,%zmm27,%zmm28");
90762306a36Sopenharmony_ci
90862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c4 */
90962306a36Sopenharmony_ci
91062306a36Sopenharmony_ci	asm volatile("vpconflictd %zmm26,%zmm27");
91162306a36Sopenharmony_ci	asm volatile("vpconflictq %zmm26,%zmm27");
91262306a36Sopenharmony_ci
91362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c8 */
91462306a36Sopenharmony_ci
91562306a36Sopenharmony_ci	asm volatile("vexp2ps %zmm29,%zmm30");
91662306a36Sopenharmony_ci	asm volatile("vexp2pd %zmm26,%zmm27");
91762306a36Sopenharmony_ci
91862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 ca */
91962306a36Sopenharmony_ci
92062306a36Sopenharmony_ci	asm volatile("vrcp28ps %zmm29,%zmm30");
92162306a36Sopenharmony_ci	asm volatile("vrcp28pd %zmm26,%zmm27");
92262306a36Sopenharmony_ci
92362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cb */
92462306a36Sopenharmony_ci
92562306a36Sopenharmony_ci	asm volatile("vrcp28ss %xmm28,%xmm29,%xmm30{%k7}");
92662306a36Sopenharmony_ci	asm volatile("vrcp28sd %xmm25,%xmm26,%xmm27{%k7}");
92762306a36Sopenharmony_ci
92862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cc */
92962306a36Sopenharmony_ci
93062306a36Sopenharmony_ci	asm volatile("vrsqrt28ps %zmm29,%zmm30");
93162306a36Sopenharmony_ci	asm volatile("vrsqrt28pd %zmm26,%zmm27");
93262306a36Sopenharmony_ci
93362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cd */
93462306a36Sopenharmony_ci
93562306a36Sopenharmony_ci	asm volatile("vrsqrt28ss %xmm28,%xmm29,%xmm30{%k7}");
93662306a36Sopenharmony_ci	asm volatile("vrsqrt28sd %xmm25,%xmm26,%xmm27{%k7}");
93762306a36Sopenharmony_ci
93862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cf */
93962306a36Sopenharmony_ci
94062306a36Sopenharmony_ci	asm volatile("gf2p8mulb %xmm1, %xmm3");
94162306a36Sopenharmony_ci	asm volatile("gf2p8mulb 0x12345678(%rax,%rcx,8),%xmm3");
94262306a36Sopenharmony_ci	asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");
94362306a36Sopenharmony_ci
94462306a36Sopenharmony_ci	asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");
94562306a36Sopenharmony_ci	asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");
94662306a36Sopenharmony_ci	asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");
94762306a36Sopenharmony_ci	asm volatile("vgf2p8mulb 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
94862306a36Sopenharmony_ci	asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
94962306a36Sopenharmony_ci
95062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 dc */
95162306a36Sopenharmony_ci
95262306a36Sopenharmony_ci	asm volatile("vaesenc %xmm1, %xmm2, %xmm3");
95362306a36Sopenharmony_ci	asm volatile("vaesenc %ymm1, %ymm2, %ymm3");
95462306a36Sopenharmony_ci	asm volatile("vaesenc %zmm1, %zmm2, %zmm3");
95562306a36Sopenharmony_ci	asm volatile("vaesenc 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
95662306a36Sopenharmony_ci	asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
95762306a36Sopenharmony_ci
95862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 dd */
95962306a36Sopenharmony_ci
96062306a36Sopenharmony_ci	asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");
96162306a36Sopenharmony_ci	asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");
96262306a36Sopenharmony_ci	asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");
96362306a36Sopenharmony_ci	asm volatile("vaesenclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
96462306a36Sopenharmony_ci	asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
96562306a36Sopenharmony_ci
96662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 de */
96762306a36Sopenharmony_ci
96862306a36Sopenharmony_ci	asm volatile("vaesdec %xmm1, %xmm2, %xmm3");
96962306a36Sopenharmony_ci	asm volatile("vaesdec %ymm1, %ymm2, %ymm3");
97062306a36Sopenharmony_ci	asm volatile("vaesdec %zmm1, %zmm2, %zmm3");
97162306a36Sopenharmony_ci	asm volatile("vaesdec 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
97262306a36Sopenharmony_ci	asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
97362306a36Sopenharmony_ci
97462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 df */
97562306a36Sopenharmony_ci
97662306a36Sopenharmony_ci	asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");
97762306a36Sopenharmony_ci	asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");
97862306a36Sopenharmony_ci	asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");
97962306a36Sopenharmony_ci	asm volatile("vaesdeclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
98062306a36Sopenharmony_ci	asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
98162306a36Sopenharmony_ci
98262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 03 */
98362306a36Sopenharmony_ci
98462306a36Sopenharmony_ci	asm volatile("valignd $0x12,%zmm28,%zmm29,%zmm30");
98562306a36Sopenharmony_ci	asm volatile("valignq $0x12,%zmm25,%zmm26,%zmm27");
98662306a36Sopenharmony_ci
98762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 08 */
98862306a36Sopenharmony_ci
98962306a36Sopenharmony_ci	asm volatile("vroundps $0x5,%ymm6,%ymm2");
99062306a36Sopenharmony_ci	asm volatile("vrndscaleps $0x12,%zmm25,%zmm26");
99162306a36Sopenharmony_ci
99262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 09 */
99362306a36Sopenharmony_ci
99462306a36Sopenharmony_ci	asm volatile("vroundpd $0x5,%ymm6,%ymm2");
99562306a36Sopenharmony_ci	asm volatile("vrndscalepd $0x12,%zmm25,%zmm26");
99662306a36Sopenharmony_ci
99762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1a */
99862306a36Sopenharmony_ci
99962306a36Sopenharmony_ci	asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");
100062306a36Sopenharmony_ci	asm volatile("vrndscaless $0x12,%xmm24,%xmm25,%xmm26{%k7}");
100162306a36Sopenharmony_ci
100262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 0b */
100362306a36Sopenharmony_ci
100462306a36Sopenharmony_ci	asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");
100562306a36Sopenharmony_ci	asm volatile("vrndscalesd $0x12,%xmm24,%xmm25,%xmm26{%k7}");
100662306a36Sopenharmony_ci
100762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 18 */
100862306a36Sopenharmony_ci
100962306a36Sopenharmony_ci	asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");
101062306a36Sopenharmony_ci	asm volatile("vinsertf32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
101162306a36Sopenharmony_ci	asm volatile("vinsertf64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
101262306a36Sopenharmony_ci
101362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 19 */
101462306a36Sopenharmony_ci
101562306a36Sopenharmony_ci	asm volatile("vextractf128 $0x5,%ymm4,%xmm4");
101662306a36Sopenharmony_ci	asm volatile("vextractf32x4 $0x12,%zmm25,%xmm26{%k7}");
101762306a36Sopenharmony_ci	asm volatile("vextractf64x2 $0x12,%zmm25,%xmm26{%k7}");
101862306a36Sopenharmony_ci
101962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1a */
102062306a36Sopenharmony_ci
102162306a36Sopenharmony_ci	asm volatile("vinsertf32x8 $0x12,%ymm25,%zmm26,%zmm27{%k7}");
102262306a36Sopenharmony_ci	asm volatile("vinsertf64x4 $0x12,%ymm28,%zmm29,%zmm30{%k7}");
102362306a36Sopenharmony_ci
102462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1b */
102562306a36Sopenharmony_ci
102662306a36Sopenharmony_ci	asm volatile("vextractf32x8 $0x12,%zmm29,%ymm30{%k7}");
102762306a36Sopenharmony_ci	asm volatile("vextractf64x4 $0x12,%zmm26,%ymm27{%k7}");
102862306a36Sopenharmony_ci
102962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1e */
103062306a36Sopenharmony_ci
103162306a36Sopenharmony_ci	asm volatile("vpcmpud $0x12,%zmm29,%zmm30,%k5");
103262306a36Sopenharmony_ci	asm volatile("vpcmpuq $0x12,%zmm26,%zmm27,%k5");
103362306a36Sopenharmony_ci
103462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1f */
103562306a36Sopenharmony_ci
103662306a36Sopenharmony_ci	asm volatile("vpcmpd $0x12,%zmm29,%zmm30,%k5");
103762306a36Sopenharmony_ci	asm volatile("vpcmpq $0x12,%zmm26,%zmm27,%k5");
103862306a36Sopenharmony_ci
103962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 23 */
104062306a36Sopenharmony_ci
104162306a36Sopenharmony_ci	asm volatile("vshuff32x4 $0x12,%zmm28,%zmm29,%zmm30");
104262306a36Sopenharmony_ci	asm volatile("vshuff64x2 $0x12,%zmm25,%zmm26,%zmm27");
104362306a36Sopenharmony_ci
104462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 25 */
104562306a36Sopenharmony_ci
104662306a36Sopenharmony_ci	asm volatile("vpternlogd $0x12,%zmm28,%zmm29,%zmm30");
104762306a36Sopenharmony_ci	asm volatile("vpternlogq $0x12,%zmm28,%zmm29,%zmm30");
104862306a36Sopenharmony_ci
104962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 26 */
105062306a36Sopenharmony_ci
105162306a36Sopenharmony_ci	asm volatile("vgetmantps $0x12,%zmm26,%zmm27");
105262306a36Sopenharmony_ci	asm volatile("vgetmantpd $0x12,%zmm29,%zmm30");
105362306a36Sopenharmony_ci
105462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 27 */
105562306a36Sopenharmony_ci
105662306a36Sopenharmony_ci	asm volatile("vgetmantss $0x12,%xmm25,%xmm26,%xmm27{%k7}");
105762306a36Sopenharmony_ci	asm volatile("vgetmantsd $0x12,%xmm28,%xmm29,%xmm30{%k7}");
105862306a36Sopenharmony_ci
105962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 38 */
106062306a36Sopenharmony_ci
106162306a36Sopenharmony_ci	asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");
106262306a36Sopenharmony_ci	asm volatile("vinserti32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
106362306a36Sopenharmony_ci	asm volatile("vinserti64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
106462306a36Sopenharmony_ci
106562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 39 */
106662306a36Sopenharmony_ci
106762306a36Sopenharmony_ci	asm volatile("vextracti128 $0x5,%ymm4,%xmm6");
106862306a36Sopenharmony_ci	asm volatile("vextracti32x4 $0x12,%zmm25,%xmm26{%k7}");
106962306a36Sopenharmony_ci	asm volatile("vextracti64x2 $0x12,%zmm25,%xmm26{%k7}");
107062306a36Sopenharmony_ci
107162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3a */
107262306a36Sopenharmony_ci
107362306a36Sopenharmony_ci	asm volatile("vinserti32x8 $0x12,%ymm28,%zmm29,%zmm30{%k7}");
107462306a36Sopenharmony_ci	asm volatile("vinserti64x4 $0x12,%ymm25,%zmm26,%zmm27{%k7}");
107562306a36Sopenharmony_ci
107662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3b */
107762306a36Sopenharmony_ci
107862306a36Sopenharmony_ci	asm volatile("vextracti32x8 $0x12,%zmm29,%ymm30{%k7}");
107962306a36Sopenharmony_ci	asm volatile("vextracti64x4 $0x12,%zmm26,%ymm27{%k7}");
108062306a36Sopenharmony_ci
108162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3e */
108262306a36Sopenharmony_ci
108362306a36Sopenharmony_ci	asm volatile("vpcmpub $0x12,%zmm29,%zmm30,%k5");
108462306a36Sopenharmony_ci	asm volatile("vpcmpuw $0x12,%zmm26,%zmm27,%k5");
108562306a36Sopenharmony_ci
108662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3f */
108762306a36Sopenharmony_ci
108862306a36Sopenharmony_ci	asm volatile("vpcmpb $0x12,%zmm29,%zmm30,%k5");
108962306a36Sopenharmony_ci	asm volatile("vpcmpw $0x12,%zmm26,%zmm27,%k5");
109062306a36Sopenharmony_ci
109162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 43 */
109262306a36Sopenharmony_ci
109362306a36Sopenharmony_ci	asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");
109462306a36Sopenharmony_ci	asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");
109562306a36Sopenharmony_ci
109662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 43 */
109762306a36Sopenharmony_ci
109862306a36Sopenharmony_ci	asm volatile("vshufi32x4 $0x12,%zmm25,%zmm26,%zmm27");
109962306a36Sopenharmony_ci	asm volatile("vshufi64x2 $0x12,%zmm28,%zmm29,%zmm30");
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 44 */
110262306a36Sopenharmony_ci
110362306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");
110462306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");
110562306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");
110662306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%zmm25,%zmm26,%zmm27");
110762306a36Sopenharmony_ci
110862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 50 */
110962306a36Sopenharmony_ci
111062306a36Sopenharmony_ci	asm volatile("vrangeps $0x12,%zmm25,%zmm26,%zmm27");
111162306a36Sopenharmony_ci	asm volatile("vrangepd $0x12,%zmm28,%zmm29,%zmm30");
111262306a36Sopenharmony_ci
111362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 51 */
111462306a36Sopenharmony_ci
111562306a36Sopenharmony_ci	asm volatile("vrangess $0x12,%xmm25,%xmm26,%xmm27");
111662306a36Sopenharmony_ci	asm volatile("vrangesd $0x12,%xmm28,%xmm29,%xmm30");
111762306a36Sopenharmony_ci
111862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 54 */
111962306a36Sopenharmony_ci
112062306a36Sopenharmony_ci	asm volatile("vfixupimmps $0x12,%zmm28,%zmm29,%zmm30");
112162306a36Sopenharmony_ci	asm volatile("vfixupimmpd $0x12,%zmm25,%zmm26,%zmm27");
112262306a36Sopenharmony_ci
112362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 55 */
112462306a36Sopenharmony_ci
112562306a36Sopenharmony_ci	asm volatile("vfixupimmss $0x12,%xmm28,%xmm29,%xmm30{%k7}");
112662306a36Sopenharmony_ci	asm volatile("vfixupimmsd $0x12,%xmm25,%xmm26,%xmm27{%k7}");
112762306a36Sopenharmony_ci
112862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 56 */
112962306a36Sopenharmony_ci
113062306a36Sopenharmony_ci	asm volatile("vreduceps $0x12,%zmm26,%zmm27");
113162306a36Sopenharmony_ci	asm volatile("vreducepd $0x12,%zmm29,%zmm30");
113262306a36Sopenharmony_ci
113362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 57 */
113462306a36Sopenharmony_ci
113562306a36Sopenharmony_ci	asm volatile("vreducess $0x12,%xmm25,%xmm26,%xmm27");
113662306a36Sopenharmony_ci	asm volatile("vreducesd $0x12,%xmm28,%xmm29,%xmm30");
113762306a36Sopenharmony_ci
113862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 66 */
113962306a36Sopenharmony_ci
114062306a36Sopenharmony_ci	asm volatile("vfpclassps $0x12,%zmm27,%k5");
114162306a36Sopenharmony_ci	asm volatile("vfpclasspd $0x12,%zmm30,%k5");
114262306a36Sopenharmony_ci
114362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 67 */
114462306a36Sopenharmony_ci
114562306a36Sopenharmony_ci	asm volatile("vfpclassss $0x12,%xmm27,%k5");
114662306a36Sopenharmony_ci	asm volatile("vfpclasssd $0x12,%xmm30,%k5");
114762306a36Sopenharmony_ci
114862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 70 */
114962306a36Sopenharmony_ci
115062306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");
115162306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");
115262306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");
115362306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%zmm25,%zmm26,%zmm27");
115462306a36Sopenharmony_ci
115562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 71 */
115662306a36Sopenharmony_ci
115762306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");
115862306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");
115962306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");
116062306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%zmm25,%zmm26,%zmm27");
116162306a36Sopenharmony_ci
116262306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");
116362306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");
116462306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");
116562306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%zmm25,%zmm26,%zmm27");
116662306a36Sopenharmony_ci
116762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 72 */
116862306a36Sopenharmony_ci
116962306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");
117062306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");
117162306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");
117262306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%zmm25,%zmm26,%zmm27");
117362306a36Sopenharmony_ci
117462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 73 */
117562306a36Sopenharmony_ci
117662306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");
117762306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");
117862306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");
117962306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%zmm25,%zmm26,%zmm27");
118062306a36Sopenharmony_ci
118162306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");
118262306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");
118362306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");
118462306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%zmm25,%zmm26,%zmm27");
118562306a36Sopenharmony_ci
118662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a ce */
118762306a36Sopenharmony_ci
118862306a36Sopenharmony_ci	asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");
118962306a36Sopenharmony_ci
119062306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");
119162306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");
119262306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");
119362306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%zmm25,%zmm26,%zmm27");
119462306a36Sopenharmony_ci
119562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a cf */
119662306a36Sopenharmony_ci
119762306a36Sopenharmony_ci	asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");
119862306a36Sopenharmony_ci
119962306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");
120062306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");
120162306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");
120262306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%zmm25,%zmm26,%zmm27");
120362306a36Sopenharmony_ci
120462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 72 (Grp13) */
120562306a36Sopenharmony_ci
120662306a36Sopenharmony_ci	asm volatile("vprord $0x12,%zmm25,%zmm26");
120762306a36Sopenharmony_ci	asm volatile("vprorq $0x12,%zmm25,%zmm26");
120862306a36Sopenharmony_ci	asm volatile("vprold $0x12,%zmm29,%zmm30");
120962306a36Sopenharmony_ci	asm volatile("vprolq $0x12,%zmm29,%zmm30");
121062306a36Sopenharmony_ci	asm volatile("psrad  $0x2,%mm6");
121162306a36Sopenharmony_ci	asm volatile("vpsrad $0x5,%ymm6,%ymm2");
121262306a36Sopenharmony_ci	asm volatile("vpsrad $0x5,%zmm26,%zmm22");
121362306a36Sopenharmony_ci	asm volatile("vpsraq $0x5,%zmm26,%zmm22");
121462306a36Sopenharmony_ci
121562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c6 (Grp18) */
121662306a36Sopenharmony_ci
121762306a36Sopenharmony_ci	asm volatile("vgatherpf0dps 0x7b(%r14,%zmm31,8){%k1}");
121862306a36Sopenharmony_ci	asm volatile("vgatherpf0dpd 0x7b(%r14,%ymm31,8){%k1}");
121962306a36Sopenharmony_ci	asm volatile("vgatherpf1dps 0x7b(%r14,%zmm31,8){%k1}");
122062306a36Sopenharmony_ci	asm volatile("vgatherpf1dpd 0x7b(%r14,%ymm31,8){%k1}");
122162306a36Sopenharmony_ci	asm volatile("vscatterpf0dps 0x7b(%r14,%zmm31,8){%k1}");
122262306a36Sopenharmony_ci	asm volatile("vscatterpf0dpd 0x7b(%r14,%ymm31,8){%k1}");
122362306a36Sopenharmony_ci	asm volatile("vscatterpf1dps 0x7b(%r14,%zmm31,8){%k1}");
122462306a36Sopenharmony_ci	asm volatile("vscatterpf1dpd 0x7b(%r14,%ymm31,8){%k1}");
122562306a36Sopenharmony_ci
122662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c7 (Grp19) */
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_ci	asm volatile("vgatherpf0qps 0x7b(%r14,%zmm31,8){%k1}");
122962306a36Sopenharmony_ci	asm volatile("vgatherpf0qpd 0x7b(%r14,%zmm31,8){%k1}");
123062306a36Sopenharmony_ci	asm volatile("vgatherpf1qps 0x7b(%r14,%zmm31,8){%k1}");
123162306a36Sopenharmony_ci	asm volatile("vgatherpf1qpd 0x7b(%r14,%zmm31,8){%k1}");
123262306a36Sopenharmony_ci	asm volatile("vscatterpf0qps 0x7b(%r14,%zmm31,8){%k1}");
123362306a36Sopenharmony_ci	asm volatile("vscatterpf0qpd 0x7b(%r14,%zmm31,8){%k1}");
123462306a36Sopenharmony_ci	asm volatile("vscatterpf1qps 0x7b(%r14,%zmm31,8){%k1}");
123562306a36Sopenharmony_ci	asm volatile("vscatterpf1qpd 0x7b(%r14,%zmm31,8){%k1}");
123662306a36Sopenharmony_ci
123762306a36Sopenharmony_ci	/* AVX-512: Examples */
123862306a36Sopenharmony_ci
123962306a36Sopenharmony_ci	asm volatile("vaddpd %zmm28,%zmm29,%zmm30");
124062306a36Sopenharmony_ci	asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}");
124162306a36Sopenharmony_ci	asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}{z}");
124262306a36Sopenharmony_ci	asm volatile("vaddpd {rn-sae},%zmm28,%zmm29,%zmm30");
124362306a36Sopenharmony_ci	asm volatile("vaddpd {ru-sae},%zmm28,%zmm29,%zmm30");
124462306a36Sopenharmony_ci	asm volatile("vaddpd {rd-sae},%zmm28,%zmm29,%zmm30");
124562306a36Sopenharmony_ci	asm volatile("vaddpd {rz-sae},%zmm28,%zmm29,%zmm30");
124662306a36Sopenharmony_ci	asm volatile("vaddpd (%rcx),%zmm29,%zmm30");
124762306a36Sopenharmony_ci	asm volatile("vaddpd 0x123(%rax,%r14,8),%zmm29,%zmm30");
124862306a36Sopenharmony_ci	asm volatile("vaddpd (%rcx){1to8},%zmm29,%zmm30");
124962306a36Sopenharmony_ci	asm volatile("vaddpd 0x1fc0(%rdx),%zmm29,%zmm30");
125062306a36Sopenharmony_ci	asm volatile("vaddpd 0x3f8(%rdx){1to8},%zmm29,%zmm30");
125162306a36Sopenharmony_ci	asm volatile("vcmpeq_uqps 0x1fc(%rdx){1to16},%zmm30,%k5");
125262306a36Sopenharmony_ci	asm volatile("vcmpltsd 0x123(%rax,%r14,8),%xmm29,%k5{%k7}");
125362306a36Sopenharmony_ci	asm volatile("vcmplesd {sae},%xmm28,%xmm29,%k5{%k7}");
125462306a36Sopenharmony_ci	asm volatile("vgetmantss $0x5b,0x123(%rax,%r14,8),%xmm29,%xmm30{%k7}");
125562306a36Sopenharmony_ci
125662306a36Sopenharmony_ci	/* bndmk m64, bnd */
125762306a36Sopenharmony_ci
125862306a36Sopenharmony_ci	asm volatile("bndmk (%rax), %bnd0");
125962306a36Sopenharmony_ci	asm volatile("bndmk (%r8), %bnd0");
126062306a36Sopenharmony_ci	asm volatile("bndmk (0x12345678), %bnd0");
126162306a36Sopenharmony_ci	asm volatile("bndmk (%rax), %bnd3");
126262306a36Sopenharmony_ci	asm volatile("bndmk (%rcx,%rax,1), %bnd0");
126362306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(,%rax,1), %bnd0");
126462306a36Sopenharmony_ci	asm volatile("bndmk (%rax,%rcx,1), %bnd0");
126562306a36Sopenharmony_ci	asm volatile("bndmk (%rax,%rcx,8), %bnd0");
126662306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%rax), %bnd0");
126762306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%rbp), %bnd0");
126862306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%rcx,%rax,1), %bnd0");
126962306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%rbp,%rax,1), %bnd0");
127062306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%rax,%rcx,1), %bnd0");
127162306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%rax,%rcx,8), %bnd0");
127262306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%rax), %bnd0");
127362306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%rbp), %bnd0");
127462306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%rcx,%rax,1), %bnd0");
127562306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%rbp,%rax,1), %bnd0");
127662306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%rax,%rcx,1), %bnd0");
127762306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%rax,%rcx,8), %bnd0");
127862306a36Sopenharmony_ci
127962306a36Sopenharmony_ci	/* bndcl r/m64, bnd */
128062306a36Sopenharmony_ci
128162306a36Sopenharmony_ci	asm volatile("bndcl (%rax), %bnd0");
128262306a36Sopenharmony_ci	asm volatile("bndcl (%r8), %bnd0");
128362306a36Sopenharmony_ci	asm volatile("bndcl (0x12345678), %bnd0");
128462306a36Sopenharmony_ci	asm volatile("bndcl (%rax), %bnd3");
128562306a36Sopenharmony_ci	asm volatile("bndcl (%rcx,%rax,1), %bnd0");
128662306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(,%rax,1), %bnd0");
128762306a36Sopenharmony_ci	asm volatile("bndcl (%rax,%rcx,1), %bnd0");
128862306a36Sopenharmony_ci	asm volatile("bndcl (%rax,%rcx,8), %bnd0");
128962306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%rax), %bnd0");
129062306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%rbp), %bnd0");
129162306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%rcx,%rax,1), %bnd0");
129262306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%rbp,%rax,1), %bnd0");
129362306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%rax,%rcx,1), %bnd0");
129462306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%rax,%rcx,8), %bnd0");
129562306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%rax), %bnd0");
129662306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%rbp), %bnd0");
129762306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%rcx,%rax,1), %bnd0");
129862306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%rbp,%rax,1), %bnd0");
129962306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%rax,%rcx,1), %bnd0");
130062306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%rax,%rcx,8), %bnd0");
130162306a36Sopenharmony_ci	asm volatile("bndcl %rax, %bnd0");
130262306a36Sopenharmony_ci
130362306a36Sopenharmony_ci	/* bndcu r/m64, bnd */
130462306a36Sopenharmony_ci
130562306a36Sopenharmony_ci	asm volatile("bndcu (%rax), %bnd0");
130662306a36Sopenharmony_ci	asm volatile("bndcu (%r8), %bnd0");
130762306a36Sopenharmony_ci	asm volatile("bndcu (0x12345678), %bnd0");
130862306a36Sopenharmony_ci	asm volatile("bndcu (%rax), %bnd3");
130962306a36Sopenharmony_ci	asm volatile("bndcu (%rcx,%rax,1), %bnd0");
131062306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(,%rax,1), %bnd0");
131162306a36Sopenharmony_ci	asm volatile("bndcu (%rax,%rcx,1), %bnd0");
131262306a36Sopenharmony_ci	asm volatile("bndcu (%rax,%rcx,8), %bnd0");
131362306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%rax), %bnd0");
131462306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%rbp), %bnd0");
131562306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%rcx,%rax,1), %bnd0");
131662306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%rbp,%rax,1), %bnd0");
131762306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%rax,%rcx,1), %bnd0");
131862306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%rax,%rcx,8), %bnd0");
131962306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%rax), %bnd0");
132062306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%rbp), %bnd0");
132162306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%rcx,%rax,1), %bnd0");
132262306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%rbp,%rax,1), %bnd0");
132362306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%rax,%rcx,1), %bnd0");
132462306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%rax,%rcx,8), %bnd0");
132562306a36Sopenharmony_ci	asm volatile("bndcu %rax, %bnd0");
132662306a36Sopenharmony_ci
132762306a36Sopenharmony_ci	/* bndcn r/m64, bnd */
132862306a36Sopenharmony_ci
132962306a36Sopenharmony_ci	asm volatile("bndcn (%rax), %bnd0");
133062306a36Sopenharmony_ci	asm volatile("bndcn (%r8), %bnd0");
133162306a36Sopenharmony_ci	asm volatile("bndcn (0x12345678), %bnd0");
133262306a36Sopenharmony_ci	asm volatile("bndcn (%rax), %bnd3");
133362306a36Sopenharmony_ci	asm volatile("bndcn (%rcx,%rax,1), %bnd0");
133462306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(,%rax,1), %bnd0");
133562306a36Sopenharmony_ci	asm volatile("bndcn (%rax,%rcx,1), %bnd0");
133662306a36Sopenharmony_ci	asm volatile("bndcn (%rax,%rcx,8), %bnd0");
133762306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%rax), %bnd0");
133862306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%rbp), %bnd0");
133962306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%rcx,%rax,1), %bnd0");
134062306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%rbp,%rax,1), %bnd0");
134162306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%rax,%rcx,1), %bnd0");
134262306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%rax,%rcx,8), %bnd0");
134362306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%rax), %bnd0");
134462306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%rbp), %bnd0");
134562306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%rcx,%rax,1), %bnd0");
134662306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%rbp,%rax,1), %bnd0");
134762306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%rax,%rcx,1), %bnd0");
134862306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%rax,%rcx,8), %bnd0");
134962306a36Sopenharmony_ci	asm volatile("bndcn %rax, %bnd0");
135062306a36Sopenharmony_ci
135162306a36Sopenharmony_ci	/* bndmov m128, bnd */
135262306a36Sopenharmony_ci
135362306a36Sopenharmony_ci	asm volatile("bndmov (%rax), %bnd0");
135462306a36Sopenharmony_ci	asm volatile("bndmov (%r8), %bnd0");
135562306a36Sopenharmony_ci	asm volatile("bndmov (0x12345678), %bnd0");
135662306a36Sopenharmony_ci	asm volatile("bndmov (%rax), %bnd3");
135762306a36Sopenharmony_ci	asm volatile("bndmov (%rcx,%rax,1), %bnd0");
135862306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(,%rax,1), %bnd0");
135962306a36Sopenharmony_ci	asm volatile("bndmov (%rax,%rcx,1), %bnd0");
136062306a36Sopenharmony_ci	asm volatile("bndmov (%rax,%rcx,8), %bnd0");
136162306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%rax), %bnd0");
136262306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%rbp), %bnd0");
136362306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%rcx,%rax,1), %bnd0");
136462306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%rbp,%rax,1), %bnd0");
136562306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%rax,%rcx,1), %bnd0");
136662306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%rax,%rcx,8), %bnd0");
136762306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%rax), %bnd0");
136862306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%rbp), %bnd0");
136962306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%rcx,%rax,1), %bnd0");
137062306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%rbp,%rax,1), %bnd0");
137162306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%rax,%rcx,1), %bnd0");
137262306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%rax,%rcx,8), %bnd0");
137362306a36Sopenharmony_ci
137462306a36Sopenharmony_ci	/* bndmov bnd, m128 */
137562306a36Sopenharmony_ci
137662306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%rax)");
137762306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%r8)");
137862306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (0x12345678)");
137962306a36Sopenharmony_ci	asm volatile("bndmov %bnd3, (%rax)");
138062306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%rcx,%rax,1)");
138162306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(,%rax,1)");
138262306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%rax,%rcx,1)");
138362306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%rax,%rcx,8)");
138462306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%rax)");
138562306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%rbp)");
138662306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%rcx,%rax,1)");
138762306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%rbp,%rax,1)");
138862306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,1)");
138962306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,8)");
139062306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%rax)");
139162306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%rbp)");
139262306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%rcx,%rax,1)");
139362306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%rbp,%rax,1)");
139462306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,1)");
139562306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,8)");
139662306a36Sopenharmony_ci
139762306a36Sopenharmony_ci	/* bndmov bnd2, bnd1 */
139862306a36Sopenharmony_ci
139962306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, %bnd1");
140062306a36Sopenharmony_ci	asm volatile("bndmov %bnd1, %bnd0");
140162306a36Sopenharmony_ci
140262306a36Sopenharmony_ci	/* bndldx mib, bnd */
140362306a36Sopenharmony_ci
140462306a36Sopenharmony_ci	asm volatile("bndldx (%rax), %bnd0");
140562306a36Sopenharmony_ci	asm volatile("bndldx (%r8), %bnd0");
140662306a36Sopenharmony_ci	asm volatile("bndldx (0x12345678), %bnd0");
140762306a36Sopenharmony_ci	asm volatile("bndldx (%rax), %bnd3");
140862306a36Sopenharmony_ci	asm volatile("bndldx (%rcx,%rax,1), %bnd0");
140962306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(,%rax,1), %bnd0");
141062306a36Sopenharmony_ci	asm volatile("bndldx (%rax,%rcx,1), %bnd0");
141162306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%rax), %bnd0");
141262306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%rbp), %bnd0");
141362306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%rcx,%rax,1), %bnd0");
141462306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%rbp,%rax,1), %bnd0");
141562306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%rax,%rcx,1), %bnd0");
141662306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%rax), %bnd0");
141762306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%rbp), %bnd0");
141862306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%rcx,%rax,1), %bnd0");
141962306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%rbp,%rax,1), %bnd0");
142062306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%rax,%rcx,1), %bnd0");
142162306a36Sopenharmony_ci
142262306a36Sopenharmony_ci	/* bndstx bnd, mib */
142362306a36Sopenharmony_ci
142462306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%rax)");
142562306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%r8)");
142662306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (0x12345678)");
142762306a36Sopenharmony_ci	asm volatile("bndstx %bnd3, (%rax)");
142862306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%rcx,%rax,1)");
142962306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(,%rax,1)");
143062306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%rax,%rcx,1)");
143162306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%rax)");
143262306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%rbp)");
143362306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%rcx,%rax,1)");
143462306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%rbp,%rax,1)");
143562306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%rax,%rcx,1)");
143662306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%rax)");
143762306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%rbp)");
143862306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%rcx,%rax,1)");
143962306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%rbp,%rax,1)");
144062306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%rax,%rcx,1)");
144162306a36Sopenharmony_ci
144262306a36Sopenharmony_ci	/* bnd prefix on call, ret, jmp and all jcc */
144362306a36Sopenharmony_ci
144462306a36Sopenharmony_ci	asm volatile("bnd call label1");  /* Expecting: call unconditional 0 */
144562306a36Sopenharmony_ci	asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */
144662306a36Sopenharmony_ci	asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */
144762306a36Sopenharmony_ci	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0 */
144862306a36Sopenharmony_ci	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0 */
144962306a36Sopenharmony_ci	asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */
145062306a36Sopenharmony_ci	asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0 */
145162306a36Sopenharmony_ci
145262306a36Sopenharmony_ci	/* sha1rnds4 imm8, xmm2/m128, xmm1 */
145362306a36Sopenharmony_ci
145462306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");
145562306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");
145662306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, %xmm8, %xmm0");
145762306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm8");
145862306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, %xmm15, %xmm8");
145962306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%rax), %xmm0");
146062306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%r8), %xmm0");
146162306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");
146262306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%rax), %xmm3");
146362306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%rcx,%rax,1), %xmm0");
146462306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(,%rax,1), %xmm0");
146562306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%rax,%rcx,1), %xmm0");
146662306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%rax,%rcx,8), %xmm0");
146762306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%rax), %xmm0");
146862306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%rbp), %xmm0");
146962306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%rcx,%rax,1), %xmm0");
147062306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%rbp,%rax,1), %xmm0");
147162306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,1), %xmm0");
147262306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,8), %xmm0");
147362306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax), %xmm0");
147462306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp), %xmm0");
147562306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rcx,%rax,1), %xmm0");
147662306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp,%rax,1), %xmm0");
147762306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,1), %xmm0");
147862306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm0");
147962306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm15");
148062306a36Sopenharmony_ci
148162306a36Sopenharmony_ci	/* sha1nexte xmm2/m128, xmm1 */
148262306a36Sopenharmony_ci
148362306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm1, %xmm0");
148462306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm7, %xmm2");
148562306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm8, %xmm0");
148662306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm7, %xmm8");
148762306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm15, %xmm8");
148862306a36Sopenharmony_ci	asm volatile("sha1nexte (%rax), %xmm0");
148962306a36Sopenharmony_ci	asm volatile("sha1nexte (%r8), %xmm0");
149062306a36Sopenharmony_ci	asm volatile("sha1nexte (0x12345678), %xmm0");
149162306a36Sopenharmony_ci	asm volatile("sha1nexte (%rax), %xmm3");
149262306a36Sopenharmony_ci	asm volatile("sha1nexte (%rcx,%rax,1), %xmm0");
149362306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(,%rax,1), %xmm0");
149462306a36Sopenharmony_ci	asm volatile("sha1nexte (%rax,%rcx,1), %xmm0");
149562306a36Sopenharmony_ci	asm volatile("sha1nexte (%rax,%rcx,8), %xmm0");
149662306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%rax), %xmm0");
149762306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%rbp), %xmm0");
149862306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%rcx,%rax,1), %xmm0");
149962306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%rbp,%rax,1), %xmm0");
150062306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%rax,%rcx,1), %xmm0");
150162306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%rax,%rcx,8), %xmm0");
150262306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rax), %xmm0");
150362306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rbp), %xmm0");
150462306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rcx,%rax,1), %xmm0");
150562306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rbp,%rax,1), %xmm0");
150662306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rax,%rcx,1), %xmm0");
150762306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm0");
150862306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm15");
150962306a36Sopenharmony_ci
151062306a36Sopenharmony_ci	/* sha1msg1 xmm2/m128, xmm1 */
151162306a36Sopenharmony_ci
151262306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm1, %xmm0");
151362306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm7, %xmm2");
151462306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm8, %xmm0");
151562306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm7, %xmm8");
151662306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm15, %xmm8");
151762306a36Sopenharmony_ci	asm volatile("sha1msg1 (%rax), %xmm0");
151862306a36Sopenharmony_ci	asm volatile("sha1msg1 (%r8), %xmm0");
151962306a36Sopenharmony_ci	asm volatile("sha1msg1 (0x12345678), %xmm0");
152062306a36Sopenharmony_ci	asm volatile("sha1msg1 (%rax), %xmm3");
152162306a36Sopenharmony_ci	asm volatile("sha1msg1 (%rcx,%rax,1), %xmm0");
152262306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(,%rax,1), %xmm0");
152362306a36Sopenharmony_ci	asm volatile("sha1msg1 (%rax,%rcx,1), %xmm0");
152462306a36Sopenharmony_ci	asm volatile("sha1msg1 (%rax,%rcx,8), %xmm0");
152562306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%rax), %xmm0");
152662306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%rbp), %xmm0");
152762306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%rcx,%rax,1), %xmm0");
152862306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%rbp,%rax,1), %xmm0");
152962306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%rax,%rcx,1), %xmm0");
153062306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%rax,%rcx,8), %xmm0");
153162306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rax), %xmm0");
153262306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rbp), %xmm0");
153362306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rcx,%rax,1), %xmm0");
153462306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rbp,%rax,1), %xmm0");
153562306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rax,%rcx,1), %xmm0");
153662306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm0");
153762306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm15");
153862306a36Sopenharmony_ci
153962306a36Sopenharmony_ci	/* sha1msg2 xmm2/m128, xmm1 */
154062306a36Sopenharmony_ci
154162306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm1, %xmm0");
154262306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm7, %xmm2");
154362306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm8, %xmm0");
154462306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm7, %xmm8");
154562306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm15, %xmm8");
154662306a36Sopenharmony_ci	asm volatile("sha1msg2 (%rax), %xmm0");
154762306a36Sopenharmony_ci	asm volatile("sha1msg2 (%r8), %xmm0");
154862306a36Sopenharmony_ci	asm volatile("sha1msg2 (0x12345678), %xmm0");
154962306a36Sopenharmony_ci	asm volatile("sha1msg2 (%rax), %xmm3");
155062306a36Sopenharmony_ci	asm volatile("sha1msg2 (%rcx,%rax,1), %xmm0");
155162306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(,%rax,1), %xmm0");
155262306a36Sopenharmony_ci	asm volatile("sha1msg2 (%rax,%rcx,1), %xmm0");
155362306a36Sopenharmony_ci	asm volatile("sha1msg2 (%rax,%rcx,8), %xmm0");
155462306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%rax), %xmm0");
155562306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%rbp), %xmm0");
155662306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%rcx,%rax,1), %xmm0");
155762306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%rbp,%rax,1), %xmm0");
155862306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%rax,%rcx,1), %xmm0");
155962306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%rax,%rcx,8), %xmm0");
156062306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rax), %xmm0");
156162306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rbp), %xmm0");
156262306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rcx,%rax,1), %xmm0");
156362306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rbp,%rax,1), %xmm0");
156462306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rax,%rcx,1), %xmm0");
156562306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm0");
156662306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm15");
156762306a36Sopenharmony_ci
156862306a36Sopenharmony_ci	/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */
156962306a36Sopenharmony_ci	/* Note sha256rnds2 has an implicit operand 'xmm0' */
157062306a36Sopenharmony_ci
157162306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm4, %xmm1");
157262306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm7, %xmm2");
157362306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm8, %xmm1");
157462306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm7, %xmm8");
157562306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm15, %xmm8");
157662306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%rax), %xmm1");
157762306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%r8), %xmm1");
157862306a36Sopenharmony_ci	asm volatile("sha256rnds2 (0x12345678), %xmm1");
157962306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%rax), %xmm3");
158062306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%rcx,%rax,1), %xmm1");
158162306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(,%rax,1), %xmm1");
158262306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%rax,%rcx,1), %xmm1");
158362306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%rax,%rcx,8), %xmm1");
158462306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%rax), %xmm1");
158562306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%rbp), %xmm1");
158662306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%rcx,%rax,1), %xmm1");
158762306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%rbp,%rax,1), %xmm1");
158862306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%rax,%rcx,1), %xmm1");
158962306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%rax,%rcx,8), %xmm1");
159062306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rax), %xmm1");
159162306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rbp), %xmm1");
159262306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rcx,%rax,1), %xmm1");
159362306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rbp,%rax,1), %xmm1");
159462306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rax,%rcx,1), %xmm1");
159562306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm1");
159662306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm15");
159762306a36Sopenharmony_ci
159862306a36Sopenharmony_ci	/* sha256msg1 xmm2/m128, xmm1 */
159962306a36Sopenharmony_ci
160062306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm1, %xmm0");
160162306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm7, %xmm2");
160262306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm8, %xmm0");
160362306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm7, %xmm8");
160462306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm15, %xmm8");
160562306a36Sopenharmony_ci	asm volatile("sha256msg1 (%rax), %xmm0");
160662306a36Sopenharmony_ci	asm volatile("sha256msg1 (%r8), %xmm0");
160762306a36Sopenharmony_ci	asm volatile("sha256msg1 (0x12345678), %xmm0");
160862306a36Sopenharmony_ci	asm volatile("sha256msg1 (%rax), %xmm3");
160962306a36Sopenharmony_ci	asm volatile("sha256msg1 (%rcx,%rax,1), %xmm0");
161062306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(,%rax,1), %xmm0");
161162306a36Sopenharmony_ci	asm volatile("sha256msg1 (%rax,%rcx,1), %xmm0");
161262306a36Sopenharmony_ci	asm volatile("sha256msg1 (%rax,%rcx,8), %xmm0");
161362306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%rax), %xmm0");
161462306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%rbp), %xmm0");
161562306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%rcx,%rax,1), %xmm0");
161662306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%rbp,%rax,1), %xmm0");
161762306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%rax,%rcx,1), %xmm0");
161862306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%rax,%rcx,8), %xmm0");
161962306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rax), %xmm0");
162062306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rbp), %xmm0");
162162306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rcx,%rax,1), %xmm0");
162262306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rbp,%rax,1), %xmm0");
162362306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rax,%rcx,1), %xmm0");
162462306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm0");
162562306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm15");
162662306a36Sopenharmony_ci
162762306a36Sopenharmony_ci	/* sha256msg2 xmm2/m128, xmm1 */
162862306a36Sopenharmony_ci
162962306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm1, %xmm0");
163062306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm7, %xmm2");
163162306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm8, %xmm0");
163262306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm7, %xmm8");
163362306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm15, %xmm8");
163462306a36Sopenharmony_ci	asm volatile("sha256msg2 (%rax), %xmm0");
163562306a36Sopenharmony_ci	asm volatile("sha256msg2 (%r8), %xmm0");
163662306a36Sopenharmony_ci	asm volatile("sha256msg2 (0x12345678), %xmm0");
163762306a36Sopenharmony_ci	asm volatile("sha256msg2 (%rax), %xmm3");
163862306a36Sopenharmony_ci	asm volatile("sha256msg2 (%rcx,%rax,1), %xmm0");
163962306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(,%rax,1), %xmm0");
164062306a36Sopenharmony_ci	asm volatile("sha256msg2 (%rax,%rcx,1), %xmm0");
164162306a36Sopenharmony_ci	asm volatile("sha256msg2 (%rax,%rcx,8), %xmm0");
164262306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%rax), %xmm0");
164362306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%rbp), %xmm0");
164462306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%rcx,%rax,1), %xmm0");
164562306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%rbp,%rax,1), %xmm0");
164662306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%rax,%rcx,1), %xmm0");
164762306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%rax,%rcx,8), %xmm0");
164862306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rax), %xmm0");
164962306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rbp), %xmm0");
165062306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rcx,%rax,1), %xmm0");
165162306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rbp,%rax,1), %xmm0");
165262306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rax,%rcx,1), %xmm0");
165362306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm0");
165462306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm15");
165562306a36Sopenharmony_ci
165662306a36Sopenharmony_ci	/* clflushopt m8 */
165762306a36Sopenharmony_ci
165862306a36Sopenharmony_ci	asm volatile("clflushopt (%rax)");
165962306a36Sopenharmony_ci	asm volatile("clflushopt (%r8)");
166062306a36Sopenharmony_ci	asm volatile("clflushopt (0x12345678)");
166162306a36Sopenharmony_ci	asm volatile("clflushopt 0x12345678(%rax,%rcx,8)");
166262306a36Sopenharmony_ci	asm volatile("clflushopt 0x12345678(%r8,%rcx,8)");
166362306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as clflushopt */
166462306a36Sopenharmony_ci	asm volatile("clflush (%rax)");
166562306a36Sopenharmony_ci	asm volatile("clflush (%r8)");
166662306a36Sopenharmony_ci	asm volatile("sfence");
166762306a36Sopenharmony_ci
166862306a36Sopenharmony_ci	/* clwb m8 */
166962306a36Sopenharmony_ci
167062306a36Sopenharmony_ci	asm volatile("clwb (%rax)");
167162306a36Sopenharmony_ci	asm volatile("clwb (%r8)");
167262306a36Sopenharmony_ci	asm volatile("clwb (0x12345678)");
167362306a36Sopenharmony_ci	asm volatile("clwb 0x12345678(%rax,%rcx,8)");
167462306a36Sopenharmony_ci	asm volatile("clwb 0x12345678(%r8,%rcx,8)");
167562306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as clwb */
167662306a36Sopenharmony_ci	asm volatile("xsaveopt (%rax)");
167762306a36Sopenharmony_ci	asm volatile("xsaveopt (%r8)");
167862306a36Sopenharmony_ci	asm volatile("mfence");
167962306a36Sopenharmony_ci
168062306a36Sopenharmony_ci	/* cldemote m8 */
168162306a36Sopenharmony_ci
168262306a36Sopenharmony_ci	asm volatile("cldemote (%rax)");
168362306a36Sopenharmony_ci	asm volatile("cldemote (%r8)");
168462306a36Sopenharmony_ci	asm volatile("cldemote (0x12345678)");
168562306a36Sopenharmony_ci	asm volatile("cldemote 0x12345678(%rax,%rcx,8)");
168662306a36Sopenharmony_ci	asm volatile("cldemote 0x12345678(%r8,%rcx,8)");
168762306a36Sopenharmony_ci
168862306a36Sopenharmony_ci	/* xsavec mem */
168962306a36Sopenharmony_ci
169062306a36Sopenharmony_ci	asm volatile("xsavec (%rax)");
169162306a36Sopenharmony_ci	asm volatile("xsavec (%r8)");
169262306a36Sopenharmony_ci	asm volatile("xsavec (0x12345678)");
169362306a36Sopenharmony_ci	asm volatile("xsavec 0x12345678(%rax,%rcx,8)");
169462306a36Sopenharmony_ci	asm volatile("xsavec 0x12345678(%r8,%rcx,8)");
169562306a36Sopenharmony_ci
169662306a36Sopenharmony_ci	/* xsaves mem */
169762306a36Sopenharmony_ci
169862306a36Sopenharmony_ci	asm volatile("xsaves (%rax)");
169962306a36Sopenharmony_ci	asm volatile("xsaves (%r8)");
170062306a36Sopenharmony_ci	asm volatile("xsaves (0x12345678)");
170162306a36Sopenharmony_ci	asm volatile("xsaves 0x12345678(%rax,%rcx,8)");
170262306a36Sopenharmony_ci	asm volatile("xsaves 0x12345678(%r8,%rcx,8)");
170362306a36Sopenharmony_ci
170462306a36Sopenharmony_ci	/* xrstors mem */
170562306a36Sopenharmony_ci
170662306a36Sopenharmony_ci	asm volatile("xrstors (%rax)");
170762306a36Sopenharmony_ci	asm volatile("xrstors (%r8)");
170862306a36Sopenharmony_ci	asm volatile("xrstors (0x12345678)");
170962306a36Sopenharmony_ci	asm volatile("xrstors 0x12345678(%rax,%rcx,8)");
171062306a36Sopenharmony_ci	asm volatile("xrstors 0x12345678(%r8,%rcx,8)");
171162306a36Sopenharmony_ci
171262306a36Sopenharmony_ci	/* ptwrite */
171362306a36Sopenharmony_ci
171462306a36Sopenharmony_ci	asm volatile("ptwrite (%rax)");
171562306a36Sopenharmony_ci	asm volatile("ptwrite (%r8)");
171662306a36Sopenharmony_ci	asm volatile("ptwrite (0x12345678)");
171762306a36Sopenharmony_ci	asm volatile("ptwrite 0x12345678(%rax,%rcx,8)");
171862306a36Sopenharmony_ci	asm volatile("ptwrite 0x12345678(%r8,%rcx,8)");
171962306a36Sopenharmony_ci
172062306a36Sopenharmony_ci	asm volatile("ptwritel (%rax)");
172162306a36Sopenharmony_ci	asm volatile("ptwritel (%r8)");
172262306a36Sopenharmony_ci	asm volatile("ptwritel (0x12345678)");
172362306a36Sopenharmony_ci	asm volatile("ptwritel 0x12345678(%rax,%rcx,8)");
172462306a36Sopenharmony_ci	asm volatile("ptwritel 0x12345678(%r8,%rcx,8)");
172562306a36Sopenharmony_ci
172662306a36Sopenharmony_ci	asm volatile("ptwriteq (%rax)");
172762306a36Sopenharmony_ci	asm volatile("ptwriteq (%r8)");
172862306a36Sopenharmony_ci	asm volatile("ptwriteq (0x12345678)");
172962306a36Sopenharmony_ci	asm volatile("ptwriteq 0x12345678(%rax,%rcx,8)");
173062306a36Sopenharmony_ci	asm volatile("ptwriteq 0x12345678(%r8,%rcx,8)");
173162306a36Sopenharmony_ci
173262306a36Sopenharmony_ci	/* tpause */
173362306a36Sopenharmony_ci
173462306a36Sopenharmony_ci	asm volatile("tpause %ebx");
173562306a36Sopenharmony_ci	asm volatile("tpause %r8d");
173662306a36Sopenharmony_ci
173762306a36Sopenharmony_ci	/* umonitor */
173862306a36Sopenharmony_ci
173962306a36Sopenharmony_ci	asm volatile("umonitor %eax");
174062306a36Sopenharmony_ci	asm volatile("umonitor %rax");
174162306a36Sopenharmony_ci	asm volatile("umonitor %r8d");
174262306a36Sopenharmony_ci
174362306a36Sopenharmony_ci	/* umwait */
174462306a36Sopenharmony_ci
174562306a36Sopenharmony_ci	asm volatile("umwait %eax");
174662306a36Sopenharmony_ci	asm volatile("umwait %r8d");
174762306a36Sopenharmony_ci
174862306a36Sopenharmony_ci	/* movdiri */
174962306a36Sopenharmony_ci
175062306a36Sopenharmony_ci	asm volatile("movdiri %rax,(%rbx)");
175162306a36Sopenharmony_ci	asm volatile("movdiri %rcx,0x12345678(%rax)");
175262306a36Sopenharmony_ci
175362306a36Sopenharmony_ci	/* movdir64b */
175462306a36Sopenharmony_ci
175562306a36Sopenharmony_ci	asm volatile("movdir64b (%rax),%rbx");
175662306a36Sopenharmony_ci	asm volatile("movdir64b 0x12345678(%rax),%rcx");
175762306a36Sopenharmony_ci	asm volatile("movdir64b (%eax),%ebx");
175862306a36Sopenharmony_ci	asm volatile("movdir64b 0x12345678(%eax),%ecx");
175962306a36Sopenharmony_ci
176062306a36Sopenharmony_ci	/* enqcmd */
176162306a36Sopenharmony_ci
176262306a36Sopenharmony_ci	asm volatile("enqcmd (%rax),%rbx");
176362306a36Sopenharmony_ci	asm volatile("enqcmd 0x12345678(%rax),%rcx");
176462306a36Sopenharmony_ci	asm volatile("enqcmd (%eax),%ebx");
176562306a36Sopenharmony_ci	asm volatile("enqcmd 0x12345678(%eax),%ecx");
176662306a36Sopenharmony_ci
176762306a36Sopenharmony_ci	/* enqcmds */
176862306a36Sopenharmony_ci
176962306a36Sopenharmony_ci	asm volatile("enqcmds (%rax),%rbx");
177062306a36Sopenharmony_ci	asm volatile("enqcmds 0x12345678(%rax),%rcx");
177162306a36Sopenharmony_ci	asm volatile("enqcmds (%eax),%ebx");
177262306a36Sopenharmony_ci	asm volatile("enqcmds 0x12345678(%eax),%ecx");
177362306a36Sopenharmony_ci
177462306a36Sopenharmony_ci	/* incsspd/q */
177562306a36Sopenharmony_ci
177662306a36Sopenharmony_ci	asm volatile("incsspd %eax");
177762306a36Sopenharmony_ci	asm volatile("incsspd %r8d");
177862306a36Sopenharmony_ci	asm volatile("incsspq %rax");
177962306a36Sopenharmony_ci	asm volatile("incsspq %r8");
178062306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as incsspd/q */
178162306a36Sopenharmony_ci	asm volatile("xrstor (%rax)");
178262306a36Sopenharmony_ci	asm volatile("xrstor (%r8)");
178362306a36Sopenharmony_ci	asm volatile("xrstor (0x12345678)");
178462306a36Sopenharmony_ci	asm volatile("xrstor 0x12345678(%rax,%rcx,8)");
178562306a36Sopenharmony_ci	asm volatile("xrstor 0x12345678(%r8,%rcx,8)");
178662306a36Sopenharmony_ci	asm volatile("lfence");
178762306a36Sopenharmony_ci
178862306a36Sopenharmony_ci	/* rdsspd/q */
178962306a36Sopenharmony_ci
179062306a36Sopenharmony_ci	asm volatile("rdsspd %eax");
179162306a36Sopenharmony_ci	asm volatile("rdsspd %r8d");
179262306a36Sopenharmony_ci	asm volatile("rdsspq %rax");
179362306a36Sopenharmony_ci	asm volatile("rdsspq %r8");
179462306a36Sopenharmony_ci
179562306a36Sopenharmony_ci	/* saveprevssp */
179662306a36Sopenharmony_ci
179762306a36Sopenharmony_ci	asm volatile("saveprevssp");
179862306a36Sopenharmony_ci
179962306a36Sopenharmony_ci	/* rstorssp */
180062306a36Sopenharmony_ci
180162306a36Sopenharmony_ci	asm volatile("rstorssp (%rax)");
180262306a36Sopenharmony_ci	asm volatile("rstorssp (%r8)");
180362306a36Sopenharmony_ci	asm volatile("rstorssp (0x12345678)");
180462306a36Sopenharmony_ci	asm volatile("rstorssp 0x12345678(%rax,%rcx,8)");
180562306a36Sopenharmony_ci	asm volatile("rstorssp 0x12345678(%r8,%rcx,8)");
180662306a36Sopenharmony_ci
180762306a36Sopenharmony_ci	/* wrssd/q */
180862306a36Sopenharmony_ci
180962306a36Sopenharmony_ci	asm volatile("wrssd %ecx,(%rax)");
181062306a36Sopenharmony_ci	asm volatile("wrssd %edx,(%r8)");
181162306a36Sopenharmony_ci	asm volatile("wrssd %edx,(0x12345678)");
181262306a36Sopenharmony_ci	asm volatile("wrssd %edx,0x12345678(%rax,%rcx,8)");
181362306a36Sopenharmony_ci	asm volatile("wrssd %edx,0x12345678(%r8,%rcx,8)");
181462306a36Sopenharmony_ci	asm volatile("wrssq %rcx,(%rax)");
181562306a36Sopenharmony_ci	asm volatile("wrssq %rdx,(%r8)");
181662306a36Sopenharmony_ci	asm volatile("wrssq %rdx,(0x12345678)");
181762306a36Sopenharmony_ci	asm volatile("wrssq %rdx,0x12345678(%rax,%rcx,8)");
181862306a36Sopenharmony_ci	asm volatile("wrssq %rdx,0x12345678(%r8,%rcx,8)");
181962306a36Sopenharmony_ci
182062306a36Sopenharmony_ci	/* wrussd/q */
182162306a36Sopenharmony_ci
182262306a36Sopenharmony_ci	asm volatile("wrussd %ecx,(%rax)");
182362306a36Sopenharmony_ci	asm volatile("wrussd %edx,(%r8)");
182462306a36Sopenharmony_ci	asm volatile("wrussd %edx,(0x12345678)");
182562306a36Sopenharmony_ci	asm volatile("wrussd %edx,0x12345678(%rax,%rcx,8)");
182662306a36Sopenharmony_ci	asm volatile("wrussd %edx,0x12345678(%r8,%rcx,8)");
182762306a36Sopenharmony_ci	asm volatile("wrussq %rcx,(%rax)");
182862306a36Sopenharmony_ci	asm volatile("wrussq %rdx,(%r8)");
182962306a36Sopenharmony_ci	asm volatile("wrussq %rdx,(0x12345678)");
183062306a36Sopenharmony_ci	asm volatile("wrussq %rdx,0x12345678(%rax,%rcx,8)");
183162306a36Sopenharmony_ci	asm volatile("wrussq %rdx,0x12345678(%r8,%rcx,8)");
183262306a36Sopenharmony_ci
183362306a36Sopenharmony_ci	/* setssbsy */
183462306a36Sopenharmony_ci
183562306a36Sopenharmony_ci	asm volatile("setssbsy");
183662306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as setssbsy */
183762306a36Sopenharmony_ci	asm volatile("rdpkru");
183862306a36Sopenharmony_ci	asm volatile("wrpkru");
183962306a36Sopenharmony_ci
184062306a36Sopenharmony_ci	/* clrssbsy */
184162306a36Sopenharmony_ci
184262306a36Sopenharmony_ci	asm volatile("clrssbsy (%rax)");
184362306a36Sopenharmony_ci	asm volatile("clrssbsy (%r8)");
184462306a36Sopenharmony_ci	asm volatile("clrssbsy (0x12345678)");
184562306a36Sopenharmony_ci	asm volatile("clrssbsy 0x12345678(%rax,%rcx,8)");
184662306a36Sopenharmony_ci	asm volatile("clrssbsy 0x12345678(%r8,%rcx,8)");
184762306a36Sopenharmony_ci
184862306a36Sopenharmony_ci	/* endbr32/64 */
184962306a36Sopenharmony_ci
185062306a36Sopenharmony_ci	asm volatile("endbr32");
185162306a36Sopenharmony_ci	asm volatile("endbr64");
185262306a36Sopenharmony_ci
185362306a36Sopenharmony_ci	/* call with/without notrack prefix */
185462306a36Sopenharmony_ci
185562306a36Sopenharmony_ci	asm volatile("callq *%rax");				/* Expecting: call indirect 0 */
185662306a36Sopenharmony_ci	asm volatile("callq *(%rax)");				/* Expecting: call indirect 0 */
185762306a36Sopenharmony_ci	asm volatile("callq *(%r8)");				/* Expecting: call indirect 0 */
185862306a36Sopenharmony_ci	asm volatile("callq *(0x12345678)");			/* Expecting: call indirect 0 */
185962306a36Sopenharmony_ci	asm volatile("callq *0x12345678(%rax,%rcx,8)");		/* Expecting: call indirect 0 */
186062306a36Sopenharmony_ci	asm volatile("callq *0x12345678(%r8,%rcx,8)");		/* Expecting: call indirect 0 */
186162306a36Sopenharmony_ci
186262306a36Sopenharmony_ci	asm volatile("bnd callq *%rax");			/* Expecting: call indirect 0 */
186362306a36Sopenharmony_ci	asm volatile("bnd callq *(%rax)");			/* Expecting: call indirect 0 */
186462306a36Sopenharmony_ci	asm volatile("bnd callq *(%r8)");			/* Expecting: call indirect 0 */
186562306a36Sopenharmony_ci	asm volatile("bnd callq *(0x12345678)");		/* Expecting: call indirect 0 */
186662306a36Sopenharmony_ci	asm volatile("bnd callq *0x12345678(%rax,%rcx,8)");	/* Expecting: call indirect 0 */
186762306a36Sopenharmony_ci	asm volatile("bnd callq *0x12345678(%r8,%rcx,8)");	/* Expecting: call indirect 0 */
186862306a36Sopenharmony_ci
186962306a36Sopenharmony_ci	asm volatile("notrack callq *%rax");			/* Expecting: call indirect 0 */
187062306a36Sopenharmony_ci	asm volatile("notrack callq *(%rax)");			/* Expecting: call indirect 0 */
187162306a36Sopenharmony_ci	asm volatile("notrack callq *(%r8)");			/* Expecting: call indirect 0 */
187262306a36Sopenharmony_ci	asm volatile("notrack callq *(0x12345678)");		/* Expecting: call indirect 0 */
187362306a36Sopenharmony_ci	asm volatile("notrack callq *0x12345678(%rax,%rcx,8)");	/* Expecting: call indirect 0 */
187462306a36Sopenharmony_ci	asm volatile("notrack callq *0x12345678(%r8,%rcx,8)");	/* Expecting: call indirect 0 */
187562306a36Sopenharmony_ci
187662306a36Sopenharmony_ci	asm volatile("notrack bnd callq *%rax");		/* Expecting: call indirect 0 */
187762306a36Sopenharmony_ci	asm volatile("notrack bnd callq *(%rax)");		/* Expecting: call indirect 0 */
187862306a36Sopenharmony_ci	asm volatile("notrack bnd callq *(%r8)");		/* Expecting: call indirect 0 */
187962306a36Sopenharmony_ci	asm volatile("notrack bnd callq *(0x12345678)");	/* Expecting: call indirect 0 */
188062306a36Sopenharmony_ci	asm volatile("notrack bnd callq *0x12345678(%rax,%rcx,8)");	/* Expecting: call indirect 0 */
188162306a36Sopenharmony_ci	asm volatile("notrack bnd callq *0x12345678(%r8,%rcx,8)");	/* Expecting: call indirect 0 */
188262306a36Sopenharmony_ci
188362306a36Sopenharmony_ci	/* jmp with/without notrack prefix */
188462306a36Sopenharmony_ci
188562306a36Sopenharmony_ci	asm volatile("jmpq *%rax");				/* Expecting: jmp indirect 0 */
188662306a36Sopenharmony_ci	asm volatile("jmpq *(%rax)");				/* Expecting: jmp indirect 0 */
188762306a36Sopenharmony_ci	asm volatile("jmpq *(%r8)");				/* Expecting: jmp indirect 0 */
188862306a36Sopenharmony_ci	asm volatile("jmpq *(0x12345678)");			/* Expecting: jmp indirect 0 */
188962306a36Sopenharmony_ci	asm volatile("jmpq *0x12345678(%rax,%rcx,8)");		/* Expecting: jmp indirect 0 */
189062306a36Sopenharmony_ci	asm volatile("jmpq *0x12345678(%r8,%rcx,8)");		/* Expecting: jmp indirect 0 */
189162306a36Sopenharmony_ci
189262306a36Sopenharmony_ci	asm volatile("bnd jmpq *%rax");				/* Expecting: jmp indirect 0 */
189362306a36Sopenharmony_ci	asm volatile("bnd jmpq *(%rax)");			/* Expecting: jmp indirect 0 */
189462306a36Sopenharmony_ci	asm volatile("bnd jmpq *(%r8)");			/* Expecting: jmp indirect 0 */
189562306a36Sopenharmony_ci	asm volatile("bnd jmpq *(0x12345678)");			/* Expecting: jmp indirect 0 */
189662306a36Sopenharmony_ci	asm volatile("bnd jmpq *0x12345678(%rax,%rcx,8)");	/* Expecting: jmp indirect 0 */
189762306a36Sopenharmony_ci	asm volatile("bnd jmpq *0x12345678(%r8,%rcx,8)");	/* Expecting: jmp indirect 0 */
189862306a36Sopenharmony_ci
189962306a36Sopenharmony_ci	asm volatile("notrack jmpq *%rax");			/* Expecting: jmp indirect 0 */
190062306a36Sopenharmony_ci	asm volatile("notrack jmpq *(%rax)");			/* Expecting: jmp indirect 0 */
190162306a36Sopenharmony_ci	asm volatile("notrack jmpq *(%r8)");			/* Expecting: jmp indirect 0 */
190262306a36Sopenharmony_ci	asm volatile("notrack jmpq *(0x12345678)");		/* Expecting: jmp indirect 0 */
190362306a36Sopenharmony_ci	asm volatile("notrack jmpq *0x12345678(%rax,%rcx,8)");	/* Expecting: jmp indirect 0 */
190462306a36Sopenharmony_ci	asm volatile("notrack jmpq *0x12345678(%r8,%rcx,8)");	/* Expecting: jmp indirect 0 */
190562306a36Sopenharmony_ci
190662306a36Sopenharmony_ci	asm volatile("notrack bnd jmpq *%rax");			/* Expecting: jmp indirect 0 */
190762306a36Sopenharmony_ci	asm volatile("notrack bnd jmpq *(%rax)");		/* Expecting: jmp indirect 0 */
190862306a36Sopenharmony_ci	asm volatile("notrack bnd jmpq *(%r8)");		/* Expecting: jmp indirect 0 */
190962306a36Sopenharmony_ci	asm volatile("notrack bnd jmpq *(0x12345678)");		/* Expecting: jmp indirect 0 */
191062306a36Sopenharmony_ci	asm volatile("notrack bnd jmpq *0x12345678(%rax,%rcx,8)");	/* Expecting: jmp indirect 0 */
191162306a36Sopenharmony_ci	asm volatile("notrack bnd jmpq *0x12345678(%r8,%rcx,8)");	/* Expecting: jmp indirect 0 */
191262306a36Sopenharmony_ci
191362306a36Sopenharmony_ci	/* AMX */
191462306a36Sopenharmony_ci
191562306a36Sopenharmony_ci	asm volatile("ldtilecfg (%rax,%rcx,8)");
191662306a36Sopenharmony_ci	asm volatile("ldtilecfg (%r8,%rcx,8)");
191762306a36Sopenharmony_ci	asm volatile("sttilecfg (%rax,%rcx,8)");
191862306a36Sopenharmony_ci	asm volatile("sttilecfg (%r8,%rcx,8)");
191962306a36Sopenharmony_ci	asm volatile("tdpbf16ps %tmm0, %tmm1, %tmm2");
192062306a36Sopenharmony_ci	asm volatile("tdpbssd %tmm0, %tmm1, %tmm2");
192162306a36Sopenharmony_ci	asm volatile("tdpbsud %tmm0, %tmm1, %tmm2");
192262306a36Sopenharmony_ci	asm volatile("tdpbusd %tmm0, %tmm1, %tmm2");
192362306a36Sopenharmony_ci	asm volatile("tdpbuud %tmm0, %tmm1, %tmm2");
192462306a36Sopenharmony_ci	asm volatile("tileloadd (%rax,%rcx,8), %tmm1");
192562306a36Sopenharmony_ci	asm volatile("tileloadd (%r8,%rcx,8), %tmm2");
192662306a36Sopenharmony_ci	asm volatile("tileloaddt1 (%rax,%rcx,8), %tmm1");
192762306a36Sopenharmony_ci	asm volatile("tileloaddt1 (%r8,%rcx,8), %tmm2");
192862306a36Sopenharmony_ci	asm volatile("tilerelease");
192962306a36Sopenharmony_ci	asm volatile("tilestored %tmm1, (%rax,%rcx,8)");
193062306a36Sopenharmony_ci	asm volatile("tilestored %tmm2, (%r8,%rcx,8)");
193162306a36Sopenharmony_ci	asm volatile("tilezero %tmm0");
193262306a36Sopenharmony_ci	asm volatile("tilezero %tmm7");
193362306a36Sopenharmony_ci
193462306a36Sopenharmony_ci	/* User Interrupt */
193562306a36Sopenharmony_ci
193662306a36Sopenharmony_ci	asm volatile("clui");
193762306a36Sopenharmony_ci	asm volatile("senduipi %rax");
193862306a36Sopenharmony_ci	asm volatile("senduipi %r8");
193962306a36Sopenharmony_ci	asm volatile("stui");
194062306a36Sopenharmony_ci	asm volatile("testui");
194162306a36Sopenharmony_ci	asm volatile("uiret");
194262306a36Sopenharmony_ci
194362306a36Sopenharmony_ci	/* AVX512-FP16 */
194462306a36Sopenharmony_ci
194562306a36Sopenharmony_ci	asm volatile("vaddph %zmm3, %zmm2, %zmm1");
194662306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
194762306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
194862306a36Sopenharmony_ci	asm volatile("vaddph %xmm3, %xmm2, %xmm1");
194962306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
195062306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
195162306a36Sopenharmony_ci	asm volatile("vaddph %ymm3, %ymm2, %ymm1");
195262306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
195362306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
195462306a36Sopenharmony_ci	asm volatile("vaddsh %xmm3, %xmm2, %xmm1");
195562306a36Sopenharmony_ci	asm volatile("vaddsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
195662306a36Sopenharmony_ci	asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
195762306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");
195862306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %zmm2, %k5");
195962306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");
196062306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");
196162306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");
196262306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
196362306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");
196462306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %ymm2, %k5");
196562306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");
196662306a36Sopenharmony_ci	asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");
196762306a36Sopenharmony_ci	asm volatile("vcmpsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");
196862306a36Sopenharmony_ci	asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
196962306a36Sopenharmony_ci	asm volatile("vcomish %xmm2, %xmm1");
197062306a36Sopenharmony_ci	asm volatile("vcomish 0x12345678(%rax,%rcx,8), %xmm1");
197162306a36Sopenharmony_ci	asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");
197262306a36Sopenharmony_ci	asm volatile("vcvtdq2ph %zmm2, %ymm1");
197362306a36Sopenharmony_ci	asm volatile("vcvtdq2ph 0x12345678(%rax,%rcx,8), %ymm1");
197462306a36Sopenharmony_ci	asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");
197562306a36Sopenharmony_ci	asm volatile("vcvtdq2ph %xmm2, %xmm1");
197662306a36Sopenharmony_ci	asm volatile("vcvtdq2ph %ymm2, %xmm1");
197762306a36Sopenharmony_ci	asm volatile("vcvtpd2ph %zmm2, %xmm1");
197862306a36Sopenharmony_ci	asm volatile("vcvtpd2ph %xmm2, %xmm1");
197962306a36Sopenharmony_ci	asm volatile("vcvtpd2ph %ymm2, %xmm1");
198062306a36Sopenharmony_ci	asm volatile("vcvtph2dq %ymm2, %zmm1");
198162306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %zmm1");
198262306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");
198362306a36Sopenharmony_ci	asm volatile("vcvtph2dq %xmm2, %xmm1");
198462306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %xmm1");
198562306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");
198662306a36Sopenharmony_ci	asm volatile("vcvtph2dq %xmm2, %ymm1");
198762306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %ymm1");
198862306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");
198962306a36Sopenharmony_ci	asm volatile("vcvtph2pd %xmm2, %zmm1");
199062306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %zmm1");
199162306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");
199262306a36Sopenharmony_ci	asm volatile("vcvtph2pd %xmm2, %xmm1");
199362306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %xmm1");
199462306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");
199562306a36Sopenharmony_ci	asm volatile("vcvtph2pd %xmm2, %ymm1");
199662306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %ymm1");
199762306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");
199862306a36Sopenharmony_ci	asm volatile("vcvtph2ps %ymm2, %zmm1");
199962306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %zmm1");
200062306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");
200162306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %xmm1");
200262306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");
200362306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
200462306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %ymm1");
200562306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");
200662306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
200762306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %xmm1");
200862306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");
200962306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
201062306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %ymm1");
201162306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");
201262306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
201362306a36Sopenharmony_ci	asm volatile("vcvtph2psx %ymm2, %zmm1");
201462306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %zmm1");
201562306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");
201662306a36Sopenharmony_ci	asm volatile("vcvtph2psx %xmm2, %xmm1");
201762306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %xmm1");
201862306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");
201962306a36Sopenharmony_ci	asm volatile("vcvtph2psx %xmm2, %ymm1");
202062306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %ymm1");
202162306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");
202262306a36Sopenharmony_ci	asm volatile("vcvtph2qq %xmm2, %zmm1");
202362306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %zmm1");
202462306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");
202562306a36Sopenharmony_ci	asm volatile("vcvtph2qq %xmm2, %xmm1");
202662306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %xmm1");
202762306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");
202862306a36Sopenharmony_ci	asm volatile("vcvtph2qq %xmm2, %ymm1");
202962306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %ymm1");
203062306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");
203162306a36Sopenharmony_ci	asm volatile("vcvtph2udq %ymm2, %zmm1");
203262306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %zmm1");
203362306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");
203462306a36Sopenharmony_ci	asm volatile("vcvtph2udq %xmm2, %xmm1");
203562306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %xmm1");
203662306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");
203762306a36Sopenharmony_ci	asm volatile("vcvtph2udq %xmm2, %ymm1");
203862306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %ymm1");
203962306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");
204062306a36Sopenharmony_ci	asm volatile("vcvtph2uqq %xmm2, %zmm1");
204162306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %zmm1");
204262306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
204362306a36Sopenharmony_ci	asm volatile("vcvtph2uqq %xmm2, %xmm1");
204462306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %xmm1");
204562306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
204662306a36Sopenharmony_ci	asm volatile("vcvtph2uqq %xmm2, %ymm1");
204762306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %ymm1");
204862306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
204962306a36Sopenharmony_ci	asm volatile("vcvtph2uw %zmm2, %zmm1");
205062306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %zmm1");
205162306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");
205262306a36Sopenharmony_ci	asm volatile("vcvtph2uw %xmm2, %xmm1");
205362306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %xmm1");
205462306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");
205562306a36Sopenharmony_ci	asm volatile("vcvtph2uw %ymm2, %ymm1");
205662306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %ymm1");
205762306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");
205862306a36Sopenharmony_ci	asm volatile("vcvtph2w %zmm2, %zmm1");
205962306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %zmm1");
206062306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");
206162306a36Sopenharmony_ci	asm volatile("vcvtph2w %xmm2, %xmm1");
206262306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %xmm1");
206362306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");
206462306a36Sopenharmony_ci	asm volatile("vcvtph2w %ymm2, %ymm1");
206562306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %ymm1");
206662306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");
206762306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%rax,%rcx,8)");
206862306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");
206962306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");
207062306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%rax,%rcx,8)");
207162306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");
207262306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%rax,%rcx,8)");
207362306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");
207462306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
207562306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
207662306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
207762306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%rax,%rcx,8)");
207862306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");
207962306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
208062306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%rax,%rcx,8)");
208162306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");
208262306a36Sopenharmony_ci	asm volatile("vcvtps2phx %zmm2, %ymm1");
208362306a36Sopenharmony_ci	asm volatile("vcvtps2phx 0x12345678(%rax,%rcx,8), %ymm1");
208462306a36Sopenharmony_ci	asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");
208562306a36Sopenharmony_ci	asm volatile("vcvtps2phx %xmm2, %xmm1");
208662306a36Sopenharmony_ci	asm volatile("vcvtps2phx %ymm2, %xmm1");
208762306a36Sopenharmony_ci	asm volatile("vcvtqq2ph %zmm2, %xmm1");
208862306a36Sopenharmony_ci	asm volatile("vcvtqq2ph %xmm2, %xmm1");
208962306a36Sopenharmony_ci	asm volatile("vcvtqq2ph %ymm2, %xmm1");
209062306a36Sopenharmony_ci	asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
209162306a36Sopenharmony_ci	asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
209262306a36Sopenharmony_ci	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");
209362306a36Sopenharmony_ci	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %rax");
209462306a36Sopenharmony_ci	asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
209562306a36Sopenharmony_ci	asm volatile("vcvtsh2usi %xmm1, %eax");
209662306a36Sopenharmony_ci	asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %eax");
209762306a36Sopenharmony_ci	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");
209862306a36Sopenharmony_ci	asm volatile("vcvtsh2usi %xmm1, %rax");
209962306a36Sopenharmony_ci	asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %rax");
210062306a36Sopenharmony_ci	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %rax");
210162306a36Sopenharmony_ci	asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");
210262306a36Sopenharmony_ci	asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
210362306a36Sopenharmony_ci	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
210462306a36Sopenharmony_ci	asm volatile("vcvtsi2sh %rax, %xmm2, %xmm1");
210562306a36Sopenharmony_ci	asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
210662306a36Sopenharmony_ci	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
210762306a36Sopenharmony_ci	asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");
210862306a36Sopenharmony_ci	asm volatile("vcvtss2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
210962306a36Sopenharmony_ci	asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
211062306a36Sopenharmony_ci	asm volatile("vcvttph2dq %ymm2, %zmm1");
211162306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %zmm1");
211262306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");
211362306a36Sopenharmony_ci	asm volatile("vcvttph2dq %xmm2, %xmm1");
211462306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %xmm1");
211562306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");
211662306a36Sopenharmony_ci	asm volatile("vcvttph2dq %xmm2, %ymm1");
211762306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %ymm1");
211862306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");
211962306a36Sopenharmony_ci	asm volatile("vcvttph2qq %xmm2, %zmm1");
212062306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %zmm1");
212162306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");
212262306a36Sopenharmony_ci	asm volatile("vcvttph2qq %xmm2, %xmm1");
212362306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %xmm1");
212462306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");
212562306a36Sopenharmony_ci	asm volatile("vcvttph2qq %xmm2, %ymm1");
212662306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %ymm1");
212762306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");
212862306a36Sopenharmony_ci	asm volatile("vcvttph2udq %ymm2, %zmm1");
212962306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %zmm1");
213062306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");
213162306a36Sopenharmony_ci	asm volatile("vcvttph2udq %xmm2, %xmm1");
213262306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %xmm1");
213362306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");
213462306a36Sopenharmony_ci	asm volatile("vcvttph2udq %xmm2, %ymm1");
213562306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %ymm1");
213662306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");
213762306a36Sopenharmony_ci	asm volatile("vcvttph2uqq %xmm2, %zmm1");
213862306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %zmm1");
213962306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
214062306a36Sopenharmony_ci	asm volatile("vcvttph2uqq %xmm2, %xmm1");
214162306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %xmm1");
214262306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
214362306a36Sopenharmony_ci	asm volatile("vcvttph2uqq %xmm2, %ymm1");
214462306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %ymm1");
214562306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
214662306a36Sopenharmony_ci	asm volatile("vcvttph2uw %zmm2, %zmm1");
214762306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %zmm1");
214862306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");
214962306a36Sopenharmony_ci	asm volatile("vcvttph2uw %xmm2, %xmm1");
215062306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %xmm1");
215162306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");
215262306a36Sopenharmony_ci	asm volatile("vcvttph2uw %ymm2, %ymm1");
215362306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %ymm1");
215462306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");
215562306a36Sopenharmony_ci	asm volatile("vcvttph2w %zmm2, %zmm1");
215662306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %zmm1");
215762306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");
215862306a36Sopenharmony_ci	asm volatile("vcvttph2w %xmm2, %xmm1");
215962306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %xmm1");
216062306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");
216162306a36Sopenharmony_ci	asm volatile("vcvttph2w %ymm2, %ymm1");
216262306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %ymm1");
216362306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");
216462306a36Sopenharmony_ci	asm volatile("vcvttsh2si %xmm1, %eax");
216562306a36Sopenharmony_ci	asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %eax");
216662306a36Sopenharmony_ci	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");
216762306a36Sopenharmony_ci	asm volatile("vcvttsh2si %xmm1, %rax");
216862306a36Sopenharmony_ci	asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %rax");
216962306a36Sopenharmony_ci	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %rax");
217062306a36Sopenharmony_ci	asm volatile("vcvttsh2usi %xmm1, %eax");
217162306a36Sopenharmony_ci	asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %eax");
217262306a36Sopenharmony_ci	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");
217362306a36Sopenharmony_ci	asm volatile("vcvttsh2usi %xmm1, %rax");
217462306a36Sopenharmony_ci	asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %rax");
217562306a36Sopenharmony_ci	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %rax");
217662306a36Sopenharmony_ci	asm volatile("vcvtudq2ph %zmm2, %ymm1");
217762306a36Sopenharmony_ci	asm volatile("vcvtudq2ph 0x12345678(%rax,%rcx,8), %ymm1");
217862306a36Sopenharmony_ci	asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");
217962306a36Sopenharmony_ci	asm volatile("vcvtudq2ph %xmm2, %xmm1");
218062306a36Sopenharmony_ci	asm volatile("vcvtudq2ph %ymm2, %xmm1");
218162306a36Sopenharmony_ci	asm volatile("vcvtuqq2ph %zmm2, %xmm1");
218262306a36Sopenharmony_ci	asm volatile("vcvtuqq2ph %xmm2, %xmm1");
218362306a36Sopenharmony_ci	asm volatile("vcvtuqq2ph %ymm2, %xmm1");
218462306a36Sopenharmony_ci	asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");
218562306a36Sopenharmony_ci	asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
218662306a36Sopenharmony_ci	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
218762306a36Sopenharmony_ci	asm volatile("vcvtusi2sh %rax, %xmm2, %xmm1");
218862306a36Sopenharmony_ci	asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
218962306a36Sopenharmony_ci	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
219062306a36Sopenharmony_ci	asm volatile("vcvtuw2ph %zmm2, %zmm1");
219162306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %zmm1");
219262306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");
219362306a36Sopenharmony_ci	asm volatile("vcvtuw2ph %xmm2, %xmm1");
219462306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %xmm1");
219562306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");
219662306a36Sopenharmony_ci	asm volatile("vcvtuw2ph %ymm2, %ymm1");
219762306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %ymm1");
219862306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");
219962306a36Sopenharmony_ci	asm volatile("vcvtw2ph %zmm2, %zmm1");
220062306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %zmm1");
220162306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");
220262306a36Sopenharmony_ci	asm volatile("vcvtw2ph %xmm2, %xmm1");
220362306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %xmm1");
220462306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");
220562306a36Sopenharmony_ci	asm volatile("vcvtw2ph %ymm2, %ymm1");
220662306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %ymm1");
220762306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");
220862306a36Sopenharmony_ci	asm volatile("vdivph %zmm3, %zmm2, %zmm1");
220962306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
221062306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
221162306a36Sopenharmony_ci	asm volatile("vdivph %xmm3, %xmm2, %xmm1");
221262306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
221362306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
221462306a36Sopenharmony_ci	asm volatile("vdivph %ymm3, %ymm2, %ymm1");
221562306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
221662306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
221762306a36Sopenharmony_ci	asm volatile("vdivsh %xmm3, %xmm2, %xmm1");
221862306a36Sopenharmony_ci	asm volatile("vdivsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
221962306a36Sopenharmony_ci	asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
222062306a36Sopenharmony_ci	asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");
222162306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
222262306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
222362306a36Sopenharmony_ci	asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");
222462306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
222562306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
222662306a36Sopenharmony_ci	asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");
222762306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
222862306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
222962306a36Sopenharmony_ci	asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");
223062306a36Sopenharmony_ci	asm volatile("vfcmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
223162306a36Sopenharmony_ci	asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
223262306a36Sopenharmony_ci	asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");
223362306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
223462306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
223562306a36Sopenharmony_ci	asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");
223662306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
223762306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
223862306a36Sopenharmony_ci	asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");
223962306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
224062306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
224162306a36Sopenharmony_ci	asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");
224262306a36Sopenharmony_ci	asm volatile("vfcmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
224362306a36Sopenharmony_ci	asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
224462306a36Sopenharmony_ci	asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");
224562306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
224662306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
224762306a36Sopenharmony_ci	asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");
224862306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
224962306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
225062306a36Sopenharmony_ci	asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");
225162306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
225262306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
225362306a36Sopenharmony_ci	asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");
225462306a36Sopenharmony_ci	asm volatile("vfmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
225562306a36Sopenharmony_ci	asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
225662306a36Sopenharmony_ci	asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");
225762306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
225862306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
225962306a36Sopenharmony_ci	asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");
226062306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
226162306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
226262306a36Sopenharmony_ci	asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");
226362306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
226462306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
226562306a36Sopenharmony_ci	asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");
226662306a36Sopenharmony_ci	asm volatile("vfmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
226762306a36Sopenharmony_ci	asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
226862306a36Sopenharmony_ci	asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");
226962306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
227062306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
227162306a36Sopenharmony_ci	asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");
227262306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
227362306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
227462306a36Sopenharmony_ci	asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");
227562306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
227662306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
227762306a36Sopenharmony_ci	asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");
227862306a36Sopenharmony_ci	asm volatile("vfmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
227962306a36Sopenharmony_ci	asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
228062306a36Sopenharmony_ci	asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");
228162306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
228262306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
228362306a36Sopenharmony_ci	asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");
228462306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
228562306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
228662306a36Sopenharmony_ci	asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");
228762306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
228862306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
228962306a36Sopenharmony_ci	asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");
229062306a36Sopenharmony_ci	asm volatile("vfmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
229162306a36Sopenharmony_ci	asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
229262306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");
229362306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
229462306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
229562306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");
229662306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
229762306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
229862306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");
229962306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
230062306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
230162306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");
230262306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
230362306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
230462306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");
230562306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
230662306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
230762306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");
230862306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
230962306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
231062306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");
231162306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
231262306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
231362306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");
231462306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
231562306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
231662306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");
231762306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
231862306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
231962306a36Sopenharmony_ci	asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");
232062306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
232162306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
232262306a36Sopenharmony_ci	asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");
232362306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
232462306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
232562306a36Sopenharmony_ci	asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");
232662306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
232762306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
232862306a36Sopenharmony_ci	asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");
232962306a36Sopenharmony_ci	asm volatile("vfmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
233062306a36Sopenharmony_ci	asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
233162306a36Sopenharmony_ci	asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");
233262306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
233362306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
233462306a36Sopenharmony_ci	asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");
233562306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
233662306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
233762306a36Sopenharmony_ci	asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");
233862306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
233962306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
234062306a36Sopenharmony_ci	asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");
234162306a36Sopenharmony_ci	asm volatile("vfmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
234262306a36Sopenharmony_ci	asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
234362306a36Sopenharmony_ci	asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");
234462306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
234562306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
234662306a36Sopenharmony_ci	asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");
234762306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
234862306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
234962306a36Sopenharmony_ci	asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");
235062306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
235162306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
235262306a36Sopenharmony_ci	asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");
235362306a36Sopenharmony_ci	asm volatile("vfmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
235462306a36Sopenharmony_ci	asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
235562306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");
235662306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
235762306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
235862306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");
235962306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
236062306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
236162306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");
236262306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
236362306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
236462306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");
236562306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
236662306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
236762306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");
236862306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
236962306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
237062306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");
237162306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
237262306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
237362306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");
237462306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
237562306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
237662306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");
237762306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
237862306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
237962306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");
238062306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
238162306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
238262306a36Sopenharmony_ci	asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");
238362306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
238462306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
238562306a36Sopenharmony_ci	asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");
238662306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
238762306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
238862306a36Sopenharmony_ci	asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");
238962306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
239062306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
239162306a36Sopenharmony_ci	asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");
239262306a36Sopenharmony_ci	asm volatile("vfmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
239362306a36Sopenharmony_ci	asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
239462306a36Sopenharmony_ci	asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");
239562306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
239662306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
239762306a36Sopenharmony_ci	asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");
239862306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
239962306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
240062306a36Sopenharmony_ci	asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");
240162306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
240262306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
240362306a36Sopenharmony_ci	asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");
240462306a36Sopenharmony_ci	asm volatile("vfnmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
240562306a36Sopenharmony_ci	asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
240662306a36Sopenharmony_ci	asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");
240762306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
240862306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
240962306a36Sopenharmony_ci	asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");
241062306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
241162306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
241262306a36Sopenharmony_ci	asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");
241362306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
241462306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
241562306a36Sopenharmony_ci	asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");
241662306a36Sopenharmony_ci	asm volatile("vfnmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
241762306a36Sopenharmony_ci	asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
241862306a36Sopenharmony_ci	asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");
241962306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
242062306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
242162306a36Sopenharmony_ci	asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");
242262306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
242362306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
242462306a36Sopenharmony_ci	asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");
242562306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
242662306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
242762306a36Sopenharmony_ci	asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");
242862306a36Sopenharmony_ci	asm volatile("vfnmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
242962306a36Sopenharmony_ci	asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
243062306a36Sopenharmony_ci	asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");
243162306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
243262306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
243362306a36Sopenharmony_ci	asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");
243462306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
243562306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
243662306a36Sopenharmony_ci	asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");
243762306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
243862306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
243962306a36Sopenharmony_ci	asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");
244062306a36Sopenharmony_ci	asm volatile("vfnmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
244162306a36Sopenharmony_ci	asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
244262306a36Sopenharmony_ci	asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");
244362306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
244462306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
244562306a36Sopenharmony_ci	asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");
244662306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
244762306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
244862306a36Sopenharmony_ci	asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");
244962306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
245062306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
245162306a36Sopenharmony_ci	asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");
245262306a36Sopenharmony_ci	asm volatile("vfnmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
245362306a36Sopenharmony_ci	asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
245462306a36Sopenharmony_ci	asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");
245562306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
245662306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
245762306a36Sopenharmony_ci	asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");
245862306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
245962306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
246062306a36Sopenharmony_ci	asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");
246162306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
246262306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
246362306a36Sopenharmony_ci	asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");
246462306a36Sopenharmony_ci	asm volatile("vfnmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
246562306a36Sopenharmony_ci	asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
246662306a36Sopenharmony_ci	asm volatile("vfpclassph $0x12, %zmm1, %k5");
246762306a36Sopenharmony_ci	asm volatile("vfpclassph $0x12, %xmm1, %k5");
246862306a36Sopenharmony_ci	asm volatile("vfpclassph $0x12, %ymm1, %k5");
246962306a36Sopenharmony_ci	asm volatile("vfpclasssh $0x12, %xmm1, %k5");
247062306a36Sopenharmony_ci	asm volatile("vfpclasssh $0x12, 0x12345678(%rax,%rcx,8), %k5");
247162306a36Sopenharmony_ci	asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");
247262306a36Sopenharmony_ci	asm volatile("vgetexpph %zmm2, %zmm1");
247362306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %zmm1");
247462306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");
247562306a36Sopenharmony_ci	asm volatile("vgetexpph %xmm2, %xmm1");
247662306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %xmm1");
247762306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");
247862306a36Sopenharmony_ci	asm volatile("vgetexpph %ymm2, %ymm1");
247962306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %ymm1");
248062306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");
248162306a36Sopenharmony_ci	asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");
248262306a36Sopenharmony_ci	asm volatile("vgetexpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
248362306a36Sopenharmony_ci	asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
248462306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, %zmm2, %zmm1");
248562306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
248662306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
248762306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, %xmm2, %xmm1");
248862306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
248962306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
249062306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, %ymm2, %ymm1");
249162306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
249262306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
249362306a36Sopenharmony_ci	asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");
249462306a36Sopenharmony_ci	asm volatile("vgetmantsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
249562306a36Sopenharmony_ci	asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
249662306a36Sopenharmony_ci	asm volatile("vmaxph %zmm3, %zmm2, %zmm1");
249762306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
249862306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
249962306a36Sopenharmony_ci	asm volatile("vmaxph %xmm3, %xmm2, %xmm1");
250062306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
250162306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
250262306a36Sopenharmony_ci	asm volatile("vmaxph %ymm3, %ymm2, %ymm1");
250362306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
250462306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
250562306a36Sopenharmony_ci	asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");
250662306a36Sopenharmony_ci	asm volatile("vmaxsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
250762306a36Sopenharmony_ci	asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
250862306a36Sopenharmony_ci	asm volatile("vminph %zmm3, %zmm2, %zmm1");
250962306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
251062306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
251162306a36Sopenharmony_ci	asm volatile("vminph %xmm3, %xmm2, %xmm1");
251262306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
251362306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
251462306a36Sopenharmony_ci	asm volatile("vminph %ymm3, %ymm2, %ymm1");
251562306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
251662306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
251762306a36Sopenharmony_ci	asm volatile("vminsh %xmm3, %xmm2, %xmm1");
251862306a36Sopenharmony_ci	asm volatile("vminsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
251962306a36Sopenharmony_ci	asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
252062306a36Sopenharmony_ci	asm volatile("vmovsh %xmm1, 0x12345678(%rax,%rcx,8)");
252162306a36Sopenharmony_ci	asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");
252262306a36Sopenharmony_ci	asm volatile("vmovsh 0x12345678(%rax,%rcx,8), %xmm1");
252362306a36Sopenharmony_ci	asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");
252462306a36Sopenharmony_ci	asm volatile("vmovsh %xmm3, %xmm2, %xmm1");
252562306a36Sopenharmony_ci	asm volatile("vmovw %xmm1, %eax");
252662306a36Sopenharmony_ci	asm volatile("vmovw %xmm1, 0x12345678(%rax,%rcx,8)");
252762306a36Sopenharmony_ci	asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");
252862306a36Sopenharmony_ci	asm volatile("vmovw %eax, %xmm1");
252962306a36Sopenharmony_ci	asm volatile("vmovw 0x12345678(%rax,%rcx,8), %xmm1");
253062306a36Sopenharmony_ci	asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");
253162306a36Sopenharmony_ci	asm volatile("vmulph %zmm3, %zmm2, %zmm1");
253262306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
253362306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
253462306a36Sopenharmony_ci	asm volatile("vmulph %xmm3, %xmm2, %xmm1");
253562306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
253662306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
253762306a36Sopenharmony_ci	asm volatile("vmulph %ymm3, %ymm2, %ymm1");
253862306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
253962306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
254062306a36Sopenharmony_ci	asm volatile("vmulsh %xmm3, %xmm2, %xmm1");
254162306a36Sopenharmony_ci	asm volatile("vmulsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
254262306a36Sopenharmony_ci	asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
254362306a36Sopenharmony_ci	asm volatile("vrcpph %zmm2, %zmm1");
254462306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %zmm1");
254562306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");
254662306a36Sopenharmony_ci	asm volatile("vrcpph %xmm2, %xmm1");
254762306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %xmm1");
254862306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");
254962306a36Sopenharmony_ci	asm volatile("vrcpph %ymm2, %ymm1");
255062306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %ymm1");
255162306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");
255262306a36Sopenharmony_ci	asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");
255362306a36Sopenharmony_ci	asm volatile("vrcpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
255462306a36Sopenharmony_ci	asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
255562306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, %zmm2, %zmm1");
255662306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
255762306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
255862306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, %xmm2, %xmm1");
255962306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
256062306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
256162306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, %ymm2, %ymm1");
256262306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
256362306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
256462306a36Sopenharmony_ci	asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");
256562306a36Sopenharmony_ci	asm volatile("vreducesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
256662306a36Sopenharmony_ci	asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
256762306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");
256862306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
256962306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
257062306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");
257162306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
257262306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
257362306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");
257462306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
257562306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
257662306a36Sopenharmony_ci	asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");
257762306a36Sopenharmony_ci	asm volatile("vrndscalesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
257862306a36Sopenharmony_ci	asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
257962306a36Sopenharmony_ci	asm volatile("vrsqrtph %zmm2, %zmm1");
258062306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %zmm1");
258162306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
258262306a36Sopenharmony_ci	asm volatile("vrsqrtph %xmm2, %xmm1");
258362306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %xmm1");
258462306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
258562306a36Sopenharmony_ci	asm volatile("vrsqrtph %ymm2, %ymm1");
258662306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %ymm1");
258762306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
258862306a36Sopenharmony_ci	asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");
258962306a36Sopenharmony_ci	asm volatile("vrsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
259062306a36Sopenharmony_ci	asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
259162306a36Sopenharmony_ci	asm volatile("vscalefph %zmm3, %zmm2, %zmm1");
259262306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
259362306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
259462306a36Sopenharmony_ci	asm volatile("vscalefph %xmm3, %xmm2, %xmm1");
259562306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
259662306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
259762306a36Sopenharmony_ci	asm volatile("vscalefph %ymm3, %ymm2, %ymm1");
259862306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
259962306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
260062306a36Sopenharmony_ci	asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");
260162306a36Sopenharmony_ci	asm volatile("vscalefsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
260262306a36Sopenharmony_ci	asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
260362306a36Sopenharmony_ci	asm volatile("vsqrtph %zmm2, %zmm1");
260462306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %zmm1");
260562306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
260662306a36Sopenharmony_ci	asm volatile("vsqrtph %xmm2, %xmm1");
260762306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %xmm1");
260862306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
260962306a36Sopenharmony_ci	asm volatile("vsqrtph %ymm2, %ymm1");
261062306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %ymm1");
261162306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
261262306a36Sopenharmony_ci	asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");
261362306a36Sopenharmony_ci	asm volatile("vsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
261462306a36Sopenharmony_ci	asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
261562306a36Sopenharmony_ci	asm volatile("vsubph %zmm3, %zmm2, %zmm1");
261662306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
261762306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
261862306a36Sopenharmony_ci	asm volatile("vsubph %xmm3, %xmm2, %xmm1");
261962306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
262062306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
262162306a36Sopenharmony_ci	asm volatile("vsubph %ymm3, %ymm2, %ymm1");
262262306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
262362306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
262462306a36Sopenharmony_ci	asm volatile("vsubsh %xmm3, %xmm2, %xmm1");
262562306a36Sopenharmony_ci	asm volatile("vsubsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
262662306a36Sopenharmony_ci	asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
262762306a36Sopenharmony_ci	asm volatile("vucomish %xmm2, %xmm1");
262862306a36Sopenharmony_ci	asm volatile("vucomish 0x12345678(%rax,%rcx,8), %xmm1");
262962306a36Sopenharmony_ci	asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");
263062306a36Sopenharmony_ci
263162306a36Sopenharmony_ci#else  /* #ifdef __x86_64__ */
263262306a36Sopenharmony_ci
263362306a36Sopenharmony_ci	/* bound r32, mem (same op code as EVEX prefix) */
263462306a36Sopenharmony_ci
263562306a36Sopenharmony_ci	asm volatile("bound %eax, 0x12345678(%ecx)");
263662306a36Sopenharmony_ci	asm volatile("bound %ecx, 0x12345678(%eax)");
263762306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%eax)");
263862306a36Sopenharmony_ci	asm volatile("bound %ebx, 0x12345678(%eax)");
263962306a36Sopenharmony_ci	asm volatile("bound %esp, 0x12345678(%eax)");
264062306a36Sopenharmony_ci	asm volatile("bound %ebp, 0x12345678(%eax)");
264162306a36Sopenharmony_ci	asm volatile("bound %esi, 0x12345678(%eax)");
264262306a36Sopenharmony_ci	asm volatile("bound %edi, 0x12345678(%eax)");
264362306a36Sopenharmony_ci	asm volatile("bound %ecx, (%eax)");
264462306a36Sopenharmony_ci	asm volatile("bound %eax, (0x12345678)");
264562306a36Sopenharmony_ci	asm volatile("bound %edx, (%ecx,%eax,1)");
264662306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(,%eax,1)");
264762306a36Sopenharmony_ci	asm volatile("bound %edx, (%eax,%ecx,1)");
264862306a36Sopenharmony_ci	asm volatile("bound %edx, (%eax,%ecx,8)");
264962306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12(%eax)");
265062306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12(%ebp)");
265162306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12(%ecx,%eax,1)");
265262306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12(%ebp,%eax,1)");
265362306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12(%eax,%ecx,1)");
265462306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12(%eax,%ecx,8)");
265562306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%eax)");
265662306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%ebp)");
265762306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%ecx,%eax,1)");
265862306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%ebp,%eax,1)");
265962306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%eax,%ecx,1)");
266062306a36Sopenharmony_ci	asm volatile("bound %edx, 0x12345678(%eax,%ecx,8)");
266162306a36Sopenharmony_ci
266262306a36Sopenharmony_ci	/* bound r16, mem (same op code as EVEX prefix) */
266362306a36Sopenharmony_ci
266462306a36Sopenharmony_ci	asm volatile("bound %ax, 0x12345678(%ecx)");
266562306a36Sopenharmony_ci	asm volatile("bound %cx, 0x12345678(%eax)");
266662306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%eax)");
266762306a36Sopenharmony_ci	asm volatile("bound %bx, 0x12345678(%eax)");
266862306a36Sopenharmony_ci	asm volatile("bound %sp, 0x12345678(%eax)");
266962306a36Sopenharmony_ci	asm volatile("bound %bp, 0x12345678(%eax)");
267062306a36Sopenharmony_ci	asm volatile("bound %si, 0x12345678(%eax)");
267162306a36Sopenharmony_ci	asm volatile("bound %di, 0x12345678(%eax)");
267262306a36Sopenharmony_ci	asm volatile("bound %cx, (%eax)");
267362306a36Sopenharmony_ci	asm volatile("bound %ax, (0x12345678)");
267462306a36Sopenharmony_ci	asm volatile("bound %dx, (%ecx,%eax,1)");
267562306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(,%eax,1)");
267662306a36Sopenharmony_ci	asm volatile("bound %dx, (%eax,%ecx,1)");
267762306a36Sopenharmony_ci	asm volatile("bound %dx, (%eax,%ecx,8)");
267862306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12(%eax)");
267962306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12(%ebp)");
268062306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12(%ecx,%eax,1)");
268162306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12(%ebp,%eax,1)");
268262306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12(%eax,%ecx,1)");
268362306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12(%eax,%ecx,8)");
268462306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%eax)");
268562306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%ebp)");
268662306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%ecx,%eax,1)");
268762306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%ebp,%eax,1)");
268862306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%eax,%ecx,1)");
268962306a36Sopenharmony_ci	asm volatile("bound %dx, 0x12345678(%eax,%ecx,8)");
269062306a36Sopenharmony_ci
269162306a36Sopenharmony_ci	/* AVX-512: Instructions with the same op codes as Mask Instructions  */
269262306a36Sopenharmony_ci
269362306a36Sopenharmony_ci	asm volatile("cmovno %eax,%ebx");
269462306a36Sopenharmony_ci	asm volatile("cmovno 0x12345678(%eax),%ecx");
269562306a36Sopenharmony_ci	asm volatile("cmovno 0x12345678(%eax),%cx");
269662306a36Sopenharmony_ci
269762306a36Sopenharmony_ci	asm volatile("cmove  %eax,%ebx");
269862306a36Sopenharmony_ci	asm volatile("cmove 0x12345678(%eax),%ecx");
269962306a36Sopenharmony_ci	asm volatile("cmove 0x12345678(%eax),%cx");
270062306a36Sopenharmony_ci
270162306a36Sopenharmony_ci	asm volatile("seto    0x12345678(%eax)");
270262306a36Sopenharmony_ci	asm volatile("setno   0x12345678(%eax)");
270362306a36Sopenharmony_ci	asm volatile("setb    0x12345678(%eax)");
270462306a36Sopenharmony_ci	asm volatile("setc    0x12345678(%eax)");
270562306a36Sopenharmony_ci	asm volatile("setnae  0x12345678(%eax)");
270662306a36Sopenharmony_ci	asm volatile("setae   0x12345678(%eax)");
270762306a36Sopenharmony_ci	asm volatile("setnb   0x12345678(%eax)");
270862306a36Sopenharmony_ci	asm volatile("setnc   0x12345678(%eax)");
270962306a36Sopenharmony_ci	asm volatile("sets    0x12345678(%eax)");
271062306a36Sopenharmony_ci	asm volatile("setns   0x12345678(%eax)");
271162306a36Sopenharmony_ci
271262306a36Sopenharmony_ci	/* AVX-512: Mask Instructions */
271362306a36Sopenharmony_ci
271462306a36Sopenharmony_ci	asm volatile("kandw  %k7,%k6,%k5");
271562306a36Sopenharmony_ci	asm volatile("kandq  %k7,%k6,%k5");
271662306a36Sopenharmony_ci	asm volatile("kandb  %k7,%k6,%k5");
271762306a36Sopenharmony_ci	asm volatile("kandd  %k7,%k6,%k5");
271862306a36Sopenharmony_ci
271962306a36Sopenharmony_ci	asm volatile("kandnw  %k7,%k6,%k5");
272062306a36Sopenharmony_ci	asm volatile("kandnq  %k7,%k6,%k5");
272162306a36Sopenharmony_ci	asm volatile("kandnb  %k7,%k6,%k5");
272262306a36Sopenharmony_ci	asm volatile("kandnd  %k7,%k6,%k5");
272362306a36Sopenharmony_ci
272462306a36Sopenharmony_ci	asm volatile("knotw  %k7,%k6");
272562306a36Sopenharmony_ci	asm volatile("knotq  %k7,%k6");
272662306a36Sopenharmony_ci	asm volatile("knotb  %k7,%k6");
272762306a36Sopenharmony_ci	asm volatile("knotd  %k7,%k6");
272862306a36Sopenharmony_ci
272962306a36Sopenharmony_ci	asm volatile("korw  %k7,%k6,%k5");
273062306a36Sopenharmony_ci	asm volatile("korq  %k7,%k6,%k5");
273162306a36Sopenharmony_ci	asm volatile("korb  %k7,%k6,%k5");
273262306a36Sopenharmony_ci	asm volatile("kord  %k7,%k6,%k5");
273362306a36Sopenharmony_ci
273462306a36Sopenharmony_ci	asm volatile("kxnorw  %k7,%k6,%k5");
273562306a36Sopenharmony_ci	asm volatile("kxnorq  %k7,%k6,%k5");
273662306a36Sopenharmony_ci	asm volatile("kxnorb  %k7,%k6,%k5");
273762306a36Sopenharmony_ci	asm volatile("kxnord  %k7,%k6,%k5");
273862306a36Sopenharmony_ci
273962306a36Sopenharmony_ci	asm volatile("kxorw  %k7,%k6,%k5");
274062306a36Sopenharmony_ci	asm volatile("kxorq  %k7,%k6,%k5");
274162306a36Sopenharmony_ci	asm volatile("kxorb  %k7,%k6,%k5");
274262306a36Sopenharmony_ci	asm volatile("kxord  %k7,%k6,%k5");
274362306a36Sopenharmony_ci
274462306a36Sopenharmony_ci	asm volatile("kaddw  %k7,%k6,%k5");
274562306a36Sopenharmony_ci	asm volatile("kaddq  %k7,%k6,%k5");
274662306a36Sopenharmony_ci	asm volatile("kaddb  %k7,%k6,%k5");
274762306a36Sopenharmony_ci	asm volatile("kaddd  %k7,%k6,%k5");
274862306a36Sopenharmony_ci
274962306a36Sopenharmony_ci	asm volatile("kunpckbw %k7,%k6,%k5");
275062306a36Sopenharmony_ci	asm volatile("kunpckwd %k7,%k6,%k5");
275162306a36Sopenharmony_ci	asm volatile("kunpckdq %k7,%k6,%k5");
275262306a36Sopenharmony_ci
275362306a36Sopenharmony_ci	asm volatile("kmovw  %k6,%k5");
275462306a36Sopenharmony_ci	asm volatile("kmovw  (%ecx),%k5");
275562306a36Sopenharmony_ci	asm volatile("kmovw  0x123(%eax,%ecx,8),%k5");
275662306a36Sopenharmony_ci	asm volatile("kmovw  %k5,(%ecx)");
275762306a36Sopenharmony_ci	asm volatile("kmovw  %k5,0x123(%eax,%ecx,8)");
275862306a36Sopenharmony_ci	asm volatile("kmovw  %eax,%k5");
275962306a36Sopenharmony_ci	asm volatile("kmovw  %ebp,%k5");
276062306a36Sopenharmony_ci	asm volatile("kmovw  %k5,%eax");
276162306a36Sopenharmony_ci	asm volatile("kmovw  %k5,%ebp");
276262306a36Sopenharmony_ci
276362306a36Sopenharmony_ci	asm volatile("kmovq  %k6,%k5");
276462306a36Sopenharmony_ci	asm volatile("kmovq  (%ecx),%k5");
276562306a36Sopenharmony_ci	asm volatile("kmovq  0x123(%eax,%ecx,8),%k5");
276662306a36Sopenharmony_ci	asm volatile("kmovq  %k5,(%ecx)");
276762306a36Sopenharmony_ci	asm volatile("kmovq  %k5,0x123(%eax,%ecx,8)");
276862306a36Sopenharmony_ci
276962306a36Sopenharmony_ci	asm volatile("kmovb  %k6,%k5");
277062306a36Sopenharmony_ci	asm volatile("kmovb  (%ecx),%k5");
277162306a36Sopenharmony_ci	asm volatile("kmovb  0x123(%eax,%ecx,8),%k5");
277262306a36Sopenharmony_ci	asm volatile("kmovb  %k5,(%ecx)");
277362306a36Sopenharmony_ci	asm volatile("kmovb  %k5,0x123(%eax,%ecx,8)");
277462306a36Sopenharmony_ci	asm volatile("kmovb  %eax,%k5");
277562306a36Sopenharmony_ci	asm volatile("kmovb  %ebp,%k5");
277662306a36Sopenharmony_ci	asm volatile("kmovb  %k5,%eax");
277762306a36Sopenharmony_ci	asm volatile("kmovb  %k5,%ebp");
277862306a36Sopenharmony_ci
277962306a36Sopenharmony_ci	asm volatile("kmovd  %k6,%k5");
278062306a36Sopenharmony_ci	asm volatile("kmovd  (%ecx),%k5");
278162306a36Sopenharmony_ci	asm volatile("kmovd  0x123(%eax,%ecx,8),%k5");
278262306a36Sopenharmony_ci	asm volatile("kmovd  %k5,(%ecx)");
278362306a36Sopenharmony_ci	asm volatile("kmovd  %k5,0x123(%eax,%ecx,8)");
278462306a36Sopenharmony_ci	asm volatile("kmovd  %eax,%k5");
278562306a36Sopenharmony_ci	asm volatile("kmovd  %ebp,%k5");
278662306a36Sopenharmony_ci	asm volatile("kmovd  %k5,%eax");
278762306a36Sopenharmony_ci	asm volatile("kmovd  %k5,%ebp");
278862306a36Sopenharmony_ci
278962306a36Sopenharmony_ci	asm volatile("kortestw %k6,%k5");
279062306a36Sopenharmony_ci	asm volatile("kortestq %k6,%k5");
279162306a36Sopenharmony_ci	asm volatile("kortestb %k6,%k5");
279262306a36Sopenharmony_ci	asm volatile("kortestd %k6,%k5");
279362306a36Sopenharmony_ci
279462306a36Sopenharmony_ci	asm volatile("ktestw %k6,%k5");
279562306a36Sopenharmony_ci	asm volatile("ktestq %k6,%k5");
279662306a36Sopenharmony_ci	asm volatile("ktestb %k6,%k5");
279762306a36Sopenharmony_ci	asm volatile("ktestd %k6,%k5");
279862306a36Sopenharmony_ci
279962306a36Sopenharmony_ci	asm volatile("kshiftrw $0x12,%k6,%k5");
280062306a36Sopenharmony_ci	asm volatile("kshiftrq $0x5b,%k6,%k5");
280162306a36Sopenharmony_ci	asm volatile("kshiftlw $0x12,%k6,%k5");
280262306a36Sopenharmony_ci	asm volatile("kshiftlq $0x5b,%k6,%k5");
280362306a36Sopenharmony_ci
280462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 5b */
280562306a36Sopenharmony_ci	asm volatile("vcvtdq2ps %xmm5,%xmm6");
280662306a36Sopenharmony_ci	asm volatile("vcvtqq2ps %zmm5,%ymm6{%k7}");
280762306a36Sopenharmony_ci	asm volatile("vcvtps2dq %xmm5,%xmm6");
280862306a36Sopenharmony_ci	asm volatile("vcvttps2dq %xmm5,%xmm6");
280962306a36Sopenharmony_ci
281062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 6f */
281162306a36Sopenharmony_ci
281262306a36Sopenharmony_ci	asm volatile("movq   %mm0,%mm4");
281362306a36Sopenharmony_ci	asm volatile("vmovdqa %ymm4,%ymm6");
281462306a36Sopenharmony_ci	asm volatile("vmovdqa32 %zmm5,%zmm6");
281562306a36Sopenharmony_ci	asm volatile("vmovdqa64 %zmm5,%zmm6");
281662306a36Sopenharmony_ci	asm volatile("vmovdqu %ymm4,%ymm6");
281762306a36Sopenharmony_ci	asm volatile("vmovdqu32 %zmm5,%zmm6");
281862306a36Sopenharmony_ci	asm volatile("vmovdqu64 %zmm5,%zmm6");
281962306a36Sopenharmony_ci	asm volatile("vmovdqu8 %zmm5,%zmm6");
282062306a36Sopenharmony_ci	asm volatile("vmovdqu16 %zmm5,%zmm6");
282162306a36Sopenharmony_ci
282262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 78 */
282362306a36Sopenharmony_ci
282462306a36Sopenharmony_ci	asm volatile("vmread %eax,%ebx");
282562306a36Sopenharmony_ci	asm volatile("vcvttps2udq %zmm5,%zmm6");
282662306a36Sopenharmony_ci	asm volatile("vcvttpd2udq %zmm5,%ymm6{%k7}");
282762306a36Sopenharmony_ci	asm volatile("vcvttsd2usi %xmm6,%eax");
282862306a36Sopenharmony_ci	asm volatile("vcvttss2usi %xmm6,%eax");
282962306a36Sopenharmony_ci	asm volatile("vcvttps2uqq %ymm5,%zmm6{%k7}");
283062306a36Sopenharmony_ci	asm volatile("vcvttpd2uqq %zmm5,%zmm6");
283162306a36Sopenharmony_ci
283262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 79 */
283362306a36Sopenharmony_ci
283462306a36Sopenharmony_ci	asm volatile("vmwrite %eax,%ebx");
283562306a36Sopenharmony_ci	asm volatile("vcvtps2udq %zmm5,%zmm6");
283662306a36Sopenharmony_ci	asm volatile("vcvtpd2udq %zmm5,%ymm6{%k7}");
283762306a36Sopenharmony_ci	asm volatile("vcvtsd2usi %xmm6,%eax");
283862306a36Sopenharmony_ci	asm volatile("vcvtss2usi %xmm6,%eax");
283962306a36Sopenharmony_ci	asm volatile("vcvtps2uqq %ymm5,%zmm6{%k7}");
284062306a36Sopenharmony_ci	asm volatile("vcvtpd2uqq %zmm5,%zmm6");
284162306a36Sopenharmony_ci
284262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 7a */
284362306a36Sopenharmony_ci
284462306a36Sopenharmony_ci	asm volatile("vcvtudq2pd %ymm5,%zmm6{%k7}");
284562306a36Sopenharmony_ci	asm volatile("vcvtuqq2pd %zmm5,%zmm6");
284662306a36Sopenharmony_ci	asm volatile("vcvtudq2ps %zmm5,%zmm6");
284762306a36Sopenharmony_ci	asm volatile("vcvtuqq2ps %zmm5,%ymm6{%k7}");
284862306a36Sopenharmony_ci	asm volatile("vcvttps2qq %ymm5,%zmm6{%k7}");
284962306a36Sopenharmony_ci	asm volatile("vcvttpd2qq %zmm5,%zmm6");
285062306a36Sopenharmony_ci
285162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 7b */
285262306a36Sopenharmony_ci
285362306a36Sopenharmony_ci	asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");
285462306a36Sopenharmony_ci	asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");
285562306a36Sopenharmony_ci	asm volatile("vcvtps2qq %ymm5,%zmm6{%k7}");
285662306a36Sopenharmony_ci	asm volatile("vcvtpd2qq %zmm5,%zmm6");
285762306a36Sopenharmony_ci
285862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 7f */
285962306a36Sopenharmony_ci
286062306a36Sopenharmony_ci	asm volatile("movq.s  %mm0,%mm4");
286162306a36Sopenharmony_ci	asm volatile("vmovdqa.s %ymm5,%ymm6");
286262306a36Sopenharmony_ci	asm volatile("vmovdqa32.s %zmm5,%zmm6");
286362306a36Sopenharmony_ci	asm volatile("vmovdqa64.s %zmm5,%zmm6");
286462306a36Sopenharmony_ci	asm volatile("vmovdqu.s %ymm5,%ymm6");
286562306a36Sopenharmony_ci	asm volatile("vmovdqu32.s %zmm5,%zmm6");
286662306a36Sopenharmony_ci	asm volatile("vmovdqu64.s %zmm5,%zmm6");
286762306a36Sopenharmony_ci	asm volatile("vmovdqu8.s %zmm5,%zmm6");
286862306a36Sopenharmony_ci	asm volatile("vmovdqu16.s %zmm5,%zmm6");
286962306a36Sopenharmony_ci
287062306a36Sopenharmony_ci	/* AVX-512: Op code 0f db */
287162306a36Sopenharmony_ci
287262306a36Sopenharmony_ci	asm volatile("pand  %mm1,%mm2");
287362306a36Sopenharmony_ci	asm volatile("pand  %xmm1,%xmm2");
287462306a36Sopenharmony_ci	asm volatile("vpand  %ymm4,%ymm6,%ymm2");
287562306a36Sopenharmony_ci	asm volatile("vpandd %zmm4,%zmm5,%zmm6");
287662306a36Sopenharmony_ci	asm volatile("vpandq %zmm4,%zmm5,%zmm6");
287762306a36Sopenharmony_ci
287862306a36Sopenharmony_ci	/* AVX-512: Op code 0f df */
287962306a36Sopenharmony_ci
288062306a36Sopenharmony_ci	asm volatile("pandn  %mm1,%mm2");
288162306a36Sopenharmony_ci	asm volatile("pandn  %xmm1,%xmm2");
288262306a36Sopenharmony_ci	asm volatile("vpandn %ymm4,%ymm6,%ymm2");
288362306a36Sopenharmony_ci	asm volatile("vpandnd %zmm4,%zmm5,%zmm6");
288462306a36Sopenharmony_ci	asm volatile("vpandnq %zmm4,%zmm5,%zmm6");
288562306a36Sopenharmony_ci
288662306a36Sopenharmony_ci	/* AVX-512: Op code 0f e6 */
288762306a36Sopenharmony_ci
288862306a36Sopenharmony_ci	asm volatile("vcvttpd2dq %xmm1,%xmm2");
288962306a36Sopenharmony_ci	asm volatile("vcvtdq2pd %xmm5,%xmm6");
289062306a36Sopenharmony_ci	asm volatile("vcvtdq2pd %ymm5,%zmm6{%k7}");
289162306a36Sopenharmony_ci	asm volatile("vcvtqq2pd %zmm5,%zmm6");
289262306a36Sopenharmony_ci	asm volatile("vcvtpd2dq %xmm1,%xmm2");
289362306a36Sopenharmony_ci
289462306a36Sopenharmony_ci	/* AVX-512: Op code 0f eb */
289562306a36Sopenharmony_ci
289662306a36Sopenharmony_ci	asm volatile("por   %mm4,%mm6");
289762306a36Sopenharmony_ci	asm volatile("vpor   %ymm4,%ymm6,%ymm2");
289862306a36Sopenharmony_ci	asm volatile("vpord  %zmm4,%zmm5,%zmm6");
289962306a36Sopenharmony_ci	asm volatile("vporq  %zmm4,%zmm5,%zmm6");
290062306a36Sopenharmony_ci
290162306a36Sopenharmony_ci	/* AVX-512: Op code 0f ef */
290262306a36Sopenharmony_ci
290362306a36Sopenharmony_ci	asm volatile("pxor   %mm4,%mm6");
290462306a36Sopenharmony_ci	asm volatile("vpxor  %ymm4,%ymm6,%ymm2");
290562306a36Sopenharmony_ci	asm volatile("vpxord %zmm4,%zmm5,%zmm6");
290662306a36Sopenharmony_ci	asm volatile("vpxorq %zmm4,%zmm5,%zmm6");
290762306a36Sopenharmony_ci
290862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 10 */
290962306a36Sopenharmony_ci
291062306a36Sopenharmony_ci	asm volatile("pblendvb %xmm1,%xmm0");
291162306a36Sopenharmony_ci	asm volatile("vpsrlvw %zmm4,%zmm5,%zmm6");
291262306a36Sopenharmony_ci	asm volatile("vpmovuswb %zmm5,%ymm6{%k7}");
291362306a36Sopenharmony_ci
291462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 11 */
291562306a36Sopenharmony_ci
291662306a36Sopenharmony_ci	asm volatile("vpmovusdb %zmm5,%xmm6{%k7}");
291762306a36Sopenharmony_ci	asm volatile("vpsravw %zmm4,%zmm5,%zmm6");
291862306a36Sopenharmony_ci
291962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 12 */
292062306a36Sopenharmony_ci
292162306a36Sopenharmony_ci	asm volatile("vpmovusqb %zmm5,%xmm6{%k7}");
292262306a36Sopenharmony_ci	asm volatile("vpsllvw %zmm4,%zmm5,%zmm6");
292362306a36Sopenharmony_ci
292462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 13 */
292562306a36Sopenharmony_ci
292662306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm3,%ymm5");
292762306a36Sopenharmony_ci	asm volatile("vcvtph2ps %ymm5,%zmm6{%k7}");
292862306a36Sopenharmony_ci	asm volatile("vpmovusdw %zmm5,%ymm6{%k7}");
292962306a36Sopenharmony_ci
293062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 14 */
293162306a36Sopenharmony_ci
293262306a36Sopenharmony_ci	asm volatile("blendvps %xmm1,%xmm0");
293362306a36Sopenharmony_ci	asm volatile("vpmovusqw %zmm5,%xmm6{%k7}");
293462306a36Sopenharmony_ci	asm volatile("vprorvd %zmm4,%zmm5,%zmm6");
293562306a36Sopenharmony_ci	asm volatile("vprorvq %zmm4,%zmm5,%zmm6");
293662306a36Sopenharmony_ci
293762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 15 */
293862306a36Sopenharmony_ci
293962306a36Sopenharmony_ci	asm volatile("blendvpd %xmm1,%xmm0");
294062306a36Sopenharmony_ci	asm volatile("vpmovusqd %zmm5,%ymm6{%k7}");
294162306a36Sopenharmony_ci	asm volatile("vprolvd %zmm4,%zmm5,%zmm6");
294262306a36Sopenharmony_ci	asm volatile("vprolvq %zmm4,%zmm5,%zmm6");
294362306a36Sopenharmony_ci
294462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 16 */
294562306a36Sopenharmony_ci
294662306a36Sopenharmony_ci	asm volatile("vpermps %ymm4,%ymm6,%ymm2");
294762306a36Sopenharmony_ci	asm volatile("vpermps %ymm4,%ymm6,%ymm2{%k7}");
294862306a36Sopenharmony_ci	asm volatile("vpermpd %ymm4,%ymm6,%ymm2{%k7}");
294962306a36Sopenharmony_ci
295062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 19 */
295162306a36Sopenharmony_ci
295262306a36Sopenharmony_ci	asm volatile("vbroadcastsd %xmm4,%ymm6");
295362306a36Sopenharmony_ci	asm volatile("vbroadcastf32x2 %xmm7,%zmm6");
295462306a36Sopenharmony_ci
295562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 1a */
295662306a36Sopenharmony_ci
295762306a36Sopenharmony_ci	asm volatile("vbroadcastf128 (%ecx),%ymm4");
295862306a36Sopenharmony_ci	asm volatile("vbroadcastf32x4 (%ecx),%zmm6");
295962306a36Sopenharmony_ci	asm volatile("vbroadcastf64x2 (%ecx),%zmm6");
296062306a36Sopenharmony_ci
296162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 1b */
296262306a36Sopenharmony_ci
296362306a36Sopenharmony_ci	asm volatile("vbroadcastf32x8 (%ecx),%zmm6");
296462306a36Sopenharmony_ci	asm volatile("vbroadcastf64x4 (%ecx),%zmm6");
296562306a36Sopenharmony_ci
296662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 1f */
296762306a36Sopenharmony_ci
296862306a36Sopenharmony_ci	asm volatile("vpabsq %zmm4,%zmm6");
296962306a36Sopenharmony_ci
297062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 20 */
297162306a36Sopenharmony_ci
297262306a36Sopenharmony_ci	asm volatile("vpmovsxbw %xmm4,%xmm5");
297362306a36Sopenharmony_ci	asm volatile("vpmovswb %zmm5,%ymm6{%k7}");
297462306a36Sopenharmony_ci
297562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 21 */
297662306a36Sopenharmony_ci
297762306a36Sopenharmony_ci	asm volatile("vpmovsxbd %xmm4,%ymm6");
297862306a36Sopenharmony_ci	asm volatile("vpmovsdb %zmm5,%xmm6{%k7}");
297962306a36Sopenharmony_ci
298062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 22 */
298162306a36Sopenharmony_ci
298262306a36Sopenharmony_ci	asm volatile("vpmovsxbq %xmm4,%ymm4");
298362306a36Sopenharmony_ci	asm volatile("vpmovsqb %zmm5,%xmm6{%k7}");
298462306a36Sopenharmony_ci
298562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 23 */
298662306a36Sopenharmony_ci
298762306a36Sopenharmony_ci	asm volatile("vpmovsxwd %xmm4,%ymm4");
298862306a36Sopenharmony_ci	asm volatile("vpmovsdw %zmm5,%ymm6{%k7}");
298962306a36Sopenharmony_ci
299062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 24 */
299162306a36Sopenharmony_ci
299262306a36Sopenharmony_ci	asm volatile("vpmovsxwq %xmm4,%ymm6");
299362306a36Sopenharmony_ci	asm volatile("vpmovsqw %zmm5,%xmm6{%k7}");
299462306a36Sopenharmony_ci
299562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 25 */
299662306a36Sopenharmony_ci
299762306a36Sopenharmony_ci	asm volatile("vpmovsxdq %xmm4,%ymm4");
299862306a36Sopenharmony_ci	asm volatile("vpmovsqd %zmm5,%ymm6{%k7}");
299962306a36Sopenharmony_ci
300062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 26 */
300162306a36Sopenharmony_ci
300262306a36Sopenharmony_ci	asm volatile("vptestmb %zmm5,%zmm6,%k5");
300362306a36Sopenharmony_ci	asm volatile("vptestmw %zmm5,%zmm6,%k5");
300462306a36Sopenharmony_ci	asm volatile("vptestnmb %zmm4,%zmm5,%k5");
300562306a36Sopenharmony_ci	asm volatile("vptestnmw %zmm4,%zmm5,%k5");
300662306a36Sopenharmony_ci
300762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 27 */
300862306a36Sopenharmony_ci
300962306a36Sopenharmony_ci	asm volatile("vptestmd %zmm5,%zmm6,%k5");
301062306a36Sopenharmony_ci	asm volatile("vptestmq %zmm5,%zmm6,%k5");
301162306a36Sopenharmony_ci	asm volatile("vptestnmd %zmm4,%zmm5,%k5");
301262306a36Sopenharmony_ci	asm volatile("vptestnmq %zmm4,%zmm5,%k5");
301362306a36Sopenharmony_ci
301462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 28 */
301562306a36Sopenharmony_ci
301662306a36Sopenharmony_ci	asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");
301762306a36Sopenharmony_ci	asm volatile("vpmovm2b %k5,%zmm6");
301862306a36Sopenharmony_ci	asm volatile("vpmovm2w %k5,%zmm6");
301962306a36Sopenharmony_ci
302062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 29 */
302162306a36Sopenharmony_ci
302262306a36Sopenharmony_ci	asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");
302362306a36Sopenharmony_ci	asm volatile("vpmovb2m %zmm6,%k5");
302462306a36Sopenharmony_ci	asm volatile("vpmovw2m %zmm6,%k5");
302562306a36Sopenharmony_ci
302662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 2a */
302762306a36Sopenharmony_ci
302862306a36Sopenharmony_ci	asm volatile("vmovntdqa (%ecx),%ymm4");
302962306a36Sopenharmony_ci	asm volatile("vpbroadcastmb2q %k6,%zmm1");
303062306a36Sopenharmony_ci
303162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 2c */
303262306a36Sopenharmony_ci
303362306a36Sopenharmony_ci	asm volatile("vmaskmovps (%ecx),%ymm4,%ymm6");
303462306a36Sopenharmony_ci	asm volatile("vscalefps %zmm4,%zmm5,%zmm6");
303562306a36Sopenharmony_ci	asm volatile("vscalefpd %zmm4,%zmm5,%zmm6");
303662306a36Sopenharmony_ci
303762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 2d */
303862306a36Sopenharmony_ci
303962306a36Sopenharmony_ci	asm volatile("vmaskmovpd (%ecx),%ymm4,%ymm6");
304062306a36Sopenharmony_ci	asm volatile("vscalefss %xmm4,%xmm5,%xmm6{%k7}");
304162306a36Sopenharmony_ci	asm volatile("vscalefsd %xmm4,%xmm5,%xmm6{%k7}");
304262306a36Sopenharmony_ci
304362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 30 */
304462306a36Sopenharmony_ci
304562306a36Sopenharmony_ci	asm volatile("vpmovzxbw %xmm4,%ymm4");
304662306a36Sopenharmony_ci	asm volatile("vpmovwb %zmm5,%ymm6{%k7}");
304762306a36Sopenharmony_ci
304862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 31 */
304962306a36Sopenharmony_ci
305062306a36Sopenharmony_ci	asm volatile("vpmovzxbd %xmm4,%ymm6");
305162306a36Sopenharmony_ci	asm volatile("vpmovdb %zmm5,%xmm6{%k7}");
305262306a36Sopenharmony_ci
305362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 32 */
305462306a36Sopenharmony_ci
305562306a36Sopenharmony_ci	asm volatile("vpmovzxbq %xmm4,%ymm4");
305662306a36Sopenharmony_ci	asm volatile("vpmovqb %zmm5,%xmm6{%k7}");
305762306a36Sopenharmony_ci
305862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 33 */
305962306a36Sopenharmony_ci
306062306a36Sopenharmony_ci	asm volatile("vpmovzxwd %xmm4,%ymm4");
306162306a36Sopenharmony_ci	asm volatile("vpmovdw %zmm5,%ymm6{%k7}");
306262306a36Sopenharmony_ci
306362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 34 */
306462306a36Sopenharmony_ci
306562306a36Sopenharmony_ci	asm volatile("vpmovzxwq %xmm4,%ymm6");
306662306a36Sopenharmony_ci	asm volatile("vpmovqw %zmm5,%xmm6{%k7}");
306762306a36Sopenharmony_ci
306862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 35 */
306962306a36Sopenharmony_ci
307062306a36Sopenharmony_ci	asm volatile("vpmovzxdq %xmm4,%ymm4");
307162306a36Sopenharmony_ci	asm volatile("vpmovqd %zmm5,%ymm6{%k7}");
307262306a36Sopenharmony_ci
307362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 36 */
307462306a36Sopenharmony_ci
307562306a36Sopenharmony_ci	asm volatile("vpermd %ymm4,%ymm6,%ymm2");
307662306a36Sopenharmony_ci	asm volatile("vpermd %ymm4,%ymm6,%ymm2{%k7}");
307762306a36Sopenharmony_ci	asm volatile("vpermq %ymm4,%ymm6,%ymm2{%k7}");
307862306a36Sopenharmony_ci
307962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 38 */
308062306a36Sopenharmony_ci
308162306a36Sopenharmony_ci	asm volatile("vpminsb %ymm4,%ymm6,%ymm2");
308262306a36Sopenharmony_ci	asm volatile("vpmovm2d %k5,%zmm6");
308362306a36Sopenharmony_ci	asm volatile("vpmovm2q %k5,%zmm6");
308462306a36Sopenharmony_ci
308562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 39 */
308662306a36Sopenharmony_ci
308762306a36Sopenharmony_ci	asm volatile("vpminsd %xmm1,%xmm2,%xmm3");
308862306a36Sopenharmony_ci	asm volatile("vpminsd %zmm4,%zmm5,%zmm6");
308962306a36Sopenharmony_ci	asm volatile("vpminsq %zmm4,%zmm5,%zmm6");
309062306a36Sopenharmony_ci	asm volatile("vpmovd2m %zmm6,%k5");
309162306a36Sopenharmony_ci	asm volatile("vpmovq2m %zmm6,%k5");
309262306a36Sopenharmony_ci
309362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3a */
309462306a36Sopenharmony_ci
309562306a36Sopenharmony_ci	asm volatile("vpminuw %ymm4,%ymm6,%ymm2");
309662306a36Sopenharmony_ci	asm volatile("vpbroadcastmw2d %k6,%zmm6");
309762306a36Sopenharmony_ci
309862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3b */
309962306a36Sopenharmony_ci
310062306a36Sopenharmony_ci	asm volatile("vpminud %ymm4,%ymm6,%ymm2");
310162306a36Sopenharmony_ci	asm volatile("vpminud %zmm4,%zmm5,%zmm6");
310262306a36Sopenharmony_ci	asm volatile("vpminuq %zmm4,%zmm5,%zmm6");
310362306a36Sopenharmony_ci
310462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3d */
310562306a36Sopenharmony_ci
310662306a36Sopenharmony_ci	asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");
310762306a36Sopenharmony_ci	asm volatile("vpmaxsd %zmm4,%zmm5,%zmm6");
310862306a36Sopenharmony_ci	asm volatile("vpmaxsq %zmm4,%zmm5,%zmm6");
310962306a36Sopenharmony_ci
311062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 3f */
311162306a36Sopenharmony_ci
311262306a36Sopenharmony_ci	asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");
311362306a36Sopenharmony_ci	asm volatile("vpmaxud %zmm4,%zmm5,%zmm6");
311462306a36Sopenharmony_ci	asm volatile("vpmaxuq %zmm4,%zmm5,%zmm6");
311562306a36Sopenharmony_ci
311662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 40 */
311762306a36Sopenharmony_ci
311862306a36Sopenharmony_ci	asm volatile("vpmulld %ymm4,%ymm6,%ymm2");
311962306a36Sopenharmony_ci	asm volatile("vpmulld %zmm4,%zmm5,%zmm6");
312062306a36Sopenharmony_ci	asm volatile("vpmullq %zmm4,%zmm5,%zmm6");
312162306a36Sopenharmony_ci
312262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 42 */
312362306a36Sopenharmony_ci
312462306a36Sopenharmony_ci	asm volatile("vgetexpps %zmm5,%zmm6");
312562306a36Sopenharmony_ci	asm volatile("vgetexppd %zmm5,%zmm6");
312662306a36Sopenharmony_ci
312762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 43 */
312862306a36Sopenharmony_ci
312962306a36Sopenharmony_ci	asm volatile("vgetexpss %xmm4,%xmm5,%xmm6{%k7}");
313062306a36Sopenharmony_ci	asm volatile("vgetexpsd %xmm2,%xmm3,%xmm4{%k7}");
313162306a36Sopenharmony_ci
313262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 44 */
313362306a36Sopenharmony_ci
313462306a36Sopenharmony_ci	asm volatile("vplzcntd %zmm5,%zmm6");
313562306a36Sopenharmony_ci	asm volatile("vplzcntq %zmm5,%zmm6");
313662306a36Sopenharmony_ci
313762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 46 */
313862306a36Sopenharmony_ci
313962306a36Sopenharmony_ci	asm volatile("vpsravd %ymm4,%ymm6,%ymm2");
314062306a36Sopenharmony_ci	asm volatile("vpsravd %zmm4,%zmm5,%zmm6");
314162306a36Sopenharmony_ci	asm volatile("vpsravq %zmm4,%zmm5,%zmm6");
314262306a36Sopenharmony_ci
314362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4c */
314462306a36Sopenharmony_ci
314562306a36Sopenharmony_ci	asm volatile("vrcp14ps %zmm5,%zmm6");
314662306a36Sopenharmony_ci	asm volatile("vrcp14pd %zmm5,%zmm6");
314762306a36Sopenharmony_ci
314862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4d */
314962306a36Sopenharmony_ci
315062306a36Sopenharmony_ci	asm volatile("vrcp14ss %xmm4,%xmm5,%xmm6{%k7}");
315162306a36Sopenharmony_ci	asm volatile("vrcp14sd %xmm4,%xmm5,%xmm6{%k7}");
315262306a36Sopenharmony_ci
315362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4e */
315462306a36Sopenharmony_ci
315562306a36Sopenharmony_ci	asm volatile("vrsqrt14ps %zmm5,%zmm6");
315662306a36Sopenharmony_ci	asm volatile("vrsqrt14pd %zmm5,%zmm6");
315762306a36Sopenharmony_ci
315862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 4f */
315962306a36Sopenharmony_ci
316062306a36Sopenharmony_ci	asm volatile("vrsqrt14ss %xmm4,%xmm5,%xmm6{%k7}");
316162306a36Sopenharmony_ci	asm volatile("vrsqrt14sd %xmm4,%xmm5,%xmm6{%k7}");
316262306a36Sopenharmony_ci
316362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 50 */
316462306a36Sopenharmony_ci
316562306a36Sopenharmony_ci	asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");
316662306a36Sopenharmony_ci	asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");
316762306a36Sopenharmony_ci	asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");
316862306a36Sopenharmony_ci	asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
316962306a36Sopenharmony_ci
317062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 51 */
317162306a36Sopenharmony_ci
317262306a36Sopenharmony_ci	asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");
317362306a36Sopenharmony_ci	asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");
317462306a36Sopenharmony_ci	asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");
317562306a36Sopenharmony_ci	asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
317662306a36Sopenharmony_ci
317762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 52 */
317862306a36Sopenharmony_ci
317962306a36Sopenharmony_ci	asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");
318062306a36Sopenharmony_ci	asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");
318162306a36Sopenharmony_ci	asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");
318262306a36Sopenharmony_ci	asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
318362306a36Sopenharmony_ci
318462306a36Sopenharmony_ci	asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");
318562306a36Sopenharmony_ci	asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");
318662306a36Sopenharmony_ci	asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");
318762306a36Sopenharmony_ci	asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
318862306a36Sopenharmony_ci
318962306a36Sopenharmony_ci	asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");
319062306a36Sopenharmony_ci	asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
319162306a36Sopenharmony_ci
319262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 53 */
319362306a36Sopenharmony_ci
319462306a36Sopenharmony_ci	asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");
319562306a36Sopenharmony_ci	asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");
319662306a36Sopenharmony_ci	asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");
319762306a36Sopenharmony_ci	asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
319862306a36Sopenharmony_ci
319962306a36Sopenharmony_ci	asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");
320062306a36Sopenharmony_ci	asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
320162306a36Sopenharmony_ci
320262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 54 */
320362306a36Sopenharmony_ci
320462306a36Sopenharmony_ci	asm volatile("vpopcntb %xmm1, %xmm2");
320562306a36Sopenharmony_ci	asm volatile("vpopcntb %ymm1, %ymm2");
320662306a36Sopenharmony_ci	asm volatile("vpopcntb %zmm1, %zmm2");
320762306a36Sopenharmony_ci	asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");
320862306a36Sopenharmony_ci
320962306a36Sopenharmony_ci	asm volatile("vpopcntw %xmm1, %xmm2");
321062306a36Sopenharmony_ci	asm volatile("vpopcntw %ymm1, %ymm2");
321162306a36Sopenharmony_ci	asm volatile("vpopcntw %zmm1, %zmm2");
321262306a36Sopenharmony_ci	asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");
321362306a36Sopenharmony_ci
321462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 55 */
321562306a36Sopenharmony_ci
321662306a36Sopenharmony_ci	asm volatile("vpopcntd %xmm1, %xmm2");
321762306a36Sopenharmony_ci	asm volatile("vpopcntd %ymm1, %ymm2");
321862306a36Sopenharmony_ci	asm volatile("vpopcntd %zmm1, %zmm2");
321962306a36Sopenharmony_ci	asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");
322062306a36Sopenharmony_ci
322162306a36Sopenharmony_ci	asm volatile("vpopcntq %xmm1, %xmm2");
322262306a36Sopenharmony_ci	asm volatile("vpopcntq %ymm1, %ymm2");
322362306a36Sopenharmony_ci	asm volatile("vpopcntq %zmm1, %zmm2");
322462306a36Sopenharmony_ci	asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");
322562306a36Sopenharmony_ci
322662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 59 */
322762306a36Sopenharmony_ci
322862306a36Sopenharmony_ci	asm volatile("vpbroadcastq %xmm4,%xmm6");
322962306a36Sopenharmony_ci	asm volatile("vbroadcasti32x2 %xmm7,%zmm6");
323062306a36Sopenharmony_ci
323162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 5a */
323262306a36Sopenharmony_ci
323362306a36Sopenharmony_ci	asm volatile("vbroadcasti128 (%ecx),%ymm4");
323462306a36Sopenharmony_ci	asm volatile("vbroadcasti32x4 (%ecx),%zmm6");
323562306a36Sopenharmony_ci	asm volatile("vbroadcasti64x2 (%ecx),%zmm6");
323662306a36Sopenharmony_ci
323762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 5b */
323862306a36Sopenharmony_ci
323962306a36Sopenharmony_ci	asm volatile("vbroadcasti32x8 (%ecx),%zmm6");
324062306a36Sopenharmony_ci	asm volatile("vbroadcasti64x4 (%ecx),%zmm6");
324162306a36Sopenharmony_ci
324262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 62 */
324362306a36Sopenharmony_ci
324462306a36Sopenharmony_ci	asm volatile("vpexpandb %xmm1, %xmm2");
324562306a36Sopenharmony_ci	asm volatile("vpexpandb %ymm1, %ymm2");
324662306a36Sopenharmony_ci	asm volatile("vpexpandb %zmm1, %zmm2");
324762306a36Sopenharmony_ci	asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");
324862306a36Sopenharmony_ci
324962306a36Sopenharmony_ci	asm volatile("vpexpandw %xmm1, %xmm2");
325062306a36Sopenharmony_ci	asm volatile("vpexpandw %ymm1, %ymm2");
325162306a36Sopenharmony_ci	asm volatile("vpexpandw %zmm1, %zmm2");
325262306a36Sopenharmony_ci	asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");
325362306a36Sopenharmony_ci
325462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 63 */
325562306a36Sopenharmony_ci
325662306a36Sopenharmony_ci	asm volatile("vpcompressb %xmm1, %xmm2");
325762306a36Sopenharmony_ci	asm volatile("vpcompressb %ymm1, %ymm2");
325862306a36Sopenharmony_ci	asm volatile("vpcompressb %zmm1, %zmm2");
325962306a36Sopenharmony_ci	asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");
326062306a36Sopenharmony_ci
326162306a36Sopenharmony_ci	asm volatile("vpcompressw %xmm1, %xmm2");
326262306a36Sopenharmony_ci	asm volatile("vpcompressw %ymm1, %ymm2");
326362306a36Sopenharmony_ci	asm volatile("vpcompressw %zmm1, %zmm2");
326462306a36Sopenharmony_ci	asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");
326562306a36Sopenharmony_ci
326662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 64 */
326762306a36Sopenharmony_ci
326862306a36Sopenharmony_ci	asm volatile("vpblendmd %zmm4,%zmm5,%zmm6");
326962306a36Sopenharmony_ci	asm volatile("vpblendmq %zmm4,%zmm5,%zmm6");
327062306a36Sopenharmony_ci
327162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 65 */
327262306a36Sopenharmony_ci
327362306a36Sopenharmony_ci	asm volatile("vblendmps %zmm4,%zmm5,%zmm6");
327462306a36Sopenharmony_ci	asm volatile("vblendmpd %zmm4,%zmm5,%zmm6");
327562306a36Sopenharmony_ci
327662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 66 */
327762306a36Sopenharmony_ci
327862306a36Sopenharmony_ci	asm volatile("vpblendmb %zmm4,%zmm5,%zmm6");
327962306a36Sopenharmony_ci	asm volatile("vpblendmw %zmm4,%zmm5,%zmm6");
328062306a36Sopenharmony_ci
328162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 68 */
328262306a36Sopenharmony_ci
328362306a36Sopenharmony_ci	asm volatile("vp2intersectd %xmm1, %xmm2, %k3");
328462306a36Sopenharmony_ci	asm volatile("vp2intersectd %ymm1, %ymm2, %k3");
328562306a36Sopenharmony_ci	asm volatile("vp2intersectd %zmm1, %zmm2, %k3");
328662306a36Sopenharmony_ci	asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");
328762306a36Sopenharmony_ci
328862306a36Sopenharmony_ci	asm volatile("vp2intersectq %xmm1, %xmm2, %k3");
328962306a36Sopenharmony_ci	asm volatile("vp2intersectq %ymm1, %ymm2, %k3");
329062306a36Sopenharmony_ci	asm volatile("vp2intersectq %zmm1, %zmm2, %k3");
329162306a36Sopenharmony_ci	asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");
329262306a36Sopenharmony_ci
329362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 70 */
329462306a36Sopenharmony_ci
329562306a36Sopenharmony_ci	asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");
329662306a36Sopenharmony_ci	asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");
329762306a36Sopenharmony_ci	asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");
329862306a36Sopenharmony_ci	asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
329962306a36Sopenharmony_ci
330062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 71 */
330162306a36Sopenharmony_ci
330262306a36Sopenharmony_ci	asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");
330362306a36Sopenharmony_ci	asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");
330462306a36Sopenharmony_ci	asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");
330562306a36Sopenharmony_ci	asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
330662306a36Sopenharmony_ci
330762306a36Sopenharmony_ci	asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");
330862306a36Sopenharmony_ci	asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");
330962306a36Sopenharmony_ci	asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");
331062306a36Sopenharmony_ci	asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
331162306a36Sopenharmony_ci
331262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 72 */
331362306a36Sopenharmony_ci
331462306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");
331562306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");
331662306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");
331762306a36Sopenharmony_ci	asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
331862306a36Sopenharmony_ci
331962306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 %xmm1, %xmm2");
332062306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 %ymm1, %xmm2");
332162306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 %zmm1, %ymm2");
332262306a36Sopenharmony_ci	asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");
332362306a36Sopenharmony_ci
332462306a36Sopenharmony_ci	asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");
332562306a36Sopenharmony_ci	asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");
332662306a36Sopenharmony_ci	asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");
332762306a36Sopenharmony_ci	asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
332862306a36Sopenharmony_ci
332962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 73 */
333062306a36Sopenharmony_ci
333162306a36Sopenharmony_ci	asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");
333262306a36Sopenharmony_ci	asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");
333362306a36Sopenharmony_ci	asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");
333462306a36Sopenharmony_ci	asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
333562306a36Sopenharmony_ci
333662306a36Sopenharmony_ci	asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");
333762306a36Sopenharmony_ci	asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");
333862306a36Sopenharmony_ci	asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");
333962306a36Sopenharmony_ci	asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
334062306a36Sopenharmony_ci
334162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 75 */
334262306a36Sopenharmony_ci
334362306a36Sopenharmony_ci	asm volatile("vpermi2b %zmm4,%zmm5,%zmm6");
334462306a36Sopenharmony_ci	asm volatile("vpermi2w %zmm4,%zmm5,%zmm6");
334562306a36Sopenharmony_ci
334662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 76 */
334762306a36Sopenharmony_ci
334862306a36Sopenharmony_ci	asm volatile("vpermi2d %zmm4,%zmm5,%zmm6");
334962306a36Sopenharmony_ci	asm volatile("vpermi2q %zmm4,%zmm5,%zmm6");
335062306a36Sopenharmony_ci
335162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 77 */
335262306a36Sopenharmony_ci
335362306a36Sopenharmony_ci	asm volatile("vpermi2ps %zmm4,%zmm5,%zmm6");
335462306a36Sopenharmony_ci	asm volatile("vpermi2pd %zmm4,%zmm5,%zmm6");
335562306a36Sopenharmony_ci
335662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7a */
335762306a36Sopenharmony_ci
335862306a36Sopenharmony_ci	asm volatile("vpbroadcastb %eax,%xmm3");
335962306a36Sopenharmony_ci
336062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7b */
336162306a36Sopenharmony_ci
336262306a36Sopenharmony_ci	asm volatile("vpbroadcastw %eax,%xmm3");
336362306a36Sopenharmony_ci
336462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7c */
336562306a36Sopenharmony_ci
336662306a36Sopenharmony_ci	asm volatile("vpbroadcastd %eax,%xmm3");
336762306a36Sopenharmony_ci
336862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7d */
336962306a36Sopenharmony_ci
337062306a36Sopenharmony_ci	asm volatile("vpermt2b %zmm4,%zmm5,%zmm6");
337162306a36Sopenharmony_ci	asm volatile("vpermt2w %zmm4,%zmm5,%zmm6");
337262306a36Sopenharmony_ci
337362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7e */
337462306a36Sopenharmony_ci
337562306a36Sopenharmony_ci	asm volatile("vpermt2d %zmm4,%zmm5,%zmm6");
337662306a36Sopenharmony_ci	asm volatile("vpermt2q %zmm4,%zmm5,%zmm6");
337762306a36Sopenharmony_ci
337862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 7f */
337962306a36Sopenharmony_ci
338062306a36Sopenharmony_ci	asm volatile("vpermt2ps %zmm4,%zmm5,%zmm6");
338162306a36Sopenharmony_ci	asm volatile("vpermt2pd %zmm4,%zmm5,%zmm6");
338262306a36Sopenharmony_ci
338362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 83 */
338462306a36Sopenharmony_ci
338562306a36Sopenharmony_ci	asm volatile("vpmultishiftqb %zmm4,%zmm5,%zmm6");
338662306a36Sopenharmony_ci
338762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 88 */
338862306a36Sopenharmony_ci
338962306a36Sopenharmony_ci	asm volatile("vexpandps (%ecx),%zmm6");
339062306a36Sopenharmony_ci	asm volatile("vexpandpd (%ecx),%zmm6");
339162306a36Sopenharmony_ci
339262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 89 */
339362306a36Sopenharmony_ci
339462306a36Sopenharmony_ci	asm volatile("vpexpandd (%ecx),%zmm6");
339562306a36Sopenharmony_ci	asm volatile("vpexpandq (%ecx),%zmm6");
339662306a36Sopenharmony_ci
339762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8a */
339862306a36Sopenharmony_ci
339962306a36Sopenharmony_ci	asm volatile("vcompressps %zmm6,(%ecx)");
340062306a36Sopenharmony_ci	asm volatile("vcompresspd %zmm6,(%ecx)");
340162306a36Sopenharmony_ci
340262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8b */
340362306a36Sopenharmony_ci
340462306a36Sopenharmony_ci	asm volatile("vpcompressd %zmm6,(%ecx)");
340562306a36Sopenharmony_ci	asm volatile("vpcompressq %zmm6,(%ecx)");
340662306a36Sopenharmony_ci
340762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8d */
340862306a36Sopenharmony_ci
340962306a36Sopenharmony_ci	asm volatile("vpermb %zmm4,%zmm5,%zmm6");
341062306a36Sopenharmony_ci	asm volatile("vpermw %zmm4,%zmm5,%zmm6");
341162306a36Sopenharmony_ci
341262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 8f */
341362306a36Sopenharmony_ci
341462306a36Sopenharmony_ci	asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");
341562306a36Sopenharmony_ci	asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");
341662306a36Sopenharmony_ci	asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");
341762306a36Sopenharmony_ci	asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");
341862306a36Sopenharmony_ci
341962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 90 */
342062306a36Sopenharmony_ci
342162306a36Sopenharmony_ci	asm volatile("vpgatherdd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
342262306a36Sopenharmony_ci	asm volatile("vpgatherdq %xmm2,0x04(%ebp,%xmm7,2),%xmm1");
342362306a36Sopenharmony_ci	asm volatile("vpgatherdd 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");
342462306a36Sopenharmony_ci	asm volatile("vpgatherdq 0x7b(%ebp,%ymm7,8),%zmm6{%k1}");
342562306a36Sopenharmony_ci
342662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 91 */
342762306a36Sopenharmony_ci
342862306a36Sopenharmony_ci	asm volatile("vpgatherqd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
342962306a36Sopenharmony_ci	asm volatile("vpgatherqq %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
343062306a36Sopenharmony_ci	asm volatile("vpgatherqd 0x7b(%ebp,%zmm7,8),%ymm6{%k1}");
343162306a36Sopenharmony_ci	asm volatile("vpgatherqq 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");
343262306a36Sopenharmony_ci
343362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 9a */
343462306a36Sopenharmony_ci
343562306a36Sopenharmony_ci	asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");
343662306a36Sopenharmony_ci	asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");
343762306a36Sopenharmony_ci	asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");
343862306a36Sopenharmony_ci	asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
343962306a36Sopenharmony_ci
344062306a36Sopenharmony_ci	asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");
344162306a36Sopenharmony_ci	asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");
344262306a36Sopenharmony_ci	asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");
344362306a36Sopenharmony_ci	asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
344462306a36Sopenharmony_ci
344562306a36Sopenharmony_ci	asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");
344662306a36Sopenharmony_ci	asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
344762306a36Sopenharmony_ci
344862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 9b */
344962306a36Sopenharmony_ci
345062306a36Sopenharmony_ci	asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");
345162306a36Sopenharmony_ci	asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
345262306a36Sopenharmony_ci
345362306a36Sopenharmony_ci	asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");
345462306a36Sopenharmony_ci	asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
345562306a36Sopenharmony_ci
345662306a36Sopenharmony_ci	asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");
345762306a36Sopenharmony_ci	asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
345862306a36Sopenharmony_ci
345962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a0 */
346062306a36Sopenharmony_ci
346162306a36Sopenharmony_ci	asm volatile("vpscatterdd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
346262306a36Sopenharmony_ci	asm volatile("vpscatterdq %zmm6,0x7b(%ebp,%ymm7,8){%k1}");
346362306a36Sopenharmony_ci
346462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a1 */
346562306a36Sopenharmony_ci
346662306a36Sopenharmony_ci	asm volatile("vpscatterqd %ymm6,0x7b(%ebp,%zmm7,8){%k1}");
346762306a36Sopenharmony_ci	asm volatile("vpscatterqq %ymm6,0x7b(%ebp,%ymm7,8){%k1}");
346862306a36Sopenharmony_ci
346962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a2 */
347062306a36Sopenharmony_ci
347162306a36Sopenharmony_ci	asm volatile("vscatterdps %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
347262306a36Sopenharmony_ci	asm volatile("vscatterdpd %zmm6,0x7b(%ebp,%ymm7,8){%k1}");
347362306a36Sopenharmony_ci
347462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 a3 */
347562306a36Sopenharmony_ci
347662306a36Sopenharmony_ci	asm volatile("vscatterqps %ymm6,0x7b(%ebp,%zmm7,8){%k1}");
347762306a36Sopenharmony_ci	asm volatile("vscatterqpd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
347862306a36Sopenharmony_ci
347962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 aa */
348062306a36Sopenharmony_ci
348162306a36Sopenharmony_ci	asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");
348262306a36Sopenharmony_ci	asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");
348362306a36Sopenharmony_ci	asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");
348462306a36Sopenharmony_ci	asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
348562306a36Sopenharmony_ci
348662306a36Sopenharmony_ci	asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");
348762306a36Sopenharmony_ci	asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");
348862306a36Sopenharmony_ci	asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");
348962306a36Sopenharmony_ci	asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
349062306a36Sopenharmony_ci
349162306a36Sopenharmony_ci	asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");
349262306a36Sopenharmony_ci	asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
349362306a36Sopenharmony_ci
349462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 ab */
349562306a36Sopenharmony_ci
349662306a36Sopenharmony_ci	asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");
349762306a36Sopenharmony_ci	asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
349862306a36Sopenharmony_ci
349962306a36Sopenharmony_ci	asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");
350062306a36Sopenharmony_ci	asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
350162306a36Sopenharmony_ci
350262306a36Sopenharmony_ci	asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");
350362306a36Sopenharmony_ci	asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
350462306a36Sopenharmony_ci
350562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 b4 */
350662306a36Sopenharmony_ci
350762306a36Sopenharmony_ci	asm volatile("vpmadd52luq %zmm4,%zmm5,%zmm6");
350862306a36Sopenharmony_ci
350962306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 b5 */
351062306a36Sopenharmony_ci
351162306a36Sopenharmony_ci	asm volatile("vpmadd52huq %zmm4,%zmm5,%zmm6");
351262306a36Sopenharmony_ci
351362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c4 */
351462306a36Sopenharmony_ci
351562306a36Sopenharmony_ci	asm volatile("vpconflictd %zmm5,%zmm6");
351662306a36Sopenharmony_ci	asm volatile("vpconflictq %zmm5,%zmm6");
351762306a36Sopenharmony_ci
351862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c8 */
351962306a36Sopenharmony_ci
352062306a36Sopenharmony_ci	asm volatile("vexp2ps %zmm6,%zmm7");
352162306a36Sopenharmony_ci	asm volatile("vexp2pd %zmm6,%zmm7");
352262306a36Sopenharmony_ci
352362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 ca */
352462306a36Sopenharmony_ci
352562306a36Sopenharmony_ci	asm volatile("vrcp28ps %zmm6,%zmm7");
352662306a36Sopenharmony_ci	asm volatile("vrcp28pd %zmm6,%zmm7");
352762306a36Sopenharmony_ci
352862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cb */
352962306a36Sopenharmony_ci
353062306a36Sopenharmony_ci	asm volatile("vrcp28ss %xmm5,%xmm6,%xmm7{%k7}");
353162306a36Sopenharmony_ci	asm volatile("vrcp28sd %xmm5,%xmm6,%xmm7{%k7}");
353262306a36Sopenharmony_ci
353362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cc */
353462306a36Sopenharmony_ci
353562306a36Sopenharmony_ci	asm volatile("vrsqrt28ps %zmm6,%zmm7");
353662306a36Sopenharmony_ci	asm volatile("vrsqrt28pd %zmm6,%zmm7");
353762306a36Sopenharmony_ci
353862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cd */
353962306a36Sopenharmony_ci
354062306a36Sopenharmony_ci	asm volatile("vrsqrt28ss %xmm5,%xmm6,%xmm7{%k7}");
354162306a36Sopenharmony_ci	asm volatile("vrsqrt28sd %xmm5,%xmm6,%xmm7{%k7}");
354262306a36Sopenharmony_ci
354362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 cf */
354462306a36Sopenharmony_ci
354562306a36Sopenharmony_ci	asm volatile("gf2p8mulb %xmm1, %xmm3");
354662306a36Sopenharmony_ci	asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");
354762306a36Sopenharmony_ci
354862306a36Sopenharmony_ci	asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");
354962306a36Sopenharmony_ci	asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");
355062306a36Sopenharmony_ci	asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");
355162306a36Sopenharmony_ci	asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
355262306a36Sopenharmony_ci
355362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 dc */
355462306a36Sopenharmony_ci
355562306a36Sopenharmony_ci	asm volatile("vaesenc %xmm1, %xmm2, %xmm3");
355662306a36Sopenharmony_ci	asm volatile("vaesenc %ymm1, %ymm2, %ymm3");
355762306a36Sopenharmony_ci	asm volatile("vaesenc %zmm1, %zmm2, %zmm3");
355862306a36Sopenharmony_ci	asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
355962306a36Sopenharmony_ci
356062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 dd */
356162306a36Sopenharmony_ci
356262306a36Sopenharmony_ci	asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");
356362306a36Sopenharmony_ci	asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");
356462306a36Sopenharmony_ci	asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");
356562306a36Sopenharmony_ci	asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
356662306a36Sopenharmony_ci
356762306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 de */
356862306a36Sopenharmony_ci
356962306a36Sopenharmony_ci	asm volatile("vaesdec %xmm1, %xmm2, %xmm3");
357062306a36Sopenharmony_ci	asm volatile("vaesdec %ymm1, %ymm2, %ymm3");
357162306a36Sopenharmony_ci	asm volatile("vaesdec %zmm1, %zmm2, %zmm3");
357262306a36Sopenharmony_ci	asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
357362306a36Sopenharmony_ci
357462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 df */
357562306a36Sopenharmony_ci
357662306a36Sopenharmony_ci	asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");
357762306a36Sopenharmony_ci	asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");
357862306a36Sopenharmony_ci	asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");
357962306a36Sopenharmony_ci	asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
358062306a36Sopenharmony_ci
358162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 03 */
358262306a36Sopenharmony_ci
358362306a36Sopenharmony_ci	asm volatile("valignd $0x12,%zmm5,%zmm6,%zmm7");
358462306a36Sopenharmony_ci	asm volatile("valignq $0x12,%zmm5,%zmm6,%zmm7");
358562306a36Sopenharmony_ci
358662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 08 */
358762306a36Sopenharmony_ci
358862306a36Sopenharmony_ci	asm volatile("vroundps $0x5,%ymm6,%ymm2");
358962306a36Sopenharmony_ci	asm volatile("vrndscaleps $0x12,%zmm5,%zmm6");
359062306a36Sopenharmony_ci
359162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 09 */
359262306a36Sopenharmony_ci
359362306a36Sopenharmony_ci	asm volatile("vroundpd $0x5,%ymm6,%ymm2");
359462306a36Sopenharmony_ci	asm volatile("vrndscalepd $0x12,%zmm5,%zmm6");
359562306a36Sopenharmony_ci
359662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 0a */
359762306a36Sopenharmony_ci
359862306a36Sopenharmony_ci	asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");
359962306a36Sopenharmony_ci	asm volatile("vrndscaless $0x12,%xmm4,%xmm5,%xmm6{%k7}");
360062306a36Sopenharmony_ci
360162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 0b */
360262306a36Sopenharmony_ci
360362306a36Sopenharmony_ci	asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");
360462306a36Sopenharmony_ci	asm volatile("vrndscalesd $0x12,%xmm4,%xmm5,%xmm6{%k7}");
360562306a36Sopenharmony_ci
360662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 18 */
360762306a36Sopenharmony_ci
360862306a36Sopenharmony_ci	asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");
360962306a36Sopenharmony_ci	asm volatile("vinsertf32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
361062306a36Sopenharmony_ci	asm volatile("vinsertf64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
361162306a36Sopenharmony_ci
361262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 19 */
361362306a36Sopenharmony_ci
361462306a36Sopenharmony_ci	asm volatile("vextractf128 $0x5,%ymm4,%xmm4");
361562306a36Sopenharmony_ci	asm volatile("vextractf32x4 $0x12,%zmm5,%xmm6{%k7}");
361662306a36Sopenharmony_ci	asm volatile("vextractf64x2 $0x12,%zmm5,%xmm6{%k7}");
361762306a36Sopenharmony_ci
361862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1a */
361962306a36Sopenharmony_ci
362062306a36Sopenharmony_ci	asm volatile("vinsertf32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
362162306a36Sopenharmony_ci	asm volatile("vinsertf64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
362262306a36Sopenharmony_ci
362362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1b */
362462306a36Sopenharmony_ci
362562306a36Sopenharmony_ci	asm volatile("vextractf32x8 $0x12,%zmm6,%ymm7{%k7}");
362662306a36Sopenharmony_ci	asm volatile("vextractf64x4 $0x12,%zmm6,%ymm7{%k7}");
362762306a36Sopenharmony_ci
362862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1e */
362962306a36Sopenharmony_ci
363062306a36Sopenharmony_ci	asm volatile("vpcmpud $0x12,%zmm6,%zmm7,%k5");
363162306a36Sopenharmony_ci	asm volatile("vpcmpuq $0x12,%zmm6,%zmm7,%k5");
363262306a36Sopenharmony_ci
363362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 1f */
363462306a36Sopenharmony_ci
363562306a36Sopenharmony_ci	asm volatile("vpcmpd $0x12,%zmm6,%zmm7,%k5");
363662306a36Sopenharmony_ci	asm volatile("vpcmpq $0x12,%zmm6,%zmm7,%k5");
363762306a36Sopenharmony_ci
363862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 23 */
363962306a36Sopenharmony_ci
364062306a36Sopenharmony_ci	asm volatile("vshuff32x4 $0x12,%zmm5,%zmm6,%zmm7");
364162306a36Sopenharmony_ci	asm volatile("vshuff64x2 $0x12,%zmm5,%zmm6,%zmm7");
364262306a36Sopenharmony_ci
364362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 25 */
364462306a36Sopenharmony_ci
364562306a36Sopenharmony_ci	asm volatile("vpternlogd $0x12,%zmm5,%zmm6,%zmm7");
364662306a36Sopenharmony_ci	asm volatile("vpternlogq $0x12,%zmm5,%zmm6,%zmm7");
364762306a36Sopenharmony_ci
364862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 26 */
364962306a36Sopenharmony_ci
365062306a36Sopenharmony_ci	asm volatile("vgetmantps $0x12,%zmm6,%zmm7");
365162306a36Sopenharmony_ci	asm volatile("vgetmantpd $0x12,%zmm6,%zmm7");
365262306a36Sopenharmony_ci
365362306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 27 */
365462306a36Sopenharmony_ci
365562306a36Sopenharmony_ci	asm volatile("vgetmantss $0x12,%xmm5,%xmm6,%xmm7{%k7}");
365662306a36Sopenharmony_ci	asm volatile("vgetmantsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");
365762306a36Sopenharmony_ci
365862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 38 */
365962306a36Sopenharmony_ci
366062306a36Sopenharmony_ci	asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");
366162306a36Sopenharmony_ci	asm volatile("vinserti32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
366262306a36Sopenharmony_ci	asm volatile("vinserti64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
366362306a36Sopenharmony_ci
366462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 39 */
366562306a36Sopenharmony_ci
366662306a36Sopenharmony_ci	asm volatile("vextracti128 $0x5,%ymm4,%xmm6");
366762306a36Sopenharmony_ci	asm volatile("vextracti32x4 $0x12,%zmm5,%xmm6{%k7}");
366862306a36Sopenharmony_ci	asm volatile("vextracti64x2 $0x12,%zmm5,%xmm6{%k7}");
366962306a36Sopenharmony_ci
367062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3a */
367162306a36Sopenharmony_ci
367262306a36Sopenharmony_ci	asm volatile("vinserti32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
367362306a36Sopenharmony_ci	asm volatile("vinserti64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
367462306a36Sopenharmony_ci
367562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3b */
367662306a36Sopenharmony_ci
367762306a36Sopenharmony_ci	asm volatile("vextracti32x8 $0x12,%zmm6,%ymm7{%k7}");
367862306a36Sopenharmony_ci	asm volatile("vextracti64x4 $0x12,%zmm6,%ymm7{%k7}");
367962306a36Sopenharmony_ci
368062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3e */
368162306a36Sopenharmony_ci
368262306a36Sopenharmony_ci	asm volatile("vpcmpub $0x12,%zmm6,%zmm7,%k5");
368362306a36Sopenharmony_ci	asm volatile("vpcmpuw $0x12,%zmm6,%zmm7,%k5");
368462306a36Sopenharmony_ci
368562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 3f */
368662306a36Sopenharmony_ci
368762306a36Sopenharmony_ci	asm volatile("vpcmpb $0x12,%zmm6,%zmm7,%k5");
368862306a36Sopenharmony_ci	asm volatile("vpcmpw $0x12,%zmm6,%zmm7,%k5");
368962306a36Sopenharmony_ci
369062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 42 */
369162306a36Sopenharmony_ci
369262306a36Sopenharmony_ci	asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");
369362306a36Sopenharmony_ci	asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");
369462306a36Sopenharmony_ci
369562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 43 */
369662306a36Sopenharmony_ci
369762306a36Sopenharmony_ci	asm volatile("vshufi32x4 $0x12,%zmm5,%zmm6,%zmm7");
369862306a36Sopenharmony_ci	asm volatile("vshufi64x2 $0x12,%zmm5,%zmm6,%zmm7");
369962306a36Sopenharmony_ci
370062306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 44 */
370162306a36Sopenharmony_ci
370262306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");
370362306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");
370462306a36Sopenharmony_ci	asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");
370562306a36Sopenharmony_ci
370662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 50 */
370762306a36Sopenharmony_ci
370862306a36Sopenharmony_ci	asm volatile("vrangeps $0x12,%zmm5,%zmm6,%zmm7");
370962306a36Sopenharmony_ci	asm volatile("vrangepd $0x12,%zmm5,%zmm6,%zmm7");
371062306a36Sopenharmony_ci
371162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 51 */
371262306a36Sopenharmony_ci
371362306a36Sopenharmony_ci	asm volatile("vrangess $0x12,%xmm5,%xmm6,%xmm7");
371462306a36Sopenharmony_ci	asm volatile("vrangesd $0x12,%xmm5,%xmm6,%xmm7");
371562306a36Sopenharmony_ci
371662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 54 */
371762306a36Sopenharmony_ci
371862306a36Sopenharmony_ci	asm volatile("vfixupimmps $0x12,%zmm5,%zmm6,%zmm7");
371962306a36Sopenharmony_ci	asm volatile("vfixupimmpd $0x12,%zmm5,%zmm6,%zmm7");
372062306a36Sopenharmony_ci
372162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 55 */
372262306a36Sopenharmony_ci
372362306a36Sopenharmony_ci	asm volatile("vfixupimmss $0x12,%xmm5,%xmm6,%xmm7{%k7}");
372462306a36Sopenharmony_ci	asm volatile("vfixupimmsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");
372562306a36Sopenharmony_ci
372662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 56 */
372762306a36Sopenharmony_ci
372862306a36Sopenharmony_ci	asm volatile("vreduceps $0x12,%zmm6,%zmm7");
372962306a36Sopenharmony_ci	asm volatile("vreducepd $0x12,%zmm6,%zmm7");
373062306a36Sopenharmony_ci
373162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 57 */
373262306a36Sopenharmony_ci
373362306a36Sopenharmony_ci	asm volatile("vreducess $0x12,%xmm5,%xmm6,%xmm7");
373462306a36Sopenharmony_ci	asm volatile("vreducesd $0x12,%xmm5,%xmm6,%xmm7");
373562306a36Sopenharmony_ci
373662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 66 */
373762306a36Sopenharmony_ci
373862306a36Sopenharmony_ci	asm volatile("vfpclassps $0x12,%zmm7,%k5");
373962306a36Sopenharmony_ci	asm volatile("vfpclasspd $0x12,%zmm7,%k5");
374062306a36Sopenharmony_ci
374162306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 67 */
374262306a36Sopenharmony_ci
374362306a36Sopenharmony_ci	asm volatile("vfpclassss $0x12,%xmm7,%k5");
374462306a36Sopenharmony_ci	asm volatile("vfpclasssd $0x12,%xmm7,%k5");
374562306a36Sopenharmony_ci
374662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 70 */
374762306a36Sopenharmony_ci
374862306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");
374962306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");
375062306a36Sopenharmony_ci	asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");
375162306a36Sopenharmony_ci
375262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 71 */
375362306a36Sopenharmony_ci
375462306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");
375562306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");
375662306a36Sopenharmony_ci	asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");
375762306a36Sopenharmony_ci
375862306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");
375962306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");
376062306a36Sopenharmony_ci	asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");
376162306a36Sopenharmony_ci
376262306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 72 */
376362306a36Sopenharmony_ci
376462306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");
376562306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");
376662306a36Sopenharmony_ci	asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");
376762306a36Sopenharmony_ci
376862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a 73 */
376962306a36Sopenharmony_ci
377062306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");
377162306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");
377262306a36Sopenharmony_ci	asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");
377362306a36Sopenharmony_ci
377462306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");
377562306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");
377662306a36Sopenharmony_ci	asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");
377762306a36Sopenharmony_ci
377862306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a ce */
377962306a36Sopenharmony_ci
378062306a36Sopenharmony_ci	asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");
378162306a36Sopenharmony_ci
378262306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");
378362306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");
378462306a36Sopenharmony_ci	asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");
378562306a36Sopenharmony_ci
378662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 3a cf */
378762306a36Sopenharmony_ci
378862306a36Sopenharmony_ci	asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");
378962306a36Sopenharmony_ci
379062306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");
379162306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");
379262306a36Sopenharmony_ci	asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");
379362306a36Sopenharmony_ci
379462306a36Sopenharmony_ci	/* AVX-512: Op code 0f 72 (Grp13) */
379562306a36Sopenharmony_ci
379662306a36Sopenharmony_ci	asm volatile("vprord $0x12,%zmm5,%zmm6");
379762306a36Sopenharmony_ci	asm volatile("vprorq $0x12,%zmm5,%zmm6");
379862306a36Sopenharmony_ci	asm volatile("vprold $0x12,%zmm5,%zmm6");
379962306a36Sopenharmony_ci	asm volatile("vprolq $0x12,%zmm5,%zmm6");
380062306a36Sopenharmony_ci	asm volatile("psrad  $0x2,%mm6");
380162306a36Sopenharmony_ci	asm volatile("vpsrad $0x5,%ymm6,%ymm2");
380262306a36Sopenharmony_ci	asm volatile("vpsrad $0x5,%zmm6,%zmm2");
380362306a36Sopenharmony_ci	asm volatile("vpsraq $0x5,%zmm6,%zmm2");
380462306a36Sopenharmony_ci
380562306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c6 (Grp18) */
380662306a36Sopenharmony_ci
380762306a36Sopenharmony_ci	asm volatile("vgatherpf0dps 0x7b(%ebp,%zmm7,8){%k1}");
380862306a36Sopenharmony_ci	asm volatile("vgatherpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");
380962306a36Sopenharmony_ci	asm volatile("vgatherpf1dps 0x7b(%ebp,%zmm7,8){%k1}");
381062306a36Sopenharmony_ci	asm volatile("vgatherpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");
381162306a36Sopenharmony_ci	asm volatile("vscatterpf0dps 0x7b(%ebp,%zmm7,8){%k1}");
381262306a36Sopenharmony_ci	asm volatile("vscatterpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");
381362306a36Sopenharmony_ci	asm volatile("vscatterpf1dps 0x7b(%ebp,%zmm7,8){%k1}");
381462306a36Sopenharmony_ci	asm volatile("vscatterpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");
381562306a36Sopenharmony_ci
381662306a36Sopenharmony_ci	/* AVX-512: Op code 0f 38 c7 (Grp19) */
381762306a36Sopenharmony_ci
381862306a36Sopenharmony_ci	asm volatile("vgatherpf0qps 0x7b(%ebp,%zmm7,8){%k1}");
381962306a36Sopenharmony_ci	asm volatile("vgatherpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");
382062306a36Sopenharmony_ci	asm volatile("vgatherpf1qps 0x7b(%ebp,%zmm7,8){%k1}");
382162306a36Sopenharmony_ci	asm volatile("vgatherpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");
382262306a36Sopenharmony_ci	asm volatile("vscatterpf0qps 0x7b(%ebp,%zmm7,8){%k1}");
382362306a36Sopenharmony_ci	asm volatile("vscatterpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");
382462306a36Sopenharmony_ci	asm volatile("vscatterpf1qps 0x7b(%ebp,%zmm7,8){%k1}");
382562306a36Sopenharmony_ci	asm volatile("vscatterpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");
382662306a36Sopenharmony_ci
382762306a36Sopenharmony_ci	/* AVX-512: Examples */
382862306a36Sopenharmony_ci
382962306a36Sopenharmony_ci	asm volatile("vaddpd %zmm4,%zmm5,%zmm6");
383062306a36Sopenharmony_ci	asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}");
383162306a36Sopenharmony_ci	asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}{z}");
383262306a36Sopenharmony_ci	asm volatile("vaddpd {rn-sae},%zmm4,%zmm5,%zmm6");
383362306a36Sopenharmony_ci	asm volatile("vaddpd {ru-sae},%zmm4,%zmm5,%zmm6");
383462306a36Sopenharmony_ci	asm volatile("vaddpd {rd-sae},%zmm4,%zmm5,%zmm6");
383562306a36Sopenharmony_ci	asm volatile("vaddpd {rz-sae},%zmm4,%zmm5,%zmm6");
383662306a36Sopenharmony_ci	asm volatile("vaddpd (%ecx),%zmm5,%zmm6");
383762306a36Sopenharmony_ci	asm volatile("vaddpd 0x123(%eax,%ecx,8),%zmm5,%zmm6");
383862306a36Sopenharmony_ci	asm volatile("vaddpd (%ecx){1to8},%zmm5,%zmm6");
383962306a36Sopenharmony_ci	asm volatile("vaddpd 0x1fc0(%edx),%zmm5,%zmm6");
384062306a36Sopenharmony_ci	asm volatile("vaddpd 0x3f8(%edx){1to8},%zmm5,%zmm6");
384162306a36Sopenharmony_ci	asm volatile("vcmpeq_uqps 0x1fc(%edx){1to16},%zmm6,%k5");
384262306a36Sopenharmony_ci	asm volatile("vcmpltsd 0x123(%eax,%ecx,8),%xmm3,%k5{%k7}");
384362306a36Sopenharmony_ci	asm volatile("vcmplesd {sae},%xmm4,%xmm5,%k5{%k7}");
384462306a36Sopenharmony_ci	asm volatile("vgetmantss $0x5b,0x123(%eax,%ecx,8),%xmm4,%xmm5{%k7}");
384562306a36Sopenharmony_ci
384662306a36Sopenharmony_ci	/* bndmk m32, bnd */
384762306a36Sopenharmony_ci
384862306a36Sopenharmony_ci	asm volatile("bndmk (%eax), %bnd0");
384962306a36Sopenharmony_ci	asm volatile("bndmk (0x12345678), %bnd0");
385062306a36Sopenharmony_ci	asm volatile("bndmk (%eax), %bnd3");
385162306a36Sopenharmony_ci	asm volatile("bndmk (%ecx,%eax,1), %bnd0");
385262306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(,%eax,1), %bnd0");
385362306a36Sopenharmony_ci	asm volatile("bndmk (%eax,%ecx,1), %bnd0");
385462306a36Sopenharmony_ci	asm volatile("bndmk (%eax,%ecx,8), %bnd0");
385562306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%eax), %bnd0");
385662306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%ebp), %bnd0");
385762306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%ecx,%eax,1), %bnd0");
385862306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%ebp,%eax,1), %bnd0");
385962306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%eax,%ecx,1), %bnd0");
386062306a36Sopenharmony_ci	asm volatile("bndmk 0x12(%eax,%ecx,8), %bnd0");
386162306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%eax), %bnd0");
386262306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%ebp), %bnd0");
386362306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%ecx,%eax,1), %bnd0");
386462306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%ebp,%eax,1), %bnd0");
386562306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%eax,%ecx,1), %bnd0");
386662306a36Sopenharmony_ci	asm volatile("bndmk 0x12345678(%eax,%ecx,8), %bnd0");
386762306a36Sopenharmony_ci
386862306a36Sopenharmony_ci	/* bndcl r/m32, bnd */
386962306a36Sopenharmony_ci
387062306a36Sopenharmony_ci	asm volatile("bndcl (%eax), %bnd0");
387162306a36Sopenharmony_ci	asm volatile("bndcl (0x12345678), %bnd0");
387262306a36Sopenharmony_ci	asm volatile("bndcl (%eax), %bnd3");
387362306a36Sopenharmony_ci	asm volatile("bndcl (%ecx,%eax,1), %bnd0");
387462306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(,%eax,1), %bnd0");
387562306a36Sopenharmony_ci	asm volatile("bndcl (%eax,%ecx,1), %bnd0");
387662306a36Sopenharmony_ci	asm volatile("bndcl (%eax,%ecx,8), %bnd0");
387762306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%eax), %bnd0");
387862306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%ebp), %bnd0");
387962306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%ecx,%eax,1), %bnd0");
388062306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%ebp,%eax,1), %bnd0");
388162306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%eax,%ecx,1), %bnd0");
388262306a36Sopenharmony_ci	asm volatile("bndcl 0x12(%eax,%ecx,8), %bnd0");
388362306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%eax), %bnd0");
388462306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%ebp), %bnd0");
388562306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%ecx,%eax,1), %bnd0");
388662306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%ebp,%eax,1), %bnd0");
388762306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%eax,%ecx,1), %bnd0");
388862306a36Sopenharmony_ci	asm volatile("bndcl 0x12345678(%eax,%ecx,8), %bnd0");
388962306a36Sopenharmony_ci	asm volatile("bndcl %eax, %bnd0");
389062306a36Sopenharmony_ci
389162306a36Sopenharmony_ci	/* bndcu r/m32, bnd */
389262306a36Sopenharmony_ci
389362306a36Sopenharmony_ci	asm volatile("bndcu (%eax), %bnd0");
389462306a36Sopenharmony_ci	asm volatile("bndcu (0x12345678), %bnd0");
389562306a36Sopenharmony_ci	asm volatile("bndcu (%eax), %bnd3");
389662306a36Sopenharmony_ci	asm volatile("bndcu (%ecx,%eax,1), %bnd0");
389762306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(,%eax,1), %bnd0");
389862306a36Sopenharmony_ci	asm volatile("bndcu (%eax,%ecx,1), %bnd0");
389962306a36Sopenharmony_ci	asm volatile("bndcu (%eax,%ecx,8), %bnd0");
390062306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%eax), %bnd0");
390162306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%ebp), %bnd0");
390262306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%ecx,%eax,1), %bnd0");
390362306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%ebp,%eax,1), %bnd0");
390462306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%eax,%ecx,1), %bnd0");
390562306a36Sopenharmony_ci	asm volatile("bndcu 0x12(%eax,%ecx,8), %bnd0");
390662306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%eax), %bnd0");
390762306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%ebp), %bnd0");
390862306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%ecx,%eax,1), %bnd0");
390962306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%ebp,%eax,1), %bnd0");
391062306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%eax,%ecx,1), %bnd0");
391162306a36Sopenharmony_ci	asm volatile("bndcu 0x12345678(%eax,%ecx,8), %bnd0");
391262306a36Sopenharmony_ci	asm volatile("bndcu %eax, %bnd0");
391362306a36Sopenharmony_ci
391462306a36Sopenharmony_ci	/* bndcn r/m32, bnd */
391562306a36Sopenharmony_ci
391662306a36Sopenharmony_ci	asm volatile("bndcn (%eax), %bnd0");
391762306a36Sopenharmony_ci	asm volatile("bndcn (0x12345678), %bnd0");
391862306a36Sopenharmony_ci	asm volatile("bndcn (%eax), %bnd3");
391962306a36Sopenharmony_ci	asm volatile("bndcn (%ecx,%eax,1), %bnd0");
392062306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(,%eax,1), %bnd0");
392162306a36Sopenharmony_ci	asm volatile("bndcn (%eax,%ecx,1), %bnd0");
392262306a36Sopenharmony_ci	asm volatile("bndcn (%eax,%ecx,8), %bnd0");
392362306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%eax), %bnd0");
392462306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%ebp), %bnd0");
392562306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%ecx,%eax,1), %bnd0");
392662306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%ebp,%eax,1), %bnd0");
392762306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%eax,%ecx,1), %bnd0");
392862306a36Sopenharmony_ci	asm volatile("bndcn 0x12(%eax,%ecx,8), %bnd0");
392962306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%eax), %bnd0");
393062306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%ebp), %bnd0");
393162306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%ecx,%eax,1), %bnd0");
393262306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%ebp,%eax,1), %bnd0");
393362306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%eax,%ecx,1), %bnd0");
393462306a36Sopenharmony_ci	asm volatile("bndcn 0x12345678(%eax,%ecx,8), %bnd0");
393562306a36Sopenharmony_ci	asm volatile("bndcn %eax, %bnd0");
393662306a36Sopenharmony_ci
393762306a36Sopenharmony_ci	/* bndmov m64, bnd */
393862306a36Sopenharmony_ci
393962306a36Sopenharmony_ci	asm volatile("bndmov (%eax), %bnd0");
394062306a36Sopenharmony_ci	asm volatile("bndmov (0x12345678), %bnd0");
394162306a36Sopenharmony_ci	asm volatile("bndmov (%eax), %bnd3");
394262306a36Sopenharmony_ci	asm volatile("bndmov (%ecx,%eax,1), %bnd0");
394362306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(,%eax,1), %bnd0");
394462306a36Sopenharmony_ci	asm volatile("bndmov (%eax,%ecx,1), %bnd0");
394562306a36Sopenharmony_ci	asm volatile("bndmov (%eax,%ecx,8), %bnd0");
394662306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%eax), %bnd0");
394762306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%ebp), %bnd0");
394862306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%ecx,%eax,1), %bnd0");
394962306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%ebp,%eax,1), %bnd0");
395062306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%eax,%ecx,1), %bnd0");
395162306a36Sopenharmony_ci	asm volatile("bndmov 0x12(%eax,%ecx,8), %bnd0");
395262306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%eax), %bnd0");
395362306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%ebp), %bnd0");
395462306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%ecx,%eax,1), %bnd0");
395562306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%ebp,%eax,1), %bnd0");
395662306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%eax,%ecx,1), %bnd0");
395762306a36Sopenharmony_ci	asm volatile("bndmov 0x12345678(%eax,%ecx,8), %bnd0");
395862306a36Sopenharmony_ci
395962306a36Sopenharmony_ci	/* bndmov bnd, m64 */
396062306a36Sopenharmony_ci
396162306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%eax)");
396262306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (0x12345678)");
396362306a36Sopenharmony_ci	asm volatile("bndmov %bnd3, (%eax)");
396462306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%ecx,%eax,1)");
396562306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(,%eax,1)");
396662306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%eax,%ecx,1)");
396762306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, (%eax,%ecx,8)");
396862306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%eax)");
396962306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%ebp)");
397062306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%ecx,%eax,1)");
397162306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%ebp,%eax,1)");
397262306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,1)");
397362306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,8)");
397462306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%eax)");
397562306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%ebp)");
397662306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%ecx,%eax,1)");
397762306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%ebp,%eax,1)");
397862306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,1)");
397962306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,8)");
398062306a36Sopenharmony_ci
398162306a36Sopenharmony_ci	/* bndmov bnd2, bnd1 */
398262306a36Sopenharmony_ci
398362306a36Sopenharmony_ci	asm volatile("bndmov %bnd0, %bnd1");
398462306a36Sopenharmony_ci	asm volatile("bndmov %bnd1, %bnd0");
398562306a36Sopenharmony_ci
398662306a36Sopenharmony_ci	/* bndldx mib, bnd */
398762306a36Sopenharmony_ci
398862306a36Sopenharmony_ci	asm volatile("bndldx (%eax), %bnd0");
398962306a36Sopenharmony_ci	asm volatile("bndldx (0x12345678), %bnd0");
399062306a36Sopenharmony_ci	asm volatile("bndldx (%eax), %bnd3");
399162306a36Sopenharmony_ci	asm volatile("bndldx (%ecx,%eax,1), %bnd0");
399262306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(,%eax,1), %bnd0");
399362306a36Sopenharmony_ci	asm volatile("bndldx (%eax,%ecx,1), %bnd0");
399462306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%eax), %bnd0");
399562306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%ebp), %bnd0");
399662306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%ecx,%eax,1), %bnd0");
399762306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%ebp,%eax,1), %bnd0");
399862306a36Sopenharmony_ci	asm volatile("bndldx 0x12(%eax,%ecx,1), %bnd0");
399962306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%eax), %bnd0");
400062306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%ebp), %bnd0");
400162306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%ecx,%eax,1), %bnd0");
400262306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%ebp,%eax,1), %bnd0");
400362306a36Sopenharmony_ci	asm volatile("bndldx 0x12345678(%eax,%ecx,1), %bnd0");
400462306a36Sopenharmony_ci
400562306a36Sopenharmony_ci	/* bndstx bnd, mib */
400662306a36Sopenharmony_ci
400762306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%eax)");
400862306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (0x12345678)");
400962306a36Sopenharmony_ci	asm volatile("bndstx %bnd3, (%eax)");
401062306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%ecx,%eax,1)");
401162306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(,%eax,1)");
401262306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, (%eax,%ecx,1)");
401362306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%eax)");
401462306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%ebp)");
401562306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%ecx,%eax,1)");
401662306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%ebp,%eax,1)");
401762306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12(%eax,%ecx,1)");
401862306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%eax)");
401962306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%ebp)");
402062306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%ecx,%eax,1)");
402162306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%ebp,%eax,1)");
402262306a36Sopenharmony_ci	asm volatile("bndstx %bnd0, 0x12345678(%eax,%ecx,1)");
402362306a36Sopenharmony_ci
402462306a36Sopenharmony_ci	/* bnd prefix on call, ret, jmp and all jcc */
402562306a36Sopenharmony_ci
402662306a36Sopenharmony_ci	asm volatile("bnd call label1");  /* Expecting: call unconditional 0xfffffffc */
402762306a36Sopenharmony_ci	asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */
402862306a36Sopenharmony_ci	asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */
402962306a36Sopenharmony_ci	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */
403062306a36Sopenharmony_ci	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */
403162306a36Sopenharmony_ci	asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */
403262306a36Sopenharmony_ci	asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0xfffffffc */
403362306a36Sopenharmony_ci
403462306a36Sopenharmony_ci	/* sha1rnds4 imm8, xmm2/m128, xmm1 */
403562306a36Sopenharmony_ci
403662306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");
403762306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");
403862306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%eax), %xmm0");
403962306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");
404062306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%eax), %xmm3");
404162306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%ecx,%eax,1), %xmm0");
404262306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(,%eax,1), %xmm0");
404362306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%eax,%ecx,1), %xmm0");
404462306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, (%eax,%ecx,8), %xmm0");
404562306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%eax), %xmm0");
404662306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%ebp), %xmm0");
404762306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%ecx,%eax,1), %xmm0");
404862306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%ebp,%eax,1), %xmm0");
404962306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,1), %xmm0");
405062306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,8), %xmm0");
405162306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax), %xmm0");
405262306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp), %xmm0");
405362306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%ecx,%eax,1), %xmm0");
405462306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp,%eax,1), %xmm0");
405562306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,1), %xmm0");
405662306a36Sopenharmony_ci	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,8), %xmm0");
405762306a36Sopenharmony_ci
405862306a36Sopenharmony_ci	/* sha1nexte xmm2/m128, xmm1 */
405962306a36Sopenharmony_ci
406062306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm1, %xmm0");
406162306a36Sopenharmony_ci	asm volatile("sha1nexte %xmm7, %xmm2");
406262306a36Sopenharmony_ci	asm volatile("sha1nexte (%eax), %xmm0");
406362306a36Sopenharmony_ci	asm volatile("sha1nexte (0x12345678), %xmm0");
406462306a36Sopenharmony_ci	asm volatile("sha1nexte (%eax), %xmm3");
406562306a36Sopenharmony_ci	asm volatile("sha1nexte (%ecx,%eax,1), %xmm0");
406662306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(,%eax,1), %xmm0");
406762306a36Sopenharmony_ci	asm volatile("sha1nexte (%eax,%ecx,1), %xmm0");
406862306a36Sopenharmony_ci	asm volatile("sha1nexte (%eax,%ecx,8), %xmm0");
406962306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%eax), %xmm0");
407062306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%ebp), %xmm0");
407162306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%ecx,%eax,1), %xmm0");
407262306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%ebp,%eax,1), %xmm0");
407362306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%eax,%ecx,1), %xmm0");
407462306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12(%eax,%ecx,8), %xmm0");
407562306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%eax), %xmm0");
407662306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%ebp), %xmm0");
407762306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%ecx,%eax,1), %xmm0");
407862306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%ebp,%eax,1), %xmm0");
407962306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%eax,%ecx,1), %xmm0");
408062306a36Sopenharmony_ci	asm volatile("sha1nexte 0x12345678(%eax,%ecx,8), %xmm0");
408162306a36Sopenharmony_ci
408262306a36Sopenharmony_ci	/* sha1msg1 xmm2/m128, xmm1 */
408362306a36Sopenharmony_ci
408462306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm1, %xmm0");
408562306a36Sopenharmony_ci	asm volatile("sha1msg1 %xmm7, %xmm2");
408662306a36Sopenharmony_ci	asm volatile("sha1msg1 (%eax), %xmm0");
408762306a36Sopenharmony_ci	asm volatile("sha1msg1 (0x12345678), %xmm0");
408862306a36Sopenharmony_ci	asm volatile("sha1msg1 (%eax), %xmm3");
408962306a36Sopenharmony_ci	asm volatile("sha1msg1 (%ecx,%eax,1), %xmm0");
409062306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(,%eax,1), %xmm0");
409162306a36Sopenharmony_ci	asm volatile("sha1msg1 (%eax,%ecx,1), %xmm0");
409262306a36Sopenharmony_ci	asm volatile("sha1msg1 (%eax,%ecx,8), %xmm0");
409362306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%eax), %xmm0");
409462306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%ebp), %xmm0");
409562306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%ecx,%eax,1), %xmm0");
409662306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%ebp,%eax,1), %xmm0");
409762306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%eax,%ecx,1), %xmm0");
409862306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12(%eax,%ecx,8), %xmm0");
409962306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%eax), %xmm0");
410062306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%ebp), %xmm0");
410162306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%ecx,%eax,1), %xmm0");
410262306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%ebp,%eax,1), %xmm0");
410362306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%eax,%ecx,1), %xmm0");
410462306a36Sopenharmony_ci	asm volatile("sha1msg1 0x12345678(%eax,%ecx,8), %xmm0");
410562306a36Sopenharmony_ci
410662306a36Sopenharmony_ci	/* sha1msg2 xmm2/m128, xmm1 */
410762306a36Sopenharmony_ci
410862306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm1, %xmm0");
410962306a36Sopenharmony_ci	asm volatile("sha1msg2 %xmm7, %xmm2");
411062306a36Sopenharmony_ci	asm volatile("sha1msg2 (%eax), %xmm0");
411162306a36Sopenharmony_ci	asm volatile("sha1msg2 (0x12345678), %xmm0");
411262306a36Sopenharmony_ci	asm volatile("sha1msg2 (%eax), %xmm3");
411362306a36Sopenharmony_ci	asm volatile("sha1msg2 (%ecx,%eax,1), %xmm0");
411462306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(,%eax,1), %xmm0");
411562306a36Sopenharmony_ci	asm volatile("sha1msg2 (%eax,%ecx,1), %xmm0");
411662306a36Sopenharmony_ci	asm volatile("sha1msg2 (%eax,%ecx,8), %xmm0");
411762306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%eax), %xmm0");
411862306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%ebp), %xmm0");
411962306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%ecx,%eax,1), %xmm0");
412062306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%ebp,%eax,1), %xmm0");
412162306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%eax,%ecx,1), %xmm0");
412262306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12(%eax,%ecx,8), %xmm0");
412362306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%eax), %xmm0");
412462306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%ebp), %xmm0");
412562306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%ecx,%eax,1), %xmm0");
412662306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%ebp,%eax,1), %xmm0");
412762306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%eax,%ecx,1), %xmm0");
412862306a36Sopenharmony_ci	asm volatile("sha1msg2 0x12345678(%eax,%ecx,8), %xmm0");
412962306a36Sopenharmony_ci
413062306a36Sopenharmony_ci	/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */
413162306a36Sopenharmony_ci	/* Note sha256rnds2 has an implicit operand 'xmm0' */
413262306a36Sopenharmony_ci
413362306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm4, %xmm1");
413462306a36Sopenharmony_ci	asm volatile("sha256rnds2 %xmm7, %xmm2");
413562306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%eax), %xmm1");
413662306a36Sopenharmony_ci	asm volatile("sha256rnds2 (0x12345678), %xmm1");
413762306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%eax), %xmm3");
413862306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%ecx,%eax,1), %xmm1");
413962306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(,%eax,1), %xmm1");
414062306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%eax,%ecx,1), %xmm1");
414162306a36Sopenharmony_ci	asm volatile("sha256rnds2 (%eax,%ecx,8), %xmm1");
414262306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%eax), %xmm1");
414362306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%ebp), %xmm1");
414462306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%ecx,%eax,1), %xmm1");
414562306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%ebp,%eax,1), %xmm1");
414662306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%eax,%ecx,1), %xmm1");
414762306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12(%eax,%ecx,8), %xmm1");
414862306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%eax), %xmm1");
414962306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%ebp), %xmm1");
415062306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%ecx,%eax,1), %xmm1");
415162306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%ebp,%eax,1), %xmm1");
415262306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%eax,%ecx,1), %xmm1");
415362306a36Sopenharmony_ci	asm volatile("sha256rnds2 0x12345678(%eax,%ecx,8), %xmm1");
415462306a36Sopenharmony_ci
415562306a36Sopenharmony_ci	/* sha256msg1 xmm2/m128, xmm1 */
415662306a36Sopenharmony_ci
415762306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm1, %xmm0");
415862306a36Sopenharmony_ci	asm volatile("sha256msg1 %xmm7, %xmm2");
415962306a36Sopenharmony_ci	asm volatile("sha256msg1 (%eax), %xmm0");
416062306a36Sopenharmony_ci	asm volatile("sha256msg1 (0x12345678), %xmm0");
416162306a36Sopenharmony_ci	asm volatile("sha256msg1 (%eax), %xmm3");
416262306a36Sopenharmony_ci	asm volatile("sha256msg1 (%ecx,%eax,1), %xmm0");
416362306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(,%eax,1), %xmm0");
416462306a36Sopenharmony_ci	asm volatile("sha256msg1 (%eax,%ecx,1), %xmm0");
416562306a36Sopenharmony_ci	asm volatile("sha256msg1 (%eax,%ecx,8), %xmm0");
416662306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%eax), %xmm0");
416762306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%ebp), %xmm0");
416862306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%ecx,%eax,1), %xmm0");
416962306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%ebp,%eax,1), %xmm0");
417062306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%eax,%ecx,1), %xmm0");
417162306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12(%eax,%ecx,8), %xmm0");
417262306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%eax), %xmm0");
417362306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%ebp), %xmm0");
417462306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%ecx,%eax,1), %xmm0");
417562306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%ebp,%eax,1), %xmm0");
417662306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%eax,%ecx,1), %xmm0");
417762306a36Sopenharmony_ci	asm volatile("sha256msg1 0x12345678(%eax,%ecx,8), %xmm0");
417862306a36Sopenharmony_ci
417962306a36Sopenharmony_ci	/* sha256msg2 xmm2/m128, xmm1 */
418062306a36Sopenharmony_ci
418162306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm1, %xmm0");
418262306a36Sopenharmony_ci	asm volatile("sha256msg2 %xmm7, %xmm2");
418362306a36Sopenharmony_ci	asm volatile("sha256msg2 (%eax), %xmm0");
418462306a36Sopenharmony_ci	asm volatile("sha256msg2 (0x12345678), %xmm0");
418562306a36Sopenharmony_ci	asm volatile("sha256msg2 (%eax), %xmm3");
418662306a36Sopenharmony_ci	asm volatile("sha256msg2 (%ecx,%eax,1), %xmm0");
418762306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(,%eax,1), %xmm0");
418862306a36Sopenharmony_ci	asm volatile("sha256msg2 (%eax,%ecx,1), %xmm0");
418962306a36Sopenharmony_ci	asm volatile("sha256msg2 (%eax,%ecx,8), %xmm0");
419062306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%eax), %xmm0");
419162306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%ebp), %xmm0");
419262306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%ecx,%eax,1), %xmm0");
419362306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%ebp,%eax,1), %xmm0");
419462306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%eax,%ecx,1), %xmm0");
419562306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12(%eax,%ecx,8), %xmm0");
419662306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%eax), %xmm0");
419762306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%ebp), %xmm0");
419862306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%ecx,%eax,1), %xmm0");
419962306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%ebp,%eax,1), %xmm0");
420062306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%eax,%ecx,1), %xmm0");
420162306a36Sopenharmony_ci	asm volatile("sha256msg2 0x12345678(%eax,%ecx,8), %xmm0");
420262306a36Sopenharmony_ci
420362306a36Sopenharmony_ci	/* clflushopt m8 */
420462306a36Sopenharmony_ci
420562306a36Sopenharmony_ci	asm volatile("clflushopt (%eax)");
420662306a36Sopenharmony_ci	asm volatile("clflushopt (0x12345678)");
420762306a36Sopenharmony_ci	asm volatile("clflushopt 0x12345678(%eax,%ecx,8)");
420862306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as clflushopt */
420962306a36Sopenharmony_ci	asm volatile("clflush (%eax)");
421062306a36Sopenharmony_ci	asm volatile("sfence");
421162306a36Sopenharmony_ci
421262306a36Sopenharmony_ci	/* clwb m8 */
421362306a36Sopenharmony_ci
421462306a36Sopenharmony_ci	asm volatile("clwb (%eax)");
421562306a36Sopenharmony_ci	asm volatile("clwb (0x12345678)");
421662306a36Sopenharmony_ci	asm volatile("clwb 0x12345678(%eax,%ecx,8)");
421762306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as clwb */
421862306a36Sopenharmony_ci	asm volatile("xsaveopt (%eax)");
421962306a36Sopenharmony_ci	asm volatile("mfence");
422062306a36Sopenharmony_ci
422162306a36Sopenharmony_ci	/* cldemote m8 */
422262306a36Sopenharmony_ci
422362306a36Sopenharmony_ci	asm volatile("cldemote (%eax)");
422462306a36Sopenharmony_ci	asm volatile("cldemote (0x12345678)");
422562306a36Sopenharmony_ci	asm volatile("cldemote 0x12345678(%eax,%ecx,8)");
422662306a36Sopenharmony_ci
422762306a36Sopenharmony_ci	/* xsavec mem */
422862306a36Sopenharmony_ci
422962306a36Sopenharmony_ci	asm volatile("xsavec (%eax)");
423062306a36Sopenharmony_ci	asm volatile("xsavec (0x12345678)");
423162306a36Sopenharmony_ci	asm volatile("xsavec 0x12345678(%eax,%ecx,8)");
423262306a36Sopenharmony_ci
423362306a36Sopenharmony_ci	/* xsaves mem */
423462306a36Sopenharmony_ci
423562306a36Sopenharmony_ci	asm volatile("xsaves (%eax)");
423662306a36Sopenharmony_ci	asm volatile("xsaves (0x12345678)");
423762306a36Sopenharmony_ci	asm volatile("xsaves 0x12345678(%eax,%ecx,8)");
423862306a36Sopenharmony_ci
423962306a36Sopenharmony_ci	/* xrstors mem */
424062306a36Sopenharmony_ci
424162306a36Sopenharmony_ci	asm volatile("xrstors (%eax)");
424262306a36Sopenharmony_ci	asm volatile("xrstors (0x12345678)");
424362306a36Sopenharmony_ci	asm volatile("xrstors 0x12345678(%eax,%ecx,8)");
424462306a36Sopenharmony_ci
424562306a36Sopenharmony_ci	/* ptwrite */
424662306a36Sopenharmony_ci
424762306a36Sopenharmony_ci	asm volatile("ptwrite (%eax)");
424862306a36Sopenharmony_ci	asm volatile("ptwrite (0x12345678)");
424962306a36Sopenharmony_ci	asm volatile("ptwrite 0x12345678(%eax,%ecx,8)");
425062306a36Sopenharmony_ci
425162306a36Sopenharmony_ci	asm volatile("ptwritel (%eax)");
425262306a36Sopenharmony_ci	asm volatile("ptwritel (0x12345678)");
425362306a36Sopenharmony_ci	asm volatile("ptwritel 0x12345678(%eax,%ecx,8)");
425462306a36Sopenharmony_ci
425562306a36Sopenharmony_ci	/* tpause */
425662306a36Sopenharmony_ci
425762306a36Sopenharmony_ci	asm volatile("tpause %ebx");
425862306a36Sopenharmony_ci
425962306a36Sopenharmony_ci	/* umonitor */
426062306a36Sopenharmony_ci
426162306a36Sopenharmony_ci	asm volatile("umonitor %ax");
426262306a36Sopenharmony_ci	asm volatile("umonitor %eax");
426362306a36Sopenharmony_ci
426462306a36Sopenharmony_ci	/* umwait */
426562306a36Sopenharmony_ci
426662306a36Sopenharmony_ci	asm volatile("umwait %eax");
426762306a36Sopenharmony_ci
426862306a36Sopenharmony_ci	/* movdiri */
426962306a36Sopenharmony_ci
427062306a36Sopenharmony_ci	asm volatile("movdiri %eax,(%ebx)");
427162306a36Sopenharmony_ci	asm volatile("movdiri %ecx,0x12345678(%eax)");
427262306a36Sopenharmony_ci
427362306a36Sopenharmony_ci	/* movdir64b */
427462306a36Sopenharmony_ci
427562306a36Sopenharmony_ci	asm volatile("movdir64b (%eax),%ebx");
427662306a36Sopenharmony_ci	asm volatile("movdir64b 0x12345678(%eax),%ecx");
427762306a36Sopenharmony_ci	asm volatile("movdir64b (%si),%bx");
427862306a36Sopenharmony_ci	asm volatile("movdir64b 0x1234(%si),%cx");
427962306a36Sopenharmony_ci
428062306a36Sopenharmony_ci	/* enqcmd */
428162306a36Sopenharmony_ci
428262306a36Sopenharmony_ci	asm volatile("enqcmd (%eax),%ebx");
428362306a36Sopenharmony_ci	asm volatile("enqcmd 0x12345678(%eax),%ecx");
428462306a36Sopenharmony_ci	asm volatile("enqcmd (%si),%bx");
428562306a36Sopenharmony_ci	asm volatile("enqcmd 0x1234(%si),%cx");
428662306a36Sopenharmony_ci
428762306a36Sopenharmony_ci	/* enqcmds */
428862306a36Sopenharmony_ci
428962306a36Sopenharmony_ci	asm volatile("enqcmds (%eax),%ebx");
429062306a36Sopenharmony_ci	asm volatile("enqcmds 0x12345678(%eax),%ecx");
429162306a36Sopenharmony_ci	asm volatile("enqcmds (%si),%bx");
429262306a36Sopenharmony_ci	asm volatile("enqcmds 0x1234(%si),%cx");
429362306a36Sopenharmony_ci
429462306a36Sopenharmony_ci	/* incsspd */
429562306a36Sopenharmony_ci
429662306a36Sopenharmony_ci	asm volatile("incsspd %eax");
429762306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as incsspd */
429862306a36Sopenharmony_ci	asm volatile("xrstor (%eax)");
429962306a36Sopenharmony_ci	asm volatile("xrstor (0x12345678)");
430062306a36Sopenharmony_ci	asm volatile("xrstor 0x12345678(%eax,%ecx,8)");
430162306a36Sopenharmony_ci	asm volatile("lfence");
430262306a36Sopenharmony_ci
430362306a36Sopenharmony_ci	/* rdsspd */
430462306a36Sopenharmony_ci
430562306a36Sopenharmony_ci	asm volatile("rdsspd %eax");
430662306a36Sopenharmony_ci
430762306a36Sopenharmony_ci	/* saveprevssp */
430862306a36Sopenharmony_ci
430962306a36Sopenharmony_ci	asm volatile("saveprevssp");
431062306a36Sopenharmony_ci
431162306a36Sopenharmony_ci	/* rstorssp */
431262306a36Sopenharmony_ci
431362306a36Sopenharmony_ci	asm volatile("rstorssp (%eax)");
431462306a36Sopenharmony_ci	asm volatile("rstorssp (0x12345678)");
431562306a36Sopenharmony_ci	asm volatile("rstorssp 0x12345678(%eax,%ecx,8)");
431662306a36Sopenharmony_ci
431762306a36Sopenharmony_ci	/* wrssd */
431862306a36Sopenharmony_ci
431962306a36Sopenharmony_ci	asm volatile("wrssd %ecx,(%eax)");
432062306a36Sopenharmony_ci	asm volatile("wrssd %edx,(0x12345678)");
432162306a36Sopenharmony_ci	asm volatile("wrssd %edx,0x12345678(%eax,%ecx,8)");
432262306a36Sopenharmony_ci
432362306a36Sopenharmony_ci	/* wrussd */
432462306a36Sopenharmony_ci
432562306a36Sopenharmony_ci	asm volatile("wrussd %ecx,(%eax)");
432662306a36Sopenharmony_ci	asm volatile("wrussd %edx,(0x12345678)");
432762306a36Sopenharmony_ci	asm volatile("wrussd %edx,0x12345678(%eax,%ecx,8)");
432862306a36Sopenharmony_ci
432962306a36Sopenharmony_ci	/* setssbsy */
433062306a36Sopenharmony_ci
433162306a36Sopenharmony_ci	asm volatile("setssbsy");
433262306a36Sopenharmony_ci	/* Also check instructions in the same group encoding as setssbsy */
433362306a36Sopenharmony_ci	asm volatile("rdpkru");
433462306a36Sopenharmony_ci	asm volatile("wrpkru");
433562306a36Sopenharmony_ci
433662306a36Sopenharmony_ci	/* clrssbsy */
433762306a36Sopenharmony_ci
433862306a36Sopenharmony_ci	asm volatile("clrssbsy (%eax)");
433962306a36Sopenharmony_ci	asm volatile("clrssbsy (0x12345678)");
434062306a36Sopenharmony_ci	asm volatile("clrssbsy 0x12345678(%eax,%ecx,8)");
434162306a36Sopenharmony_ci
434262306a36Sopenharmony_ci	/* endbr32/64 */
434362306a36Sopenharmony_ci
434462306a36Sopenharmony_ci	asm volatile("endbr32");
434562306a36Sopenharmony_ci	asm volatile("endbr64");
434662306a36Sopenharmony_ci
434762306a36Sopenharmony_ci	/* call with/without notrack prefix */
434862306a36Sopenharmony_ci
434962306a36Sopenharmony_ci	asm volatile("call *%eax");				/* Expecting: call indirect 0 */
435062306a36Sopenharmony_ci	asm volatile("call *(%eax)");				/* Expecting: call indirect 0 */
435162306a36Sopenharmony_ci	asm volatile("call *(0x12345678)");			/* Expecting: call indirect 0 */
435262306a36Sopenharmony_ci	asm volatile("call *0x12345678(%eax,%ecx,8)");		/* Expecting: call indirect 0 */
435362306a36Sopenharmony_ci
435462306a36Sopenharmony_ci	asm volatile("bnd call *%eax");				/* Expecting: call indirect 0 */
435562306a36Sopenharmony_ci	asm volatile("bnd call *(%eax)");			/* Expecting: call indirect 0 */
435662306a36Sopenharmony_ci	asm volatile("bnd call *(0x12345678)");			/* Expecting: call indirect 0 */
435762306a36Sopenharmony_ci	asm volatile("bnd call *0x12345678(%eax,%ecx,8)");	/* Expecting: call indirect 0 */
435862306a36Sopenharmony_ci
435962306a36Sopenharmony_ci	asm volatile("notrack call *%eax");			/* Expecting: call indirect 0 */
436062306a36Sopenharmony_ci	asm volatile("notrack call *(%eax)");			/* Expecting: call indirect 0 */
436162306a36Sopenharmony_ci	asm volatile("notrack call *(0x12345678)");		/* Expecting: call indirect 0 */
436262306a36Sopenharmony_ci	asm volatile("notrack call *0x12345678(%eax,%ecx,8)");	/* Expecting: call indirect 0 */
436362306a36Sopenharmony_ci
436462306a36Sopenharmony_ci	asm volatile("notrack bnd call *%eax");			/* Expecting: call indirect 0 */
436562306a36Sopenharmony_ci	asm volatile("notrack bnd call *(%eax)");		/* Expecting: call indirect 0 */
436662306a36Sopenharmony_ci	asm volatile("notrack bnd call *(0x12345678)");		/* Expecting: call indirect 0 */
436762306a36Sopenharmony_ci	asm volatile("notrack bnd call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */
436862306a36Sopenharmony_ci
436962306a36Sopenharmony_ci	/* jmp with/without notrack prefix */
437062306a36Sopenharmony_ci
437162306a36Sopenharmony_ci	asm volatile("jmp *%eax");				/* Expecting: jmp indirect 0 */
437262306a36Sopenharmony_ci	asm volatile("jmp *(%eax)");				/* Expecting: jmp indirect 0 */
437362306a36Sopenharmony_ci	asm volatile("jmp *(0x12345678)");			/* Expecting: jmp indirect 0 */
437462306a36Sopenharmony_ci	asm volatile("jmp *0x12345678(%eax,%ecx,8)");		/* Expecting: jmp indirect 0 */
437562306a36Sopenharmony_ci
437662306a36Sopenharmony_ci	asm volatile("bnd jmp *%eax");				/* Expecting: jmp indirect 0 */
437762306a36Sopenharmony_ci	asm volatile("bnd jmp *(%eax)");			/* Expecting: jmp indirect 0 */
437862306a36Sopenharmony_ci	asm volatile("bnd jmp *(0x12345678)");			/* Expecting: jmp indirect 0 */
437962306a36Sopenharmony_ci	asm volatile("bnd jmp *0x12345678(%eax,%ecx,8)");	/* Expecting: jmp indirect 0 */
438062306a36Sopenharmony_ci
438162306a36Sopenharmony_ci	asm volatile("notrack jmp *%eax");			/* Expecting: jmp indirect 0 */
438262306a36Sopenharmony_ci	asm volatile("notrack jmp *(%eax)");			/* Expecting: jmp indirect 0 */
438362306a36Sopenharmony_ci	asm volatile("notrack jmp *(0x12345678)");		/* Expecting: jmp indirect 0 */
438462306a36Sopenharmony_ci	asm volatile("notrack jmp *0x12345678(%eax,%ecx,8)");	/* Expecting: jmp indirect 0 */
438562306a36Sopenharmony_ci
438662306a36Sopenharmony_ci	asm volatile("notrack bnd jmp *%eax");			/* Expecting: jmp indirect 0 */
438762306a36Sopenharmony_ci	asm volatile("notrack bnd jmp *(%eax)");		/* Expecting: jmp indirect 0 */
438862306a36Sopenharmony_ci	asm volatile("notrack bnd jmp *(0x12345678)");		/* Expecting: jmp indirect 0 */
438962306a36Sopenharmony_ci	asm volatile("notrack bnd jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */
439062306a36Sopenharmony_ci
439162306a36Sopenharmony_ci	/* AVX512-FP16 */
439262306a36Sopenharmony_ci
439362306a36Sopenharmony_ci	asm volatile("vaddph %zmm3, %zmm2, %zmm1");
439462306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
439562306a36Sopenharmony_ci	asm volatile("vaddph %xmm3, %xmm2, %xmm1");
439662306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
439762306a36Sopenharmony_ci	asm volatile("vaddph %ymm3, %ymm2, %ymm1");
439862306a36Sopenharmony_ci	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
439962306a36Sopenharmony_ci	asm volatile("vaddsh %xmm3, %xmm2, %xmm1");
440062306a36Sopenharmony_ci	asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
440162306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");
440262306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");
440362306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");
440462306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
440562306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");
440662306a36Sopenharmony_ci	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");
440762306a36Sopenharmony_ci	asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");
440862306a36Sopenharmony_ci	asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
440962306a36Sopenharmony_ci	asm volatile("vcomish %xmm2, %xmm1");
441062306a36Sopenharmony_ci	asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");
441162306a36Sopenharmony_ci	asm volatile("vcvtdq2ph %zmm2, %ymm1");
441262306a36Sopenharmony_ci	asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");
441362306a36Sopenharmony_ci	asm volatile("vcvtdq2ph %xmm2, %xmm1");
441462306a36Sopenharmony_ci	asm volatile("vcvtdq2ph %ymm2, %xmm1");
441562306a36Sopenharmony_ci	asm volatile("vcvtpd2ph %zmm2, %xmm1");
441662306a36Sopenharmony_ci	asm volatile("vcvtpd2ph %xmm2, %xmm1");
441762306a36Sopenharmony_ci	asm volatile("vcvtpd2ph %ymm2, %xmm1");
441862306a36Sopenharmony_ci	asm volatile("vcvtph2dq %ymm2, %zmm1");
441962306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");
442062306a36Sopenharmony_ci	asm volatile("vcvtph2dq %xmm2, %xmm1");
442162306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");
442262306a36Sopenharmony_ci	asm volatile("vcvtph2dq %xmm2, %ymm1");
442362306a36Sopenharmony_ci	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");
442462306a36Sopenharmony_ci	asm volatile("vcvtph2pd %xmm2, %zmm1");
442562306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");
442662306a36Sopenharmony_ci	asm volatile("vcvtph2pd %xmm2, %xmm1");
442762306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");
442862306a36Sopenharmony_ci	asm volatile("vcvtph2pd %xmm2, %ymm1");
442962306a36Sopenharmony_ci	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");
443062306a36Sopenharmony_ci	asm volatile("vcvtph2ps %ymm2, %zmm1");
443162306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");
443262306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %xmm1");
443362306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
443462306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %ymm1");
443562306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
443662306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %xmm1");
443762306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
443862306a36Sopenharmony_ci	asm volatile("vcvtph2ps %xmm2, %ymm1");
443962306a36Sopenharmony_ci	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
444062306a36Sopenharmony_ci	asm volatile("vcvtph2psx %ymm2, %zmm1");
444162306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");
444262306a36Sopenharmony_ci	asm volatile("vcvtph2psx %xmm2, %xmm1");
444362306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");
444462306a36Sopenharmony_ci	asm volatile("vcvtph2psx %xmm2, %ymm1");
444562306a36Sopenharmony_ci	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");
444662306a36Sopenharmony_ci	asm volatile("vcvtph2qq %xmm2, %zmm1");
444762306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");
444862306a36Sopenharmony_ci	asm volatile("vcvtph2qq %xmm2, %xmm1");
444962306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");
445062306a36Sopenharmony_ci	asm volatile("vcvtph2qq %xmm2, %ymm1");
445162306a36Sopenharmony_ci	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");
445262306a36Sopenharmony_ci	asm volatile("vcvtph2udq %ymm2, %zmm1");
445362306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");
445462306a36Sopenharmony_ci	asm volatile("vcvtph2udq %xmm2, %xmm1");
445562306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");
445662306a36Sopenharmony_ci	asm volatile("vcvtph2udq %xmm2, %ymm1");
445762306a36Sopenharmony_ci	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");
445862306a36Sopenharmony_ci	asm volatile("vcvtph2uqq %xmm2, %zmm1");
445962306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
446062306a36Sopenharmony_ci	asm volatile("vcvtph2uqq %xmm2, %xmm1");
446162306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
446262306a36Sopenharmony_ci	asm volatile("vcvtph2uqq %xmm2, %ymm1");
446362306a36Sopenharmony_ci	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
446462306a36Sopenharmony_ci	asm volatile("vcvtph2uw %zmm2, %zmm1");
446562306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");
446662306a36Sopenharmony_ci	asm volatile("vcvtph2uw %xmm2, %xmm1");
446762306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");
446862306a36Sopenharmony_ci	asm volatile("vcvtph2uw %ymm2, %ymm1");
446962306a36Sopenharmony_ci	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");
447062306a36Sopenharmony_ci	asm volatile("vcvtph2w %zmm2, %zmm1");
447162306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");
447262306a36Sopenharmony_ci	asm volatile("vcvtph2w %xmm2, %xmm1");
447362306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");
447462306a36Sopenharmony_ci	asm volatile("vcvtph2w %ymm2, %ymm1");
447562306a36Sopenharmony_ci	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");
447662306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");
447762306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");
447862306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");
447962306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");
448062306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
448162306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
448262306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
448362306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");
448462306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
448562306a36Sopenharmony_ci	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");
448662306a36Sopenharmony_ci	asm volatile("vcvtps2phx %zmm2, %ymm1");
448762306a36Sopenharmony_ci	asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");
448862306a36Sopenharmony_ci	asm volatile("vcvtps2phx %xmm2, %xmm1");
448962306a36Sopenharmony_ci	asm volatile("vcvtps2phx %ymm2, %xmm1");
449062306a36Sopenharmony_ci	asm volatile("vcvtqq2ph %zmm2, %xmm1");
449162306a36Sopenharmony_ci	asm volatile("vcvtqq2ph %xmm2, %xmm1");
449262306a36Sopenharmony_ci	asm volatile("vcvtqq2ph %ymm2, %xmm1");
449362306a36Sopenharmony_ci	asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
449462306a36Sopenharmony_ci	asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
449562306a36Sopenharmony_ci	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");
449662306a36Sopenharmony_ci	asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
449762306a36Sopenharmony_ci	asm volatile("vcvtsh2usi %xmm1, %eax");
449862306a36Sopenharmony_ci	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");
449962306a36Sopenharmony_ci	asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");
450062306a36Sopenharmony_ci	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
450162306a36Sopenharmony_ci	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
450262306a36Sopenharmony_ci	asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");
450362306a36Sopenharmony_ci	asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
450462306a36Sopenharmony_ci	asm volatile("vcvttph2dq %ymm2, %zmm1");
450562306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");
450662306a36Sopenharmony_ci	asm volatile("vcvttph2dq %xmm2, %xmm1");
450762306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");
450862306a36Sopenharmony_ci	asm volatile("vcvttph2dq %xmm2, %ymm1");
450962306a36Sopenharmony_ci	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");
451062306a36Sopenharmony_ci	asm volatile("vcvttph2qq %xmm2, %zmm1");
451162306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");
451262306a36Sopenharmony_ci	asm volatile("vcvttph2qq %xmm2, %xmm1");
451362306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");
451462306a36Sopenharmony_ci	asm volatile("vcvttph2qq %xmm2, %ymm1");
451562306a36Sopenharmony_ci	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");
451662306a36Sopenharmony_ci	asm volatile("vcvttph2udq %ymm2, %zmm1");
451762306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");
451862306a36Sopenharmony_ci	asm volatile("vcvttph2udq %xmm2, %xmm1");
451962306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");
452062306a36Sopenharmony_ci	asm volatile("vcvttph2udq %xmm2, %ymm1");
452162306a36Sopenharmony_ci	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");
452262306a36Sopenharmony_ci	asm volatile("vcvttph2uqq %xmm2, %zmm1");
452362306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
452462306a36Sopenharmony_ci	asm volatile("vcvttph2uqq %xmm2, %xmm1");
452562306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
452662306a36Sopenharmony_ci	asm volatile("vcvttph2uqq %xmm2, %ymm1");
452762306a36Sopenharmony_ci	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
452862306a36Sopenharmony_ci	asm volatile("vcvttph2uw %zmm2, %zmm1");
452962306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");
453062306a36Sopenharmony_ci	asm volatile("vcvttph2uw %xmm2, %xmm1");
453162306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");
453262306a36Sopenharmony_ci	asm volatile("vcvttph2uw %ymm2, %ymm1");
453362306a36Sopenharmony_ci	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");
453462306a36Sopenharmony_ci	asm volatile("vcvttph2w %zmm2, %zmm1");
453562306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");
453662306a36Sopenharmony_ci	asm volatile("vcvttph2w %xmm2, %xmm1");
453762306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");
453862306a36Sopenharmony_ci	asm volatile("vcvttph2w %ymm2, %ymm1");
453962306a36Sopenharmony_ci	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");
454062306a36Sopenharmony_ci	asm volatile("vcvttsh2si %xmm1, %eax");
454162306a36Sopenharmony_ci	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");
454262306a36Sopenharmony_ci	asm volatile("vcvttsh2usi %xmm1, %eax");
454362306a36Sopenharmony_ci	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");
454462306a36Sopenharmony_ci	asm volatile("vcvtudq2ph %zmm2, %ymm1");
454562306a36Sopenharmony_ci	asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");
454662306a36Sopenharmony_ci	asm volatile("vcvtudq2ph %xmm2, %xmm1");
454762306a36Sopenharmony_ci	asm volatile("vcvtudq2ph %ymm2, %xmm1");
454862306a36Sopenharmony_ci	asm volatile("vcvtuqq2ph %zmm2, %xmm1");
454962306a36Sopenharmony_ci	asm volatile("vcvtuqq2ph %xmm2, %xmm1");
455062306a36Sopenharmony_ci	asm volatile("vcvtuqq2ph %ymm2, %xmm1");
455162306a36Sopenharmony_ci	asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");
455262306a36Sopenharmony_ci	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
455362306a36Sopenharmony_ci	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
455462306a36Sopenharmony_ci	asm volatile("vcvtuw2ph %zmm2, %zmm1");
455562306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");
455662306a36Sopenharmony_ci	asm volatile("vcvtuw2ph %xmm2, %xmm1");
455762306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");
455862306a36Sopenharmony_ci	asm volatile("vcvtuw2ph %ymm2, %ymm1");
455962306a36Sopenharmony_ci	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");
456062306a36Sopenharmony_ci	asm volatile("vcvtw2ph %zmm2, %zmm1");
456162306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");
456262306a36Sopenharmony_ci	asm volatile("vcvtw2ph %xmm2, %xmm1");
456362306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");
456462306a36Sopenharmony_ci	asm volatile("vcvtw2ph %ymm2, %ymm1");
456562306a36Sopenharmony_ci	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");
456662306a36Sopenharmony_ci	asm volatile("vdivph %zmm3, %zmm2, %zmm1");
456762306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
456862306a36Sopenharmony_ci	asm volatile("vdivph %xmm3, %xmm2, %xmm1");
456962306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
457062306a36Sopenharmony_ci	asm volatile("vdivph %ymm3, %ymm2, %ymm1");
457162306a36Sopenharmony_ci	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
457262306a36Sopenharmony_ci	asm volatile("vdivsh %xmm3, %xmm2, %xmm1");
457362306a36Sopenharmony_ci	asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
457462306a36Sopenharmony_ci	asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");
457562306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
457662306a36Sopenharmony_ci	asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");
457762306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
457862306a36Sopenharmony_ci	asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");
457962306a36Sopenharmony_ci	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
458062306a36Sopenharmony_ci	asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");
458162306a36Sopenharmony_ci	asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
458262306a36Sopenharmony_ci	asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");
458362306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
458462306a36Sopenharmony_ci	asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");
458562306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
458662306a36Sopenharmony_ci	asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");
458762306a36Sopenharmony_ci	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
458862306a36Sopenharmony_ci	asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");
458962306a36Sopenharmony_ci	asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
459062306a36Sopenharmony_ci	asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");
459162306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
459262306a36Sopenharmony_ci	asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");
459362306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
459462306a36Sopenharmony_ci	asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");
459562306a36Sopenharmony_ci	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
459662306a36Sopenharmony_ci	asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");
459762306a36Sopenharmony_ci	asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
459862306a36Sopenharmony_ci	asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");
459962306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
460062306a36Sopenharmony_ci	asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");
460162306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
460262306a36Sopenharmony_ci	asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");
460362306a36Sopenharmony_ci	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
460462306a36Sopenharmony_ci	asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");
460562306a36Sopenharmony_ci	asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
460662306a36Sopenharmony_ci	asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");
460762306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
460862306a36Sopenharmony_ci	asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");
460962306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
461062306a36Sopenharmony_ci	asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");
461162306a36Sopenharmony_ci	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
461262306a36Sopenharmony_ci	asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");
461362306a36Sopenharmony_ci	asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
461462306a36Sopenharmony_ci	asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");
461562306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
461662306a36Sopenharmony_ci	asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");
461762306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
461862306a36Sopenharmony_ci	asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");
461962306a36Sopenharmony_ci	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
462062306a36Sopenharmony_ci	asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");
462162306a36Sopenharmony_ci	asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
462262306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");
462362306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
462462306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");
462562306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
462662306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");
462762306a36Sopenharmony_ci	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
462862306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");
462962306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
463062306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");
463162306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
463262306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");
463362306a36Sopenharmony_ci	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
463462306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");
463562306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
463662306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");
463762306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
463862306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");
463962306a36Sopenharmony_ci	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
464062306a36Sopenharmony_ci	asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");
464162306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
464262306a36Sopenharmony_ci	asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");
464362306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
464462306a36Sopenharmony_ci	asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");
464562306a36Sopenharmony_ci	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
464662306a36Sopenharmony_ci	asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");
464762306a36Sopenharmony_ci	asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
464862306a36Sopenharmony_ci	asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");
464962306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
465062306a36Sopenharmony_ci	asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");
465162306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
465262306a36Sopenharmony_ci	asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");
465362306a36Sopenharmony_ci	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
465462306a36Sopenharmony_ci	asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");
465562306a36Sopenharmony_ci	asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
465662306a36Sopenharmony_ci	asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");
465762306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
465862306a36Sopenharmony_ci	asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");
465962306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
466062306a36Sopenharmony_ci	asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");
466162306a36Sopenharmony_ci	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
466262306a36Sopenharmony_ci	asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");
466362306a36Sopenharmony_ci	asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
466462306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");
466562306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
466662306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");
466762306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
466862306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");
466962306a36Sopenharmony_ci	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
467062306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");
467162306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
467262306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");
467362306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
467462306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");
467562306a36Sopenharmony_ci	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
467662306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");
467762306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
467862306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");
467962306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
468062306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");
468162306a36Sopenharmony_ci	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
468262306a36Sopenharmony_ci	asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");
468362306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
468462306a36Sopenharmony_ci	asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");
468562306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
468662306a36Sopenharmony_ci	asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");
468762306a36Sopenharmony_ci	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
468862306a36Sopenharmony_ci	asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");
468962306a36Sopenharmony_ci	asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
469062306a36Sopenharmony_ci	asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");
469162306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
469262306a36Sopenharmony_ci	asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");
469362306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
469462306a36Sopenharmony_ci	asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");
469562306a36Sopenharmony_ci	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
469662306a36Sopenharmony_ci	asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");
469762306a36Sopenharmony_ci	asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
469862306a36Sopenharmony_ci	asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");
469962306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
470062306a36Sopenharmony_ci	asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");
470162306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
470262306a36Sopenharmony_ci	asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");
470362306a36Sopenharmony_ci	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
470462306a36Sopenharmony_ci	asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");
470562306a36Sopenharmony_ci	asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
470662306a36Sopenharmony_ci	asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");
470762306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
470862306a36Sopenharmony_ci	asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");
470962306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
471062306a36Sopenharmony_ci	asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");
471162306a36Sopenharmony_ci	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
471262306a36Sopenharmony_ci	asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");
471362306a36Sopenharmony_ci	asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
471462306a36Sopenharmony_ci	asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");
471562306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
471662306a36Sopenharmony_ci	asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");
471762306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
471862306a36Sopenharmony_ci	asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");
471962306a36Sopenharmony_ci	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
472062306a36Sopenharmony_ci	asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");
472162306a36Sopenharmony_ci	asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
472262306a36Sopenharmony_ci	asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");
472362306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
472462306a36Sopenharmony_ci	asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");
472562306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
472662306a36Sopenharmony_ci	asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");
472762306a36Sopenharmony_ci	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
472862306a36Sopenharmony_ci	asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");
472962306a36Sopenharmony_ci	asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
473062306a36Sopenharmony_ci	asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");
473162306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
473262306a36Sopenharmony_ci	asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");
473362306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
473462306a36Sopenharmony_ci	asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");
473562306a36Sopenharmony_ci	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
473662306a36Sopenharmony_ci	asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");
473762306a36Sopenharmony_ci	asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
473862306a36Sopenharmony_ci	asm volatile("vfpclassph $0x12, %zmm1, %k5");
473962306a36Sopenharmony_ci	asm volatile("vfpclassph $0x12, %xmm1, %k5");
474062306a36Sopenharmony_ci	asm volatile("vfpclassph $0x12, %ymm1, %k5");
474162306a36Sopenharmony_ci	asm volatile("vfpclasssh $0x12, %xmm1, %k5");
474262306a36Sopenharmony_ci	asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");
474362306a36Sopenharmony_ci	asm volatile("vgetexpph %zmm2, %zmm1");
474462306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");
474562306a36Sopenharmony_ci	asm volatile("vgetexpph %xmm2, %xmm1");
474662306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");
474762306a36Sopenharmony_ci	asm volatile("vgetexpph %ymm2, %ymm1");
474862306a36Sopenharmony_ci	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");
474962306a36Sopenharmony_ci	asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");
475062306a36Sopenharmony_ci	asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
475162306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, %zmm2, %zmm1");
475262306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
475362306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, %xmm2, %xmm1");
475462306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
475562306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, %ymm2, %ymm1");
475662306a36Sopenharmony_ci	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
475762306a36Sopenharmony_ci	asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");
475862306a36Sopenharmony_ci	asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
475962306a36Sopenharmony_ci	asm volatile("vmaxph %zmm3, %zmm2, %zmm1");
476062306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
476162306a36Sopenharmony_ci	asm volatile("vmaxph %xmm3, %xmm2, %xmm1");
476262306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
476362306a36Sopenharmony_ci	asm volatile("vmaxph %ymm3, %ymm2, %ymm1");
476462306a36Sopenharmony_ci	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
476562306a36Sopenharmony_ci	asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");
476662306a36Sopenharmony_ci	asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
476762306a36Sopenharmony_ci	asm volatile("vminph %zmm3, %zmm2, %zmm1");
476862306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
476962306a36Sopenharmony_ci	asm volatile("vminph %xmm3, %xmm2, %xmm1");
477062306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
477162306a36Sopenharmony_ci	asm volatile("vminph %ymm3, %ymm2, %ymm1");
477262306a36Sopenharmony_ci	asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
477362306a36Sopenharmony_ci	asm volatile("vminsh %xmm3, %xmm2, %xmm1");
477462306a36Sopenharmony_ci	asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
477562306a36Sopenharmony_ci	asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");
477662306a36Sopenharmony_ci	asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");
477762306a36Sopenharmony_ci	asm volatile("vmovsh %xmm3, %xmm2, %xmm1");
477862306a36Sopenharmony_ci	asm volatile("vmovw %xmm1, %eax");
477962306a36Sopenharmony_ci	asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");
478062306a36Sopenharmony_ci	asm volatile("vmovw %eax, %xmm1");
478162306a36Sopenharmony_ci	asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");
478262306a36Sopenharmony_ci	asm volatile("vmulph %zmm3, %zmm2, %zmm1");
478362306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
478462306a36Sopenharmony_ci	asm volatile("vmulph %xmm3, %xmm2, %xmm1");
478562306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
478662306a36Sopenharmony_ci	asm volatile("vmulph %ymm3, %ymm2, %ymm1");
478762306a36Sopenharmony_ci	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
478862306a36Sopenharmony_ci	asm volatile("vmulsh %xmm3, %xmm2, %xmm1");
478962306a36Sopenharmony_ci	asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
479062306a36Sopenharmony_ci	asm volatile("vrcpph %zmm2, %zmm1");
479162306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");
479262306a36Sopenharmony_ci	asm volatile("vrcpph %xmm2, %xmm1");
479362306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");
479462306a36Sopenharmony_ci	asm volatile("vrcpph %ymm2, %ymm1");
479562306a36Sopenharmony_ci	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");
479662306a36Sopenharmony_ci	asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");
479762306a36Sopenharmony_ci	asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
479862306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, %zmm2, %zmm1");
479962306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
480062306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, %xmm2, %xmm1");
480162306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
480262306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, %ymm2, %ymm1");
480362306a36Sopenharmony_ci	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
480462306a36Sopenharmony_ci	asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");
480562306a36Sopenharmony_ci	asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
480662306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");
480762306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
480862306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");
480962306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
481062306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");
481162306a36Sopenharmony_ci	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
481262306a36Sopenharmony_ci	asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");
481362306a36Sopenharmony_ci	asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
481462306a36Sopenharmony_ci	asm volatile("vrsqrtph %zmm2, %zmm1");
481562306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
481662306a36Sopenharmony_ci	asm volatile("vrsqrtph %xmm2, %xmm1");
481762306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
481862306a36Sopenharmony_ci	asm volatile("vrsqrtph %ymm2, %ymm1");
481962306a36Sopenharmony_ci	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
482062306a36Sopenharmony_ci	asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");
482162306a36Sopenharmony_ci	asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
482262306a36Sopenharmony_ci	asm volatile("vscalefph %zmm3, %zmm2, %zmm1");
482362306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
482462306a36Sopenharmony_ci	asm volatile("vscalefph %xmm3, %xmm2, %xmm1");
482562306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
482662306a36Sopenharmony_ci	asm volatile("vscalefph %ymm3, %ymm2, %ymm1");
482762306a36Sopenharmony_ci	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
482862306a36Sopenharmony_ci	asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");
482962306a36Sopenharmony_ci	asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
483062306a36Sopenharmony_ci	asm volatile("vsqrtph %zmm2, %zmm1");
483162306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
483262306a36Sopenharmony_ci	asm volatile("vsqrtph %xmm2, %xmm1");
483362306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
483462306a36Sopenharmony_ci	asm volatile("vsqrtph %ymm2, %ymm1");
483562306a36Sopenharmony_ci	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
483662306a36Sopenharmony_ci	asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");
483762306a36Sopenharmony_ci	asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
483862306a36Sopenharmony_ci	asm volatile("vsubph %zmm3, %zmm2, %zmm1");
483962306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
484062306a36Sopenharmony_ci	asm volatile("vsubph %xmm3, %xmm2, %xmm1");
484162306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
484262306a36Sopenharmony_ci	asm volatile("vsubph %ymm3, %ymm2, %ymm1");
484362306a36Sopenharmony_ci	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
484462306a36Sopenharmony_ci	asm volatile("vsubsh %xmm3, %xmm2, %xmm1");
484562306a36Sopenharmony_ci	asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
484662306a36Sopenharmony_ci	asm volatile("vucomish %xmm2, %xmm1");
484762306a36Sopenharmony_ci	asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");
484862306a36Sopenharmony_ci
484962306a36Sopenharmony_ci#endif /* #ifndef __x86_64__ */
485062306a36Sopenharmony_ci
485162306a36Sopenharmony_ci	/* Prediction history reset */
485262306a36Sopenharmony_ci
485362306a36Sopenharmony_ci	asm volatile("hreset $0");
485462306a36Sopenharmony_ci
485562306a36Sopenharmony_ci	/* Serialize instruction execution */
485662306a36Sopenharmony_ci
485762306a36Sopenharmony_ci	asm volatile("serialize");
485862306a36Sopenharmony_ci
485962306a36Sopenharmony_ci	/* TSX suspend load address tracking */
486062306a36Sopenharmony_ci
486162306a36Sopenharmony_ci	asm volatile("xresldtrk");
486262306a36Sopenharmony_ci	asm volatile("xsusldtrk");
486362306a36Sopenharmony_ci
486462306a36Sopenharmony_ci	/* SGX */
486562306a36Sopenharmony_ci
486662306a36Sopenharmony_ci	asm volatile("encls");
486762306a36Sopenharmony_ci	asm volatile("enclu");
486862306a36Sopenharmony_ci	asm volatile("enclv");
486962306a36Sopenharmony_ci
487062306a36Sopenharmony_ci	/* pconfig */
487162306a36Sopenharmony_ci
487262306a36Sopenharmony_ci	asm volatile("pconfig");
487362306a36Sopenharmony_ci
487462306a36Sopenharmony_ci	/* wbnoinvd */
487562306a36Sopenharmony_ci
487662306a36Sopenharmony_ci	asm volatile("wbnoinvd");
487762306a36Sopenharmony_ci
487862306a36Sopenharmony_ci	/* Following line is a marker for the awk script - do not change */
487962306a36Sopenharmony_ci	asm volatile("rdtsc"); /* Stop here */
488062306a36Sopenharmony_ci
488162306a36Sopenharmony_ci	return 0;
488262306a36Sopenharmony_ci}
4883