cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

insn-x86-dat-src.c (193676B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * This file contains instructions for testing by the test titled:
      4 *
      5 *         "Test x86 instruction decoder - new instructions"
      6 *
      7 * Note that the 'Expecting' comment lines are consumed by the
      8 * gen-insn-x86-dat.awk script and have the format:
      9 *
     10 *         Expecting: <op> <branch> <rel>
     11 *
     12 * If this file is changed, remember to run the gen-insn-x86-dat.sh
     13 * script and commit the result.
     14 *
     15 * Refer to insn-x86.c for more details.
     16 */
     17
     18int main(void)
     19{
     20	/* Following line is a marker for the awk script - do not change */
     21	asm volatile("rdtsc"); /* Start here */
     22
     23	/* Test fix for vcvtph2ps in x86-opcode-map.txt */
     24
     25	asm volatile("vcvtph2ps %xmm3,%ymm5");
     26
     27#ifdef __x86_64__
     28
     29	/* AVX-512: Instructions with the same op codes as Mask Instructions  */
     30
     31	asm volatile("cmovno %rax,%rbx");
     32	asm volatile("cmovno 0x12345678(%rax),%rcx");
     33	asm volatile("cmovno 0x12345678(%rax),%cx");
     34
     35	asm volatile("cmove  %rax,%rbx");
     36	asm volatile("cmove 0x12345678(%rax),%rcx");
     37	asm volatile("cmove 0x12345678(%rax),%cx");
     38
     39	asm volatile("seto    0x12345678(%rax)");
     40	asm volatile("setno   0x12345678(%rax)");
     41	asm volatile("setb    0x12345678(%rax)");
     42	asm volatile("setc    0x12345678(%rax)");
     43	asm volatile("setnae  0x12345678(%rax)");
     44	asm volatile("setae   0x12345678(%rax)");
     45	asm volatile("setnb   0x12345678(%rax)");
     46	asm volatile("setnc   0x12345678(%rax)");
     47	asm volatile("sets    0x12345678(%rax)");
     48	asm volatile("setns   0x12345678(%rax)");
     49
     50	/* AVX-512: Mask Instructions */
     51
     52	asm volatile("kandw  %k7,%k6,%k5");
     53	asm volatile("kandq  %k7,%k6,%k5");
     54	asm volatile("kandb  %k7,%k6,%k5");
     55	asm volatile("kandd  %k7,%k6,%k5");
     56
     57	asm volatile("kandnw  %k7,%k6,%k5");
     58	asm volatile("kandnq  %k7,%k6,%k5");
     59	asm volatile("kandnb  %k7,%k6,%k5");
     60	asm volatile("kandnd  %k7,%k6,%k5");
     61
     62	asm volatile("knotw  %k7,%k6");
     63	asm volatile("knotq  %k7,%k6");
     64	asm volatile("knotb  %k7,%k6");
     65	asm volatile("knotd  %k7,%k6");
     66
     67	asm volatile("korw  %k7,%k6,%k5");
     68	asm volatile("korq  %k7,%k6,%k5");
     69	asm volatile("korb  %k7,%k6,%k5");
     70	asm volatile("kord  %k7,%k6,%k5");
     71
     72	asm volatile("kxnorw  %k7,%k6,%k5");
     73	asm volatile("kxnorq  %k7,%k6,%k5");
     74	asm volatile("kxnorb  %k7,%k6,%k5");
     75	asm volatile("kxnord  %k7,%k6,%k5");
     76
     77	asm volatile("kxorw  %k7,%k6,%k5");
     78	asm volatile("kxorq  %k7,%k6,%k5");
     79	asm volatile("kxorb  %k7,%k6,%k5");
     80	asm volatile("kxord  %k7,%k6,%k5");
     81
     82	asm volatile("kaddw  %k7,%k6,%k5");
     83	asm volatile("kaddq  %k7,%k6,%k5");
     84	asm volatile("kaddb  %k7,%k6,%k5");
     85	asm volatile("kaddd  %k7,%k6,%k5");
     86
     87	asm volatile("kunpckbw %k7,%k6,%k5");
     88	asm volatile("kunpckwd %k7,%k6,%k5");
     89	asm volatile("kunpckdq %k7,%k6,%k5");
     90
     91	asm volatile("kmovw  %k6,%k5");
     92	asm volatile("kmovw  (%rcx),%k5");
     93	asm volatile("kmovw  0x123(%rax,%r14,8),%k5");
     94	asm volatile("kmovw  %k5,(%rcx)");
     95	asm volatile("kmovw  %k5,0x123(%rax,%r14,8)");
     96	asm volatile("kmovw  %eax,%k5");
     97	asm volatile("kmovw  %ebp,%k5");
     98	asm volatile("kmovw  %r13d,%k5");
     99	asm volatile("kmovw  %k5,%eax");
    100	asm volatile("kmovw  %k5,%ebp");
    101	asm volatile("kmovw  %k5,%r13d");
    102
    103	asm volatile("kmovq  %k6,%k5");
    104	asm volatile("kmovq  (%rcx),%k5");
    105	asm volatile("kmovq  0x123(%rax,%r14,8),%k5");
    106	asm volatile("kmovq  %k5,(%rcx)");
    107	asm volatile("kmovq  %k5,0x123(%rax,%r14,8)");
    108	asm volatile("kmovq  %rax,%k5");
    109	asm volatile("kmovq  %rbp,%k5");
    110	asm volatile("kmovq  %r13,%k5");
    111	asm volatile("kmovq  %k5,%rax");
    112	asm volatile("kmovq  %k5,%rbp");
    113	asm volatile("kmovq  %k5,%r13");
    114
    115	asm volatile("kmovb  %k6,%k5");
    116	asm volatile("kmovb  (%rcx),%k5");
    117	asm volatile("kmovb  0x123(%rax,%r14,8),%k5");
    118	asm volatile("kmovb  %k5,(%rcx)");
    119	asm volatile("kmovb  %k5,0x123(%rax,%r14,8)");
    120	asm volatile("kmovb  %eax,%k5");
    121	asm volatile("kmovb  %ebp,%k5");
    122	asm volatile("kmovb  %r13d,%k5");
    123	asm volatile("kmovb  %k5,%eax");
    124	asm volatile("kmovb  %k5,%ebp");
    125	asm volatile("kmovb  %k5,%r13d");
    126
    127	asm volatile("kmovd  %k6,%k5");
    128	asm volatile("kmovd  (%rcx),%k5");
    129	asm volatile("kmovd  0x123(%rax,%r14,8),%k5");
    130	asm volatile("kmovd  %k5,(%rcx)");
    131	asm volatile("kmovd  %k5,0x123(%rax,%r14,8)");
    132	asm volatile("kmovd  %eax,%k5");
    133	asm volatile("kmovd  %ebp,%k5");
    134	asm volatile("kmovd  %r13d,%k5");
    135	asm volatile("kmovd  %k5,%eax");
    136	asm volatile("kmovd  %k5,%ebp");
    137	asm volatile("kmovd %k5,%r13d");
    138
    139	asm volatile("kortestw %k6,%k5");
    140	asm volatile("kortestq %k6,%k5");
    141	asm volatile("kortestb %k6,%k5");
    142	asm volatile("kortestd %k6,%k5");
    143
    144	asm volatile("ktestw %k6,%k5");
    145	asm volatile("ktestq %k6,%k5");
    146	asm volatile("ktestb %k6,%k5");
    147	asm volatile("ktestd %k6,%k5");
    148
    149	asm volatile("kshiftrw $0x12,%k6,%k5");
    150	asm volatile("kshiftrq $0x5b,%k6,%k5");
    151	asm volatile("kshiftlw $0x12,%k6,%k5");
    152	asm volatile("kshiftlq $0x5b,%k6,%k5");
    153
    154	/* AVX-512: Op code 0f 5b */
    155	asm volatile("vcvtdq2ps %xmm5,%xmm6");
    156	asm volatile("vcvtqq2ps %zmm29,%ymm6{%k7}");
    157	asm volatile("vcvtps2dq %xmm5,%xmm6");
    158	asm volatile("vcvttps2dq %xmm5,%xmm6");
    159
    160	/* AVX-512: Op code 0f 6f */
    161
    162	asm volatile("movq   %mm0,%mm4");
    163	asm volatile("vmovdqa %ymm4,%ymm6");
    164	asm volatile("vmovdqa32 %zmm25,%zmm26");
    165	asm volatile("vmovdqa64 %zmm25,%zmm26");
    166	asm volatile("vmovdqu %ymm4,%ymm6");
    167	asm volatile("vmovdqu32 %zmm29,%zmm30");
    168	asm volatile("vmovdqu64 %zmm25,%zmm26");
    169	asm volatile("vmovdqu8 %zmm29,%zmm30");
    170	asm volatile("vmovdqu16 %zmm25,%zmm26");
    171
    172	/* AVX-512: Op code 0f 78 */
    173
    174	asm volatile("vmread %rax,%rbx");
    175	asm volatile("vcvttps2udq %zmm25,%zmm26");
    176	asm volatile("vcvttpd2udq %zmm29,%ymm6{%k7}");
    177	asm volatile("vcvttsd2usi %xmm6,%rax");
    178	asm volatile("vcvttss2usi %xmm6,%rax");
    179	asm volatile("vcvttps2uqq %ymm5,%zmm26{%k7}");
    180	asm volatile("vcvttpd2uqq %zmm29,%zmm30");
    181
    182	/* AVX-512: Op code 0f 79 */
    183
    184	asm volatile("vmwrite %rax,%rbx");
    185	asm volatile("vcvtps2udq %zmm25,%zmm26");
    186	asm volatile("vcvtpd2udq %zmm29,%ymm6{%k7}");
    187	asm volatile("vcvtsd2usi %xmm6,%rax");
    188	asm volatile("vcvtss2usi %xmm6,%rax");
    189	asm volatile("vcvtps2uqq %ymm5,%zmm26{%k7}");
    190	asm volatile("vcvtpd2uqq %zmm29,%zmm30");
    191
    192	/* AVX-512: Op code 0f 7a */
    193
    194	asm volatile("vcvtudq2pd %ymm5,%zmm29{%k7}");
    195	asm volatile("vcvtuqq2pd %zmm25,%zmm26");
    196	asm volatile("vcvtudq2ps %zmm29,%zmm30");
    197	asm volatile("vcvtuqq2ps %zmm25,%ymm26{%k7}");
    198	asm volatile("vcvttps2qq %ymm25,%zmm26{%k7}");
    199	asm volatile("vcvttpd2qq %zmm29,%zmm30");
    200
    201	/* AVX-512: Op code 0f 7b */
    202
    203	asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");
    204	asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");
    205	asm volatile("vcvtps2qq %ymm5,%zmm26{%k7}");
    206	asm volatile("vcvtpd2qq %zmm29,%zmm30");
    207
    208	/* AVX-512: Op code 0f 7f */
    209
    210	asm volatile("movq.s  %mm0,%mm4");
    211	asm volatile("vmovdqa %ymm8,%ymm6");
    212	asm volatile("vmovdqa32.s %zmm25,%zmm26");
    213	asm volatile("vmovdqa64.s %zmm25,%zmm26");
    214	asm volatile("vmovdqu %ymm8,%ymm6");
    215	asm volatile("vmovdqu32.s %zmm25,%zmm26");
    216	asm volatile("vmovdqu64.s %zmm25,%zmm26");
    217	asm volatile("vmovdqu8.s %zmm30,(%rcx)");
    218	asm volatile("vmovdqu16.s %zmm25,%zmm26");
    219
    220	/* AVX-512: Op code 0f db */
    221
    222	asm volatile("pand  %mm1,%mm2");
    223	asm volatile("pand  %xmm1,%xmm2");
    224	asm volatile("vpand  %ymm4,%ymm6,%ymm2");
    225	asm volatile("vpandd %zmm24,%zmm25,%zmm26");
    226	asm volatile("vpandq %zmm24,%zmm25,%zmm26");
    227
    228	/* AVX-512: Op code 0f df */
    229
    230	asm volatile("pandn  %mm1,%mm2");
    231	asm volatile("pandn  %xmm1,%xmm2");
    232	asm volatile("vpandn %ymm4,%ymm6,%ymm2");
    233	asm volatile("vpandnd %zmm24,%zmm25,%zmm26");
    234	asm volatile("vpandnq %zmm24,%zmm25,%zmm26");
    235
    236	/* AVX-512: Op code 0f e6 */
    237
    238	asm volatile("vcvttpd2dq %xmm1,%xmm2");
    239	asm volatile("vcvtdq2pd %xmm5,%xmm6");
    240	asm volatile("vcvtdq2pd %ymm5,%zmm26{%k7}");
    241	asm volatile("vcvtqq2pd %zmm25,%zmm26");
    242	asm volatile("vcvtpd2dq %xmm1,%xmm2");
    243
    244	/* AVX-512: Op code 0f eb */
    245
    246	asm volatile("por   %mm4,%mm6");
    247	asm volatile("vpor   %ymm4,%ymm6,%ymm2");
    248	asm volatile("vpord  %zmm24,%zmm25,%zmm26");
    249	asm volatile("vporq  %zmm24,%zmm25,%zmm26");
    250
    251	/* AVX-512: Op code 0f ef */
    252
    253	asm volatile("pxor   %mm4,%mm6");
    254	asm volatile("vpxor  %ymm4,%ymm6,%ymm2");
    255	asm volatile("vpxord %zmm24,%zmm25,%zmm26");
    256	asm volatile("vpxorq %zmm24,%zmm25,%zmm26");
    257
    258	/* AVX-512: Op code 0f 38 10 */
    259
    260	asm volatile("pblendvb %xmm1,%xmm0");
    261	asm volatile("vpsrlvw %zmm27,%zmm28,%zmm29");
    262	asm volatile("vpmovuswb %zmm28,%ymm6{%k7}");
    263
    264	/* AVX-512: Op code 0f 38 11 */
    265
    266	asm volatile("vpmovusdb %zmm28,%xmm6{%k7}");
    267	asm volatile("vpsravw %zmm27,%zmm28,%zmm29");
    268
    269	/* AVX-512: Op code 0f 38 12 */
    270
    271	asm volatile("vpmovusqb %zmm27,%xmm6{%k7}");
    272	asm volatile("vpsllvw %zmm27,%zmm28,%zmm29");
    273
    274	/* AVX-512: Op code 0f 38 13 */
    275
    276	asm volatile("vcvtph2ps %xmm3,%ymm5");
    277	asm volatile("vcvtph2ps %ymm5,%zmm27{%k7}");
    278	asm volatile("vpmovusdw %zmm27,%ymm6{%k7}");
    279
    280	/* AVX-512: Op code 0f 38 14 */
    281
    282	asm volatile("blendvps %xmm1,%xmm0");
    283	asm volatile("vpmovusqw %zmm27,%xmm6{%k7}");
    284	asm volatile("vprorvd %zmm27,%zmm28,%zmm29");
    285	asm volatile("vprorvq %zmm27,%zmm28,%zmm29");
    286
    287	/* AVX-512: Op code 0f 38 15 */
    288
    289	asm volatile("blendvpd %xmm1,%xmm0");
    290	asm volatile("vpmovusqd %zmm27,%ymm6{%k7}");
    291	asm volatile("vprolvd %zmm27,%zmm28,%zmm29");
    292	asm volatile("vprolvq %zmm27,%zmm28,%zmm29");
    293
    294	/* AVX-512: Op code 0f 38 16 */
    295
    296	asm volatile("vpermps %ymm4,%ymm6,%ymm2");
    297	asm volatile("vpermps %ymm24,%ymm26,%ymm22{%k7}");
    298	asm volatile("vpermpd %ymm24,%ymm26,%ymm22{%k7}");
    299
    300	/* AVX-512: Op code 0f 38 19 */
    301
    302	asm volatile("vbroadcastsd %xmm4,%ymm6");
    303	asm volatile("vbroadcastf32x2 %xmm27,%zmm26");
    304
    305	/* AVX-512: Op code 0f 38 1a */
    306
    307	asm volatile("vbroadcastf128 (%rcx),%ymm4");
    308	asm volatile("vbroadcastf32x4 (%rcx),%zmm26");
    309	asm volatile("vbroadcastf64x2 (%rcx),%zmm26");
    310
    311	/* AVX-512: Op code 0f 38 1b */
    312
    313	asm volatile("vbroadcastf32x8 (%rcx),%zmm27");
    314	asm volatile("vbroadcastf64x4 (%rcx),%zmm26");
    315
    316	/* AVX-512: Op code 0f 38 1f */
    317
    318	asm volatile("vpabsq %zmm27,%zmm28");
    319
    320	/* AVX-512: Op code 0f 38 20 */
    321
    322	asm volatile("vpmovsxbw %xmm4,%xmm5");
    323	asm volatile("vpmovswb %zmm27,%ymm6{%k7}");
    324
    325	/* AVX-512: Op code 0f 38 21 */
    326
    327	asm volatile("vpmovsxbd %xmm4,%ymm6");
    328	asm volatile("vpmovsdb %zmm27,%xmm6{%k7}");
    329
    330	/* AVX-512: Op code 0f 38 22 */
    331
    332	asm volatile("vpmovsxbq %xmm4,%ymm4");
    333	asm volatile("vpmovsqb %zmm27,%xmm6{%k7}");
    334
    335	/* AVX-512: Op code 0f 38 23 */
    336
    337	asm volatile("vpmovsxwd %xmm4,%ymm4");
    338	asm volatile("vpmovsdw %zmm27,%ymm6{%k7}");
    339
    340	/* AVX-512: Op code 0f 38 24 */
    341
    342	asm volatile("vpmovsxwq %xmm4,%ymm6");
    343	asm volatile("vpmovsqw %zmm27,%xmm6{%k7}");
    344
    345	/* AVX-512: Op code 0f 38 25 */
    346
    347	asm volatile("vpmovsxdq %xmm4,%ymm4");
    348	asm volatile("vpmovsqd %zmm27,%ymm6{%k7}");
    349
    350	/* AVX-512: Op code 0f 38 26 */
    351
    352	asm volatile("vptestmb %zmm27,%zmm28,%k5");
    353	asm volatile("vptestmw %zmm27,%zmm28,%k5");
    354	asm volatile("vptestnmb %zmm26,%zmm27,%k5");
    355	asm volatile("vptestnmw %zmm26,%zmm27,%k5");
    356
    357	/* AVX-512: Op code 0f 38 27 */
    358
    359	asm volatile("vptestmd %zmm27,%zmm28,%k5");
    360	asm volatile("vptestmq %zmm27,%zmm28,%k5");
    361	asm volatile("vptestnmd %zmm26,%zmm27,%k5");
    362	asm volatile("vptestnmq %zmm26,%zmm27,%k5");
    363
    364	/* AVX-512: Op code 0f 38 28 */
    365
    366	asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");
    367	asm volatile("vpmovm2b %k5,%zmm28");
    368	asm volatile("vpmovm2w %k5,%zmm28");
    369
    370	/* AVX-512: Op code 0f 38 29 */
    371
    372	asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");
    373	asm volatile("vpmovb2m %zmm28,%k5");
    374	asm volatile("vpmovw2m %zmm28,%k5");
    375
    376	/* AVX-512: Op code 0f 38 2a */
    377
    378	asm volatile("vmovntdqa (%rcx),%ymm4");
    379	asm volatile("vpbroadcastmb2q %k6,%zmm30");
    380
    381	/* AVX-512: Op code 0f 38 2c */
    382
    383	asm volatile("vmaskmovps (%rcx),%ymm4,%ymm6");
    384	asm volatile("vscalefps %zmm24,%zmm25,%zmm26");
    385	asm volatile("vscalefpd %zmm24,%zmm25,%zmm26");
    386
    387	/* AVX-512: Op code 0f 38 2d */
    388
    389	asm volatile("vmaskmovpd (%rcx),%ymm4,%ymm6");
    390	asm volatile("vscalefss %xmm24,%xmm25,%xmm26{%k7}");
    391	asm volatile("vscalefsd %xmm24,%xmm25,%xmm26{%k7}");
    392
    393	/* AVX-512: Op code 0f 38 30 */
    394
    395	asm volatile("vpmovzxbw %xmm4,%ymm4");
    396	asm volatile("vpmovwb %zmm27,%ymm6{%k7}");
    397
    398	/* AVX-512: Op code 0f 38 31 */
    399
    400	asm volatile("vpmovzxbd %xmm4,%ymm6");
    401	asm volatile("vpmovdb %zmm27,%xmm6{%k7}");
    402
    403	/* AVX-512: Op code 0f 38 32 */
    404
    405	asm volatile("vpmovzxbq %xmm4,%ymm4");
    406	asm volatile("vpmovqb %zmm27,%xmm6{%k7}");
    407
    408	/* AVX-512: Op code 0f 38 33 */
    409
    410	asm volatile("vpmovzxwd %xmm4,%ymm4");
    411	asm volatile("vpmovdw %zmm27,%ymm6{%k7}");
    412
    413	/* AVX-512: Op code 0f 38 34 */
    414
    415	asm volatile("vpmovzxwq %xmm4,%ymm6");
    416	asm volatile("vpmovqw %zmm27,%xmm6{%k7}");
    417
    418	/* AVX-512: Op code 0f 38 35 */
    419
    420	asm volatile("vpmovzxdq %xmm4,%ymm4");
    421	asm volatile("vpmovqd %zmm27,%ymm6{%k7}");
    422
    423	/* AVX-512: Op code 0f 38 38 */
    424
    425	asm volatile("vpermd %ymm4,%ymm6,%ymm2");
    426	asm volatile("vpermd %ymm24,%ymm26,%ymm22{%k7}");
    427	asm volatile("vpermq %ymm24,%ymm26,%ymm22{%k7}");
    428
    429	/* AVX-512: Op code 0f 38 38 */
    430
    431	asm volatile("vpminsb %ymm4,%ymm6,%ymm2");
    432	asm volatile("vpmovm2d %k5,%zmm28");
    433	asm volatile("vpmovm2q %k5,%zmm28");
    434
    435	/* AVX-512: Op code 0f 38 39 */
    436
    437	asm volatile("vpminsd %xmm1,%xmm2,%xmm3");
    438	asm volatile("vpminsd %zmm24,%zmm25,%zmm26");
    439	asm volatile("vpminsq %zmm24,%zmm25,%zmm26");
    440	asm volatile("vpmovd2m %zmm28,%k5");
    441	asm volatile("vpmovq2m %zmm28,%k5");
    442
    443	/* AVX-512: Op code 0f 38 3a */
    444
    445	asm volatile("vpminuw %ymm4,%ymm6,%ymm2");
    446	asm volatile("vpbroadcastmw2d %k6,%zmm28");
    447
    448	/* AVX-512: Op code 0f 38 3b */
    449
    450	asm volatile("vpminud %ymm4,%ymm6,%ymm2");
    451	asm volatile("vpminud %zmm24,%zmm25,%zmm26");
    452	asm volatile("vpminuq %zmm24,%zmm25,%zmm26");
    453
    454	/* AVX-512: Op code 0f 38 3d */
    455
    456	asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");
    457	asm volatile("vpmaxsd %zmm24,%zmm25,%zmm26");
    458	asm volatile("vpmaxsq %zmm24,%zmm25,%zmm26");
    459
    460	/* AVX-512: Op code 0f 38 3f */
    461
    462	asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");
    463	asm volatile("vpmaxud %zmm24,%zmm25,%zmm26");
    464	asm volatile("vpmaxuq %zmm24,%zmm25,%zmm26");
    465
    466	/* AVX-512: Op code 0f 38 42 */
    467
    468	asm volatile("vpmulld %ymm4,%ymm6,%ymm2");
    469	asm volatile("vpmulld %zmm24,%zmm25,%zmm26");
    470	asm volatile("vpmullq %zmm24,%zmm25,%zmm26");
    471
    472	/* AVX-512: Op code 0f 38 42 */
    473
    474	asm volatile("vgetexpps %zmm25,%zmm26");
    475	asm volatile("vgetexppd %zmm27,%zmm28");
    476
    477	/* AVX-512: Op code 0f 38 43 */
    478
    479	asm volatile("vgetexpss %xmm24,%xmm25,%xmm26{%k7}");
    480	asm volatile("vgetexpsd %xmm28,%xmm29,%xmm30{%k7}");
    481
    482	/* AVX-512: Op code 0f 38 44 */
    483
    484	asm volatile("vplzcntd %zmm27,%zmm28");
    485	asm volatile("vplzcntq %zmm27,%zmm28");
    486
    487	/* AVX-512: Op code 0f 38 46 */
    488
    489	asm volatile("vpsravd %ymm4,%ymm6,%ymm2");
    490	asm volatile("vpsravd %zmm24,%zmm25,%zmm26");
    491	asm volatile("vpsravq %zmm24,%zmm25,%zmm26");
    492
    493	/* AVX-512: Op code 0f 38 4c */
    494
    495	asm volatile("vrcp14ps %zmm25,%zmm26");
    496	asm volatile("vrcp14pd %zmm27,%zmm28");
    497
    498	/* AVX-512: Op code 0f 38 4d */
    499
    500	asm volatile("vrcp14ss %xmm24,%xmm25,%xmm26{%k7}");
    501	asm volatile("vrcp14sd %xmm24,%xmm25,%xmm26{%k7}");
    502
    503	/* AVX-512: Op code 0f 38 4e */
    504
    505	asm volatile("vrsqrt14ps %zmm25,%zmm26");
    506	asm volatile("vrsqrt14pd %zmm27,%zmm28");
    507
    508	/* AVX-512: Op code 0f 38 4f */
    509
    510	asm volatile("vrsqrt14ss %xmm24,%xmm25,%xmm26{%k7}");
    511	asm volatile("vrsqrt14sd %xmm24,%xmm25,%xmm26{%k7}");
    512
    513	/* AVX-512: Op code 0f 38 50 */
    514
    515	asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");
    516	asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");
    517	asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");
    518	asm volatile("vpdpbusd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    519	asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    520
    521	/* AVX-512: Op code 0f 38 51 */
    522
    523	asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");
    524	asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");
    525	asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");
    526	asm volatile("vpdpbusds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    527	asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    528
    529	/* AVX-512: Op code 0f 38 52 */
    530
    531	asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");
    532	asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");
    533	asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");
    534	asm volatile("vdpbf16ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    535	asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    536
    537	asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");
    538	asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");
    539	asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");
    540	asm volatile("vpdpwssd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    541	asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    542
    543	asm volatile("vp4dpwssd (%rax), %zmm0, %zmm4");
    544	asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");
    545	asm volatile("vp4dpwssd 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
    546	asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
    547
    548	/* AVX-512: Op code 0f 38 53 */
    549
    550	asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");
    551	asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");
    552	asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");
    553	asm volatile("vpdpwssds 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    554	asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    555
    556	asm volatile("vp4dpwssds (%rax), %zmm0, %zmm4");
    557	asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");
    558	asm volatile("vp4dpwssds 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
    559	asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
    560
    561	/* AVX-512: Op code 0f 38 54 */
    562
    563	asm volatile("vpopcntb %xmm1, %xmm2");
    564	asm volatile("vpopcntb %ymm1, %ymm2");
    565	asm volatile("vpopcntb %zmm1, %zmm2");
    566	asm volatile("vpopcntb 0x12345678(%rax,%rcx,8),%zmm2");
    567	asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");
    568
    569	asm volatile("vpopcntw %xmm1, %xmm2");
    570	asm volatile("vpopcntw %ymm1, %ymm2");
    571	asm volatile("vpopcntw %zmm1, %zmm2");
    572	asm volatile("vpopcntw 0x12345678(%rax,%rcx,8),%zmm2");
    573	asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");
    574
    575	/* AVX-512: Op code 0f 38 55 */
    576
    577	asm volatile("vpopcntd %xmm1, %xmm2");
    578	asm volatile("vpopcntd %ymm1, %ymm2");
    579	asm volatile("vpopcntd %zmm1, %zmm2");
    580	asm volatile("vpopcntd 0x12345678(%rax,%rcx,8),%zmm2");
    581	asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");
    582
    583	asm volatile("vpopcntq %xmm1, %xmm2");
    584	asm volatile("vpopcntq %ymm1, %ymm2");
    585	asm volatile("vpopcntq %zmm1, %zmm2");
    586	asm volatile("vpopcntq 0x12345678(%rax,%rcx,8),%zmm2");
    587	asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");
    588
    589	/* AVX-512: Op code 0f 38 59 */
    590
    591	asm volatile("vpbroadcastq %xmm4,%xmm6");
    592	asm volatile("vbroadcasti32x2 %xmm27,%zmm26");
    593
    594	/* AVX-512: Op code 0f 38 5a */
    595
    596	asm volatile("vbroadcasti128 (%rcx),%ymm4");
    597	asm volatile("vbroadcasti32x4 (%rcx),%zmm26");
    598	asm volatile("vbroadcasti64x2 (%rcx),%zmm26");
    599
    600	/* AVX-512: Op code 0f 38 5b */
    601
    602	asm volatile("vbroadcasti32x8 (%rcx),%zmm28");
    603	asm volatile("vbroadcasti64x4 (%rcx),%zmm26");
    604
    605	/* AVX-512: Op code 0f 38 62 */
    606
    607	asm volatile("vpexpandb %xmm1, %xmm2");
    608	asm volatile("vpexpandb %ymm1, %ymm2");
    609	asm volatile("vpexpandb %zmm1, %zmm2");
    610	asm volatile("vpexpandb 0x12345678(%rax,%rcx,8),%zmm2");
    611	asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");
    612
    613	asm volatile("vpexpandw %xmm1, %xmm2");
    614	asm volatile("vpexpandw %ymm1, %ymm2");
    615	asm volatile("vpexpandw %zmm1, %zmm2");
    616	asm volatile("vpexpandw 0x12345678(%rax,%rcx,8),%zmm2");
    617	asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");
    618
    619	/* AVX-512: Op code 0f 38 63 */
    620
    621	asm volatile("vpcompressb %xmm1, %xmm2");
    622	asm volatile("vpcompressb %ymm1, %ymm2");
    623	asm volatile("vpcompressb %zmm1, %zmm2");
    624	asm volatile("vpcompressb %zmm2,0x12345678(%rax,%rcx,8)");
    625	asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");
    626
    627	asm volatile("vpcompressw %xmm1, %xmm2");
    628	asm volatile("vpcompressw %ymm1, %ymm2");
    629	asm volatile("vpcompressw %zmm1, %zmm2");
    630	asm volatile("vpcompressw %zmm2,0x12345678(%rax,%rcx,8)");
    631	asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");
    632
    633	/* AVX-512: Op code 0f 38 64 */
    634
    635	asm volatile("vpblendmd %zmm26,%zmm27,%zmm28");
    636	asm volatile("vpblendmq %zmm26,%zmm27,%zmm28");
    637
    638	/* AVX-512: Op code 0f 38 65 */
    639
    640	asm volatile("vblendmps %zmm24,%zmm25,%zmm26");
    641	asm volatile("vblendmpd %zmm26,%zmm27,%zmm28");
    642
    643	/* AVX-512: Op code 0f 38 66 */
    644
    645	asm volatile("vpblendmb %zmm26,%zmm27,%zmm28");
    646	asm volatile("vpblendmw %zmm26,%zmm27,%zmm28");
    647
    648	/* AVX-512: Op code 0f 38 68 */
    649
    650	asm volatile("vp2intersectd %xmm1, %xmm2, %k3");
    651	asm volatile("vp2intersectd %ymm1, %ymm2, %k3");
    652	asm volatile("vp2intersectd %zmm1, %zmm2, %k3");
    653	asm volatile("vp2intersectd 0x12345678(%rax,%rcx,8),%zmm2,%k3");
    654	asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");
    655
    656	asm volatile("vp2intersectq %xmm1, %xmm2, %k3");
    657	asm volatile("vp2intersectq %ymm1, %ymm2, %k3");
    658	asm volatile("vp2intersectq %zmm1, %zmm2, %k3");
    659	asm volatile("vp2intersectq 0x12345678(%rax,%rcx,8),%zmm2,%k3");
    660	asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");
    661
    662	/* AVX-512: Op code 0f 38 70 */
    663
    664	asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");
    665	asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");
    666	asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");
    667	asm volatile("vpshldvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    668	asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    669
    670	/* AVX-512: Op code 0f 38 71 */
    671
    672	asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");
    673	asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");
    674	asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");
    675	asm volatile("vpshldvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    676	asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    677
    678	asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");
    679	asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");
    680	asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");
    681	asm volatile("vpshldvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    682	asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    683
    684	/* AVX-512: Op code 0f 38 72 */
    685
    686	asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");
    687	asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");
    688	asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");
    689	asm volatile("vcvtne2ps2bf16 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    690	asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    691
    692	asm volatile("vcvtneps2bf16 %xmm1, %xmm2");
    693	asm volatile("vcvtneps2bf16 %ymm1, %xmm2");
    694	asm volatile("vcvtneps2bf16 %zmm1, %ymm2");
    695	asm volatile("vcvtneps2bf16 0x12345678(%rax,%rcx,8),%ymm2");
    696	asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");
    697
    698	asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");
    699	asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");
    700	asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");
    701	asm volatile("vpshrdvw 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    702	asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    703
    704	/* AVX-512: Op code 0f 38 73 */
    705
    706	asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");
    707	asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");
    708	asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");
    709	asm volatile("vpshrdvd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    710	asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    711
    712	asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");
    713	asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");
    714	asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");
    715	asm volatile("vpshrdvq 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    716	asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    717
    718	/* AVX-512: Op code 0f 38 75 */
    719
    720	asm volatile("vpermi2b %zmm24,%zmm25,%zmm26");
    721	asm volatile("vpermi2w %zmm26,%zmm27,%zmm28");
    722
    723	/* AVX-512: Op code 0f 38 76 */
    724
    725	asm volatile("vpermi2d %zmm26,%zmm27,%zmm28");
    726	asm volatile("vpermi2q %zmm26,%zmm27,%zmm28");
    727
    728	/* AVX-512: Op code 0f 38 77 */
    729
    730	asm volatile("vpermi2ps %zmm26,%zmm27,%zmm28");
    731	asm volatile("vpermi2pd %zmm26,%zmm27,%zmm28");
    732
    733	/* AVX-512: Op code 0f 38 7a */
    734
    735	asm volatile("vpbroadcastb %eax,%xmm30");
    736
    737	/* AVX-512: Op code 0f 38 7b */
    738
    739	asm volatile("vpbroadcastw %eax,%xmm30");
    740
    741	/* AVX-512: Op code 0f 38 7c */
    742
    743	asm volatile("vpbroadcastd %eax,%xmm30");
    744	asm volatile("vpbroadcastq %rax,%zmm30");
    745
    746	/* AVX-512: Op code 0f 38 7d */
    747
    748	asm volatile("vpermt2b %zmm26,%zmm27,%zmm28");
    749	asm volatile("vpermt2w %zmm26,%zmm27,%zmm28");
    750
    751	/* AVX-512: Op code 0f 38 7e */
    752
    753	asm volatile("vpermt2d %zmm26,%zmm27,%zmm28");
    754	asm volatile("vpermt2q %zmm26,%zmm27,%zmm28");
    755
    756	/* AVX-512: Op code 0f 38 7f */
    757
    758	asm volatile("vpermt2ps %zmm26,%zmm27,%zmm28");
    759	asm volatile("vpermt2pd %zmm26,%zmm27,%zmm28");
    760
    761	/* AVX-512: Op code 0f 38 83 */
    762
    763	asm volatile("vpmultishiftqb %zmm26,%zmm27,%zmm28");
    764
    765	/* AVX-512: Op code 0f 38 88 */
    766
    767	asm volatile("vexpandps (%rcx),%zmm26");
    768	asm volatile("vexpandpd (%rcx),%zmm28");
    769
    770	/* AVX-512: Op code 0f 38 89 */
    771
    772	asm volatile("vpexpandd (%rcx),%zmm28");
    773	asm volatile("vpexpandq (%rcx),%zmm26");
    774
    775	/* AVX-512: Op code 0f 38 8a */
    776
    777	asm volatile("vcompressps %zmm28,(%rcx)");
    778	asm volatile("vcompresspd %zmm28,(%rcx)");
    779
    780	/* AVX-512: Op code 0f 38 8b */
    781
    782	asm volatile("vpcompressd %zmm28,(%rcx)");
    783	asm volatile("vpcompressq %zmm26,(%rcx)");
    784
    785	/* AVX-512: Op code 0f 38 8d */
    786
    787	asm volatile("vpermb %zmm26,%zmm27,%zmm28");
    788	asm volatile("vpermw %zmm26,%zmm27,%zmm28");
    789
    790	/* AVX-512: Op code 0f 38 8f */
    791
    792	asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");
    793	asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");
    794	asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");
    795	asm volatile("vpshufbitqmb 0x12345678(%rax,%rcx,8),%zmm2,%k3");
    796	asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");
    797
    798	/* AVX-512: Op code 0f 38 90 */
    799
    800	asm volatile("vpgatherdd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
    801	asm volatile("vpgatherdq %xmm2,0x04(%rbp,%xmm7,2),%xmm1");
    802	asm volatile("vpgatherdd 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");
    803	asm volatile("vpgatherdq 0x7b(%rbp,%ymm27,8),%zmm26{%k1}");
    804
    805	/* AVX-512: Op code 0f 38 91 */
    806
    807	asm volatile("vpgatherqd %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
    808	asm volatile("vpgatherqq %xmm2,0x02(%rbp,%xmm7,2),%xmm1");
    809	asm volatile("vpgatherqd 0x7b(%rbp,%zmm27,8),%ymm26{%k1}");
    810	asm volatile("vpgatherqq 0x7b(%rbp,%zmm27,8),%zmm26{%k1}");
    811
    812	/* AVX-512: Op code 0f 38 9a */
    813
    814	asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");
    815	asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");
    816	asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");
    817	asm volatile("vfmsub132ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    818	asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    819
    820	asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");
    821	asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");
    822	asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");
    823	asm volatile("vfmsub132pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    824	asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    825
    826	asm volatile("v4fmaddps (%rax), %zmm0, %zmm4");
    827	asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");
    828	asm volatile("v4fmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
    829	asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
    830
    831	/* AVX-512: Op code 0f 38 9b */
    832
    833	asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");
    834	asm volatile("vfmsub132ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
    835	asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
    836
    837	asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");
    838	asm volatile("vfmsub132sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
    839	asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
    840
    841	asm volatile("v4fmaddss (%rax), %xmm0, %xmm4");
    842	asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");
    843	asm volatile("v4fmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");
    844	asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
    845
    846	/* AVX-512: Op code 0f 38 a0 */
    847
    848	asm volatile("vpscatterdd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
    849	asm volatile("vpscatterdq %zmm26,0x7b(%rbp,%ymm27,8){%k1}");
    850
    851	/* AVX-512: Op code 0f 38 a1 */
    852
    853	asm volatile("vpscatterqd %ymm6,0x7b(%rbp,%zmm29,8){%k1}");
    854	asm volatile("vpscatterqq %ymm6,0x7b(%rbp,%ymm27,8){%k1}");
    855
    856	/* AVX-512: Op code 0f 38 a2 */
    857
    858	asm volatile("vscatterdps %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
    859	asm volatile("vscatterdpd %zmm28,0x7b(%rbp,%ymm27,8){%k1}");
    860
    861	/* AVX-512: Op code 0f 38 a3 */
    862
    863	asm volatile("vscatterqps %ymm6,0x7b(%rbp,%zmm29,8){%k1}");
    864	asm volatile("vscatterqpd %zmm28,0x7b(%rbp,%zmm29,8){%k1}");
    865
    866	/* AVX-512: Op code 0f 38 aa */
    867
    868	asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");
    869	asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");
    870	asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");
    871	asm volatile("vfmsub213ps 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    872	asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    873
    874	asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");
    875	asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");
    876	asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");
    877	asm volatile("vfmsub213pd 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    878	asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    879
    880	asm volatile("v4fnmaddps (%rax), %zmm0, %zmm4");
    881	asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");
    882	asm volatile("v4fnmaddps 0x12345678(%rax,%rcx,8),%zmm0,%zmm4");
    883	asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
    884
    885	/* AVX-512: Op code 0f 38 ab */
    886
    887	asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");
    888	asm volatile("vfmsub213ss 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
    889	asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
    890
    891	asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");
    892	asm volatile("vfmsub213sd 0x12345678(%rax,%rcx,8),%xmm2,%xmm3");
    893	asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
    894
    895	asm volatile("v4fnmaddss (%rax), %xmm0, %xmm4");
    896	asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");
    897	asm volatile("v4fnmaddss 0x12345678(%rax,%rcx,8),%xmm0,%xmm4");
    898	asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
    899
    900	/* AVX-512: Op code 0f 38 b4 */
    901
    902	asm volatile("vpmadd52luq %zmm26,%zmm27,%zmm28");
    903
    904	/* AVX-512: Op code 0f 38 b5 */
    905
    906	asm volatile("vpmadd52huq %zmm26,%zmm27,%zmm28");
    907
    908	/* AVX-512: Op code 0f 38 c4 */
    909
    910	asm volatile("vpconflictd %zmm26,%zmm27");
    911	asm volatile("vpconflictq %zmm26,%zmm27");
    912
    913	/* AVX-512: Op code 0f 38 c8 */
    914
    915	asm volatile("vexp2ps %zmm29,%zmm30");
    916	asm volatile("vexp2pd %zmm26,%zmm27");
    917
    918	/* AVX-512: Op code 0f 38 ca */
    919
    920	asm volatile("vrcp28ps %zmm29,%zmm30");
    921	asm volatile("vrcp28pd %zmm26,%zmm27");
    922
    923	/* AVX-512: Op code 0f 38 cb */
    924
    925	asm volatile("vrcp28ss %xmm28,%xmm29,%xmm30{%k7}");
    926	asm volatile("vrcp28sd %xmm25,%xmm26,%xmm27{%k7}");
    927
    928	/* AVX-512: Op code 0f 38 cc */
    929
    930	asm volatile("vrsqrt28ps %zmm29,%zmm30");
    931	asm volatile("vrsqrt28pd %zmm26,%zmm27");
    932
    933	/* AVX-512: Op code 0f 38 cd */
    934
    935	asm volatile("vrsqrt28ss %xmm28,%xmm29,%xmm30{%k7}");
    936	asm volatile("vrsqrt28sd %xmm25,%xmm26,%xmm27{%k7}");
    937
    938	/* AVX-512: Op code 0f 38 cf */
    939
    940	asm volatile("gf2p8mulb %xmm1, %xmm3");
    941	asm volatile("gf2p8mulb 0x12345678(%rax,%rcx,8),%xmm3");
    942	asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");
    943
    944	asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");
    945	asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");
    946	asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");
    947	asm volatile("vgf2p8mulb 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    948	asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    949
    950	/* AVX-512: Op code 0f 38 dc */
    951
    952	asm volatile("vaesenc %xmm1, %xmm2, %xmm3");
    953	asm volatile("vaesenc %ymm1, %ymm2, %ymm3");
    954	asm volatile("vaesenc %zmm1, %zmm2, %zmm3");
    955	asm volatile("vaesenc 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    956	asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    957
    958	/* AVX-512: Op code 0f 38 dd */
    959
    960	asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");
    961	asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");
    962	asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");
    963	asm volatile("vaesenclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    964	asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    965
    966	/* AVX-512: Op code 0f 38 de */
    967
    968	asm volatile("vaesdec %xmm1, %xmm2, %xmm3");
    969	asm volatile("vaesdec %ymm1, %ymm2, %ymm3");
    970	asm volatile("vaesdec %zmm1, %zmm2, %zmm3");
    971	asm volatile("vaesdec 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    972	asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    973
    974	/* AVX-512: Op code 0f 38 df */
    975
    976	asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");
    977	asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");
    978	asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");
    979	asm volatile("vaesdeclast 0x12345678(%rax,%rcx,8),%zmm2,%zmm3");
    980	asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
    981
    982	/* AVX-512: Op code 0f 3a 03 */
    983
    984	asm volatile("valignd $0x12,%zmm28,%zmm29,%zmm30");
    985	asm volatile("valignq $0x12,%zmm25,%zmm26,%zmm27");
    986
    987	/* AVX-512: Op code 0f 3a 08 */
    988
    989	asm volatile("vroundps $0x5,%ymm6,%ymm2");
    990	asm volatile("vrndscaleps $0x12,%zmm25,%zmm26");
    991
    992	/* AVX-512: Op code 0f 3a 09 */
    993
    994	asm volatile("vroundpd $0x5,%ymm6,%ymm2");
    995	asm volatile("vrndscalepd $0x12,%zmm25,%zmm26");
    996
    997	/* AVX-512: Op code 0f 3a 1a */
    998
    999	asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");
   1000	asm volatile("vrndscaless $0x12,%xmm24,%xmm25,%xmm26{%k7}");
   1001
   1002	/* AVX-512: Op code 0f 3a 0b */
   1003
   1004	asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");
   1005	asm volatile("vrndscalesd $0x12,%xmm24,%xmm25,%xmm26{%k7}");
   1006
   1007	/* AVX-512: Op code 0f 3a 18 */
   1008
   1009	asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");
   1010	asm volatile("vinsertf32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
   1011	asm volatile("vinsertf64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
   1012
   1013	/* AVX-512: Op code 0f 3a 19 */
   1014
   1015	asm volatile("vextractf128 $0x5,%ymm4,%xmm4");
   1016	asm volatile("vextractf32x4 $0x12,%zmm25,%xmm26{%k7}");
   1017	asm volatile("vextractf64x2 $0x12,%zmm25,%xmm26{%k7}");
   1018
   1019	/* AVX-512: Op code 0f 3a 1a */
   1020
   1021	asm volatile("vinsertf32x8 $0x12,%ymm25,%zmm26,%zmm27{%k7}");
   1022	asm volatile("vinsertf64x4 $0x12,%ymm28,%zmm29,%zmm30{%k7}");
   1023
   1024	/* AVX-512: Op code 0f 3a 1b */
   1025
   1026	asm volatile("vextractf32x8 $0x12,%zmm29,%ymm30{%k7}");
   1027	asm volatile("vextractf64x4 $0x12,%zmm26,%ymm27{%k7}");
   1028
   1029	/* AVX-512: Op code 0f 3a 1e */
   1030
   1031	asm volatile("vpcmpud $0x12,%zmm29,%zmm30,%k5");
   1032	asm volatile("vpcmpuq $0x12,%zmm26,%zmm27,%k5");
   1033
   1034	/* AVX-512: Op code 0f 3a 1f */
   1035
   1036	asm volatile("vpcmpd $0x12,%zmm29,%zmm30,%k5");
   1037	asm volatile("vpcmpq $0x12,%zmm26,%zmm27,%k5");
   1038
   1039	/* AVX-512: Op code 0f 3a 23 */
   1040
   1041	asm volatile("vshuff32x4 $0x12,%zmm28,%zmm29,%zmm30");
   1042	asm volatile("vshuff64x2 $0x12,%zmm25,%zmm26,%zmm27");
   1043
   1044	/* AVX-512: Op code 0f 3a 25 */
   1045
   1046	asm volatile("vpternlogd $0x12,%zmm28,%zmm29,%zmm30");
   1047	asm volatile("vpternlogq $0x12,%zmm28,%zmm29,%zmm30");
   1048
   1049	/* AVX-512: Op code 0f 3a 26 */
   1050
   1051	asm volatile("vgetmantps $0x12,%zmm26,%zmm27");
   1052	asm volatile("vgetmantpd $0x12,%zmm29,%zmm30");
   1053
   1054	/* AVX-512: Op code 0f 3a 27 */
   1055
   1056	asm volatile("vgetmantss $0x12,%xmm25,%xmm26,%xmm27{%k7}");
   1057	asm volatile("vgetmantsd $0x12,%xmm28,%xmm29,%xmm30{%k7}");
   1058
   1059	/* AVX-512: Op code 0f 3a 38 */
   1060
   1061	asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");
   1062	asm volatile("vinserti32x4 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
   1063	asm volatile("vinserti64x2 $0x12,%xmm24,%zmm25,%zmm26{%k7}");
   1064
   1065	/* AVX-512: Op code 0f 3a 39 */
   1066
   1067	asm volatile("vextracti128 $0x5,%ymm4,%xmm6");
   1068	asm volatile("vextracti32x4 $0x12,%zmm25,%xmm26{%k7}");
   1069	asm volatile("vextracti64x2 $0x12,%zmm25,%xmm26{%k7}");
   1070
   1071	/* AVX-512: Op code 0f 3a 3a */
   1072
   1073	asm volatile("vinserti32x8 $0x12,%ymm28,%zmm29,%zmm30{%k7}");
   1074	asm volatile("vinserti64x4 $0x12,%ymm25,%zmm26,%zmm27{%k7}");
   1075
   1076	/* AVX-512: Op code 0f 3a 3b */
   1077
   1078	asm volatile("vextracti32x8 $0x12,%zmm29,%ymm30{%k7}");
   1079	asm volatile("vextracti64x4 $0x12,%zmm26,%ymm27{%k7}");
   1080
   1081	/* AVX-512: Op code 0f 3a 3e */
   1082
   1083	asm volatile("vpcmpub $0x12,%zmm29,%zmm30,%k5");
   1084	asm volatile("vpcmpuw $0x12,%zmm26,%zmm27,%k5");
   1085
   1086	/* AVX-512: Op code 0f 3a 3f */
   1087
   1088	asm volatile("vpcmpb $0x12,%zmm29,%zmm30,%k5");
   1089	asm volatile("vpcmpw $0x12,%zmm26,%zmm27,%k5");
   1090
   1091	/* AVX-512: Op code 0f 3a 43 */
   1092
   1093	asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");
   1094	asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");
   1095
   1096	/* AVX-512: Op code 0f 3a 43 */
   1097
   1098	asm volatile("vshufi32x4 $0x12,%zmm25,%zmm26,%zmm27");
   1099	asm volatile("vshufi64x2 $0x12,%zmm28,%zmm29,%zmm30");
   1100
   1101	/* AVX-512: Op code 0f 3a 44 */
   1102
   1103	asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");
   1104	asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");
   1105	asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");
   1106	asm volatile("vpclmulqdq $0x12,%zmm25,%zmm26,%zmm27");
   1107
   1108	/* AVX-512: Op code 0f 3a 50 */
   1109
   1110	asm volatile("vrangeps $0x12,%zmm25,%zmm26,%zmm27");
   1111	asm volatile("vrangepd $0x12,%zmm28,%zmm29,%zmm30");
   1112
   1113	/* AVX-512: Op code 0f 3a 51 */
   1114
   1115	asm volatile("vrangess $0x12,%xmm25,%xmm26,%xmm27");
   1116	asm volatile("vrangesd $0x12,%xmm28,%xmm29,%xmm30");
   1117
   1118	/* AVX-512: Op code 0f 3a 54 */
   1119
   1120	asm volatile("vfixupimmps $0x12,%zmm28,%zmm29,%zmm30");
   1121	asm volatile("vfixupimmpd $0x12,%zmm25,%zmm26,%zmm27");
   1122
   1123	/* AVX-512: Op code 0f 3a 55 */
   1124
   1125	asm volatile("vfixupimmss $0x12,%xmm28,%xmm29,%xmm30{%k7}");
   1126	asm volatile("vfixupimmsd $0x12,%xmm25,%xmm26,%xmm27{%k7}");
   1127
   1128	/* AVX-512: Op code 0f 3a 56 */
   1129
   1130	asm volatile("vreduceps $0x12,%zmm26,%zmm27");
   1131	asm volatile("vreducepd $0x12,%zmm29,%zmm30");
   1132
   1133	/* AVX-512: Op code 0f 3a 57 */
   1134
   1135	asm volatile("vreducess $0x12,%xmm25,%xmm26,%xmm27");
   1136	asm volatile("vreducesd $0x12,%xmm28,%xmm29,%xmm30");
   1137
   1138	/* AVX-512: Op code 0f 3a 66 */
   1139
   1140	asm volatile("vfpclassps $0x12,%zmm27,%k5");
   1141	asm volatile("vfpclasspd $0x12,%zmm30,%k5");
   1142
   1143	/* AVX-512: Op code 0f 3a 67 */
   1144
   1145	asm volatile("vfpclassss $0x12,%xmm27,%k5");
   1146	asm volatile("vfpclasssd $0x12,%xmm30,%k5");
   1147
   1148	/* AVX-512: Op code 0f 3a 70 */
   1149
   1150	asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");
   1151	asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");
   1152	asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");
   1153	asm volatile("vpshldw $0x12,%zmm25,%zmm26,%zmm27");
   1154
   1155	/* AVX-512: Op code 0f 3a 71 */
   1156
   1157	asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");
   1158	asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");
   1159	asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");
   1160	asm volatile("vpshldd $0x12,%zmm25,%zmm26,%zmm27");
   1161
   1162	asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");
   1163	asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");
   1164	asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");
   1165	asm volatile("vpshldq $0x12,%zmm25,%zmm26,%zmm27");
   1166
   1167	/* AVX-512: Op code 0f 3a 72 */
   1168
   1169	asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");
   1170	asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");
   1171	asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");
   1172	asm volatile("vpshrdw $0x12,%zmm25,%zmm26,%zmm27");
   1173
   1174	/* AVX-512: Op code 0f 3a 73 */
   1175
   1176	asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");
   1177	asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");
   1178	asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");
   1179	asm volatile("vpshrdd $0x12,%zmm25,%zmm26,%zmm27");
   1180
   1181	asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");
   1182	asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");
   1183	asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");
   1184	asm volatile("vpshrdq $0x12,%zmm25,%zmm26,%zmm27");
   1185
   1186	/* AVX-512: Op code 0f 3a ce */
   1187
   1188	asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");
   1189
   1190	asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");
   1191	asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");
   1192	asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");
   1193	asm volatile("vgf2p8affineqb $0x12,%zmm25,%zmm26,%zmm27");
   1194
   1195	/* AVX-512: Op code 0f 3a cf */
   1196
   1197	asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");
   1198
   1199	asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");
   1200	asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");
   1201	asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");
   1202	asm volatile("vgf2p8affineinvqb $0x12,%zmm25,%zmm26,%zmm27");
   1203
   1204	/* AVX-512: Op code 0f 72 (Grp13) */
   1205
   1206	asm volatile("vprord $0x12,%zmm25,%zmm26");
   1207	asm volatile("vprorq $0x12,%zmm25,%zmm26");
   1208	asm volatile("vprold $0x12,%zmm29,%zmm30");
   1209	asm volatile("vprolq $0x12,%zmm29,%zmm30");
   1210	asm volatile("psrad  $0x2,%mm6");
   1211	asm volatile("vpsrad $0x5,%ymm6,%ymm2");
   1212	asm volatile("vpsrad $0x5,%zmm26,%zmm22");
   1213	asm volatile("vpsraq $0x5,%zmm26,%zmm22");
   1214
   1215	/* AVX-512: Op code 0f 38 c6 (Grp18) */
   1216
   1217	asm volatile("vgatherpf0dps 0x7b(%r14,%zmm31,8){%k1}");
   1218	asm volatile("vgatherpf0dpd 0x7b(%r14,%ymm31,8){%k1}");
   1219	asm volatile("vgatherpf1dps 0x7b(%r14,%zmm31,8){%k1}");
   1220	asm volatile("vgatherpf1dpd 0x7b(%r14,%ymm31,8){%k1}");
   1221	asm volatile("vscatterpf0dps 0x7b(%r14,%zmm31,8){%k1}");
   1222	asm volatile("vscatterpf0dpd 0x7b(%r14,%ymm31,8){%k1}");
   1223	asm volatile("vscatterpf1dps 0x7b(%r14,%zmm31,8){%k1}");
   1224	asm volatile("vscatterpf1dpd 0x7b(%r14,%ymm31,8){%k1}");
   1225
   1226	/* AVX-512: Op code 0f 38 c7 (Grp19) */
   1227
   1228	asm volatile("vgatherpf0qps 0x7b(%r14,%zmm31,8){%k1}");
   1229	asm volatile("vgatherpf0qpd 0x7b(%r14,%zmm31,8){%k1}");
   1230	asm volatile("vgatherpf1qps 0x7b(%r14,%zmm31,8){%k1}");
   1231	asm volatile("vgatherpf1qpd 0x7b(%r14,%zmm31,8){%k1}");
   1232	asm volatile("vscatterpf0qps 0x7b(%r14,%zmm31,8){%k1}");
   1233	asm volatile("vscatterpf0qpd 0x7b(%r14,%zmm31,8){%k1}");
   1234	asm volatile("vscatterpf1qps 0x7b(%r14,%zmm31,8){%k1}");
   1235	asm volatile("vscatterpf1qpd 0x7b(%r14,%zmm31,8){%k1}");
   1236
   1237	/* AVX-512: Examples */
   1238
   1239	asm volatile("vaddpd %zmm28,%zmm29,%zmm30");
   1240	asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}");
   1241	asm volatile("vaddpd %zmm28,%zmm29,%zmm30{%k7}{z}");
   1242	asm volatile("vaddpd {rn-sae},%zmm28,%zmm29,%zmm30");
   1243	asm volatile("vaddpd {ru-sae},%zmm28,%zmm29,%zmm30");
   1244	asm volatile("vaddpd {rd-sae},%zmm28,%zmm29,%zmm30");
   1245	asm volatile("vaddpd {rz-sae},%zmm28,%zmm29,%zmm30");
   1246	asm volatile("vaddpd (%rcx),%zmm29,%zmm30");
   1247	asm volatile("vaddpd 0x123(%rax,%r14,8),%zmm29,%zmm30");
   1248	asm volatile("vaddpd (%rcx){1to8},%zmm29,%zmm30");
   1249	asm volatile("vaddpd 0x1fc0(%rdx),%zmm29,%zmm30");
   1250	asm volatile("vaddpd 0x3f8(%rdx){1to8},%zmm29,%zmm30");
   1251	asm volatile("vcmpeq_uqps 0x1fc(%rdx){1to16},%zmm30,%k5");
   1252	asm volatile("vcmpltsd 0x123(%rax,%r14,8),%xmm29,%k5{%k7}");
   1253	asm volatile("vcmplesd {sae},%xmm28,%xmm29,%k5{%k7}");
   1254	asm volatile("vgetmantss $0x5b,0x123(%rax,%r14,8),%xmm29,%xmm30{%k7}");
   1255
   1256	/* bndmk m64, bnd */
   1257
   1258	asm volatile("bndmk (%rax), %bnd0");
   1259	asm volatile("bndmk (%r8), %bnd0");
   1260	asm volatile("bndmk (0x12345678), %bnd0");
   1261	asm volatile("bndmk (%rax), %bnd3");
   1262	asm volatile("bndmk (%rcx,%rax,1), %bnd0");
   1263	asm volatile("bndmk 0x12345678(,%rax,1), %bnd0");
   1264	asm volatile("bndmk (%rax,%rcx,1), %bnd0");
   1265	asm volatile("bndmk (%rax,%rcx,8), %bnd0");
   1266	asm volatile("bndmk 0x12(%rax), %bnd0");
   1267	asm volatile("bndmk 0x12(%rbp), %bnd0");
   1268	asm volatile("bndmk 0x12(%rcx,%rax,1), %bnd0");
   1269	asm volatile("bndmk 0x12(%rbp,%rax,1), %bnd0");
   1270	asm volatile("bndmk 0x12(%rax,%rcx,1), %bnd0");
   1271	asm volatile("bndmk 0x12(%rax,%rcx,8), %bnd0");
   1272	asm volatile("bndmk 0x12345678(%rax), %bnd0");
   1273	asm volatile("bndmk 0x12345678(%rbp), %bnd0");
   1274	asm volatile("bndmk 0x12345678(%rcx,%rax,1), %bnd0");
   1275	asm volatile("bndmk 0x12345678(%rbp,%rax,1), %bnd0");
   1276	asm volatile("bndmk 0x12345678(%rax,%rcx,1), %bnd0");
   1277	asm volatile("bndmk 0x12345678(%rax,%rcx,8), %bnd0");
   1278
   1279	/* bndcl r/m64, bnd */
   1280
   1281	asm volatile("bndcl (%rax), %bnd0");
   1282	asm volatile("bndcl (%r8), %bnd0");
   1283	asm volatile("bndcl (0x12345678), %bnd0");
   1284	asm volatile("bndcl (%rax), %bnd3");
   1285	asm volatile("bndcl (%rcx,%rax,1), %bnd0");
   1286	asm volatile("bndcl 0x12345678(,%rax,1), %bnd0");
   1287	asm volatile("bndcl (%rax,%rcx,1), %bnd0");
   1288	asm volatile("bndcl (%rax,%rcx,8), %bnd0");
   1289	asm volatile("bndcl 0x12(%rax), %bnd0");
   1290	asm volatile("bndcl 0x12(%rbp), %bnd0");
   1291	asm volatile("bndcl 0x12(%rcx,%rax,1), %bnd0");
   1292	asm volatile("bndcl 0x12(%rbp,%rax,1), %bnd0");
   1293	asm volatile("bndcl 0x12(%rax,%rcx,1), %bnd0");
   1294	asm volatile("bndcl 0x12(%rax,%rcx,8), %bnd0");
   1295	asm volatile("bndcl 0x12345678(%rax), %bnd0");
   1296	asm volatile("bndcl 0x12345678(%rbp), %bnd0");
   1297	asm volatile("bndcl 0x12345678(%rcx,%rax,1), %bnd0");
   1298	asm volatile("bndcl 0x12345678(%rbp,%rax,1), %bnd0");
   1299	asm volatile("bndcl 0x12345678(%rax,%rcx,1), %bnd0");
   1300	asm volatile("bndcl 0x12345678(%rax,%rcx,8), %bnd0");
   1301	asm volatile("bndcl %rax, %bnd0");
   1302
   1303	/* bndcu r/m64, bnd */
   1304
   1305	asm volatile("bndcu (%rax), %bnd0");
   1306	asm volatile("bndcu (%r8), %bnd0");
   1307	asm volatile("bndcu (0x12345678), %bnd0");
   1308	asm volatile("bndcu (%rax), %bnd3");
   1309	asm volatile("bndcu (%rcx,%rax,1), %bnd0");
   1310	asm volatile("bndcu 0x12345678(,%rax,1), %bnd0");
   1311	asm volatile("bndcu (%rax,%rcx,1), %bnd0");
   1312	asm volatile("bndcu (%rax,%rcx,8), %bnd0");
   1313	asm volatile("bndcu 0x12(%rax), %bnd0");
   1314	asm volatile("bndcu 0x12(%rbp), %bnd0");
   1315	asm volatile("bndcu 0x12(%rcx,%rax,1), %bnd0");
   1316	asm volatile("bndcu 0x12(%rbp,%rax,1), %bnd0");
   1317	asm volatile("bndcu 0x12(%rax,%rcx,1), %bnd0");
   1318	asm volatile("bndcu 0x12(%rax,%rcx,8), %bnd0");
   1319	asm volatile("bndcu 0x12345678(%rax), %bnd0");
   1320	asm volatile("bndcu 0x12345678(%rbp), %bnd0");
   1321	asm volatile("bndcu 0x12345678(%rcx,%rax,1), %bnd0");
   1322	asm volatile("bndcu 0x12345678(%rbp,%rax,1), %bnd0");
   1323	asm volatile("bndcu 0x12345678(%rax,%rcx,1), %bnd0");
   1324	asm volatile("bndcu 0x12345678(%rax,%rcx,8), %bnd0");
   1325	asm volatile("bndcu %rax, %bnd0");
   1326
   1327	/* bndcn r/m64, bnd */
   1328
   1329	asm volatile("bndcn (%rax), %bnd0");
   1330	asm volatile("bndcn (%r8), %bnd0");
   1331	asm volatile("bndcn (0x12345678), %bnd0");
   1332	asm volatile("bndcn (%rax), %bnd3");
   1333	asm volatile("bndcn (%rcx,%rax,1), %bnd0");
   1334	asm volatile("bndcn 0x12345678(,%rax,1), %bnd0");
   1335	asm volatile("bndcn (%rax,%rcx,1), %bnd0");
   1336	asm volatile("bndcn (%rax,%rcx,8), %bnd0");
   1337	asm volatile("bndcn 0x12(%rax), %bnd0");
   1338	asm volatile("bndcn 0x12(%rbp), %bnd0");
   1339	asm volatile("bndcn 0x12(%rcx,%rax,1), %bnd0");
   1340	asm volatile("bndcn 0x12(%rbp,%rax,1), %bnd0");
   1341	asm volatile("bndcn 0x12(%rax,%rcx,1), %bnd0");
   1342	asm volatile("bndcn 0x12(%rax,%rcx,8), %bnd0");
   1343	asm volatile("bndcn 0x12345678(%rax), %bnd0");
   1344	asm volatile("bndcn 0x12345678(%rbp), %bnd0");
   1345	asm volatile("bndcn 0x12345678(%rcx,%rax,1), %bnd0");
   1346	asm volatile("bndcn 0x12345678(%rbp,%rax,1), %bnd0");
   1347	asm volatile("bndcn 0x12345678(%rax,%rcx,1), %bnd0");
   1348	asm volatile("bndcn 0x12345678(%rax,%rcx,8), %bnd0");
   1349	asm volatile("bndcn %rax, %bnd0");
   1350
   1351	/* bndmov m128, bnd */
   1352
   1353	asm volatile("bndmov (%rax), %bnd0");
   1354	asm volatile("bndmov (%r8), %bnd0");
   1355	asm volatile("bndmov (0x12345678), %bnd0");
   1356	asm volatile("bndmov (%rax), %bnd3");
   1357	asm volatile("bndmov (%rcx,%rax,1), %bnd0");
   1358	asm volatile("bndmov 0x12345678(,%rax,1), %bnd0");
   1359	asm volatile("bndmov (%rax,%rcx,1), %bnd0");
   1360	asm volatile("bndmov (%rax,%rcx,8), %bnd0");
   1361	asm volatile("bndmov 0x12(%rax), %bnd0");
   1362	asm volatile("bndmov 0x12(%rbp), %bnd0");
   1363	asm volatile("bndmov 0x12(%rcx,%rax,1), %bnd0");
   1364	asm volatile("bndmov 0x12(%rbp,%rax,1), %bnd0");
   1365	asm volatile("bndmov 0x12(%rax,%rcx,1), %bnd0");
   1366	asm volatile("bndmov 0x12(%rax,%rcx,8), %bnd0");
   1367	asm volatile("bndmov 0x12345678(%rax), %bnd0");
   1368	asm volatile("bndmov 0x12345678(%rbp), %bnd0");
   1369	asm volatile("bndmov 0x12345678(%rcx,%rax,1), %bnd0");
   1370	asm volatile("bndmov 0x12345678(%rbp,%rax,1), %bnd0");
   1371	asm volatile("bndmov 0x12345678(%rax,%rcx,1), %bnd0");
   1372	asm volatile("bndmov 0x12345678(%rax,%rcx,8), %bnd0");
   1373
   1374	/* bndmov bnd, m128 */
   1375
   1376	asm volatile("bndmov %bnd0, (%rax)");
   1377	asm volatile("bndmov %bnd0, (%r8)");
   1378	asm volatile("bndmov %bnd0, (0x12345678)");
   1379	asm volatile("bndmov %bnd3, (%rax)");
   1380	asm volatile("bndmov %bnd0, (%rcx,%rax,1)");
   1381	asm volatile("bndmov %bnd0, 0x12345678(,%rax,1)");
   1382	asm volatile("bndmov %bnd0, (%rax,%rcx,1)");
   1383	asm volatile("bndmov %bnd0, (%rax,%rcx,8)");
   1384	asm volatile("bndmov %bnd0, 0x12(%rax)");
   1385	asm volatile("bndmov %bnd0, 0x12(%rbp)");
   1386	asm volatile("bndmov %bnd0, 0x12(%rcx,%rax,1)");
   1387	asm volatile("bndmov %bnd0, 0x12(%rbp,%rax,1)");
   1388	asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,1)");
   1389	asm volatile("bndmov %bnd0, 0x12(%rax,%rcx,8)");
   1390	asm volatile("bndmov %bnd0, 0x12345678(%rax)");
   1391	asm volatile("bndmov %bnd0, 0x12345678(%rbp)");
   1392	asm volatile("bndmov %bnd0, 0x12345678(%rcx,%rax,1)");
   1393	asm volatile("bndmov %bnd0, 0x12345678(%rbp,%rax,1)");
   1394	asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,1)");
   1395	asm volatile("bndmov %bnd0, 0x12345678(%rax,%rcx,8)");
   1396
   1397	/* bndmov bnd2, bnd1 */
   1398
   1399	asm volatile("bndmov %bnd0, %bnd1");
   1400	asm volatile("bndmov %bnd1, %bnd0");
   1401
   1402	/* bndldx mib, bnd */
   1403
   1404	asm volatile("bndldx (%rax), %bnd0");
   1405	asm volatile("bndldx (%r8), %bnd0");
   1406	asm volatile("bndldx (0x12345678), %bnd0");
   1407	asm volatile("bndldx (%rax), %bnd3");
   1408	asm volatile("bndldx (%rcx,%rax,1), %bnd0");
   1409	asm volatile("bndldx 0x12345678(,%rax,1), %bnd0");
   1410	asm volatile("bndldx (%rax,%rcx,1), %bnd0");
   1411	asm volatile("bndldx 0x12(%rax), %bnd0");
   1412	asm volatile("bndldx 0x12(%rbp), %bnd0");
   1413	asm volatile("bndldx 0x12(%rcx,%rax,1), %bnd0");
   1414	asm volatile("bndldx 0x12(%rbp,%rax,1), %bnd0");
   1415	asm volatile("bndldx 0x12(%rax,%rcx,1), %bnd0");
   1416	asm volatile("bndldx 0x12345678(%rax), %bnd0");
   1417	asm volatile("bndldx 0x12345678(%rbp), %bnd0");
   1418	asm volatile("bndldx 0x12345678(%rcx,%rax,1), %bnd0");
   1419	asm volatile("bndldx 0x12345678(%rbp,%rax,1), %bnd0");
   1420	asm volatile("bndldx 0x12345678(%rax,%rcx,1), %bnd0");
   1421
   1422	/* bndstx bnd, mib */
   1423
   1424	asm volatile("bndstx %bnd0, (%rax)");
   1425	asm volatile("bndstx %bnd0, (%r8)");
   1426	asm volatile("bndstx %bnd0, (0x12345678)");
   1427	asm volatile("bndstx %bnd3, (%rax)");
   1428	asm volatile("bndstx %bnd0, (%rcx,%rax,1)");
   1429	asm volatile("bndstx %bnd0, 0x12345678(,%rax,1)");
   1430	asm volatile("bndstx %bnd0, (%rax,%rcx,1)");
   1431	asm volatile("bndstx %bnd0, 0x12(%rax)");
   1432	asm volatile("bndstx %bnd0, 0x12(%rbp)");
   1433	asm volatile("bndstx %bnd0, 0x12(%rcx,%rax,1)");
   1434	asm volatile("bndstx %bnd0, 0x12(%rbp,%rax,1)");
   1435	asm volatile("bndstx %bnd0, 0x12(%rax,%rcx,1)");
   1436	asm volatile("bndstx %bnd0, 0x12345678(%rax)");
   1437	asm volatile("bndstx %bnd0, 0x12345678(%rbp)");
   1438	asm volatile("bndstx %bnd0, 0x12345678(%rcx,%rax,1)");
   1439	asm volatile("bndstx %bnd0, 0x12345678(%rbp,%rax,1)");
   1440	asm volatile("bndstx %bnd0, 0x12345678(%rax,%rcx,1)");
   1441
   1442	/* bnd prefix on call, ret, jmp and all jcc */
   1443
   1444	asm volatile("bnd call label1");  /* Expecting: call unconditional 0 */
   1445	asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */
   1446	asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */
   1447	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0 */
   1448	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0 */
   1449	asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */
   1450	asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0 */
   1451
   1452	/* sha1rnds4 imm8, xmm2/m128, xmm1 */
   1453
   1454	asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");
   1455	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");
   1456	asm volatile("sha1rnds4 $0x91, %xmm8, %xmm0");
   1457	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm8");
   1458	asm volatile("sha1rnds4 $0x91, %xmm15, %xmm8");
   1459	asm volatile("sha1rnds4 $0x91, (%rax), %xmm0");
   1460	asm volatile("sha1rnds4 $0x91, (%r8), %xmm0");
   1461	asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");
   1462	asm volatile("sha1rnds4 $0x91, (%rax), %xmm3");
   1463	asm volatile("sha1rnds4 $0x91, (%rcx,%rax,1), %xmm0");
   1464	asm volatile("sha1rnds4 $0x91, 0x12345678(,%rax,1), %xmm0");
   1465	asm volatile("sha1rnds4 $0x91, (%rax,%rcx,1), %xmm0");
   1466	asm volatile("sha1rnds4 $0x91, (%rax,%rcx,8), %xmm0");
   1467	asm volatile("sha1rnds4 $0x91, 0x12(%rax), %xmm0");
   1468	asm volatile("sha1rnds4 $0x91, 0x12(%rbp), %xmm0");
   1469	asm volatile("sha1rnds4 $0x91, 0x12(%rcx,%rax,1), %xmm0");
   1470	asm volatile("sha1rnds4 $0x91, 0x12(%rbp,%rax,1), %xmm0");
   1471	asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,1), %xmm0");
   1472	asm volatile("sha1rnds4 $0x91, 0x12(%rax,%rcx,8), %xmm0");
   1473	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax), %xmm0");
   1474	asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp), %xmm0");
   1475	asm volatile("sha1rnds4 $0x91, 0x12345678(%rcx,%rax,1), %xmm0");
   1476	asm volatile("sha1rnds4 $0x91, 0x12345678(%rbp,%rax,1), %xmm0");
   1477	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,1), %xmm0");
   1478	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm0");
   1479	asm volatile("sha1rnds4 $0x91, 0x12345678(%rax,%rcx,8), %xmm15");
   1480
   1481	/* sha1nexte xmm2/m128, xmm1 */
   1482
   1483	asm volatile("sha1nexte %xmm1, %xmm0");
   1484	asm volatile("sha1nexte %xmm7, %xmm2");
   1485	asm volatile("sha1nexte %xmm8, %xmm0");
   1486	asm volatile("sha1nexte %xmm7, %xmm8");
   1487	asm volatile("sha1nexte %xmm15, %xmm8");
   1488	asm volatile("sha1nexte (%rax), %xmm0");
   1489	asm volatile("sha1nexte (%r8), %xmm0");
   1490	asm volatile("sha1nexte (0x12345678), %xmm0");
   1491	asm volatile("sha1nexte (%rax), %xmm3");
   1492	asm volatile("sha1nexte (%rcx,%rax,1), %xmm0");
   1493	asm volatile("sha1nexte 0x12345678(,%rax,1), %xmm0");
   1494	asm volatile("sha1nexte (%rax,%rcx,1), %xmm0");
   1495	asm volatile("sha1nexte (%rax,%rcx,8), %xmm0");
   1496	asm volatile("sha1nexte 0x12(%rax), %xmm0");
   1497	asm volatile("sha1nexte 0x12(%rbp), %xmm0");
   1498	asm volatile("sha1nexte 0x12(%rcx,%rax,1), %xmm0");
   1499	asm volatile("sha1nexte 0x12(%rbp,%rax,1), %xmm0");
   1500	asm volatile("sha1nexte 0x12(%rax,%rcx,1), %xmm0");
   1501	asm volatile("sha1nexte 0x12(%rax,%rcx,8), %xmm0");
   1502	asm volatile("sha1nexte 0x12345678(%rax), %xmm0");
   1503	asm volatile("sha1nexte 0x12345678(%rbp), %xmm0");
   1504	asm volatile("sha1nexte 0x12345678(%rcx,%rax,1), %xmm0");
   1505	asm volatile("sha1nexte 0x12345678(%rbp,%rax,1), %xmm0");
   1506	asm volatile("sha1nexte 0x12345678(%rax,%rcx,1), %xmm0");
   1507	asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm0");
   1508	asm volatile("sha1nexte 0x12345678(%rax,%rcx,8), %xmm15");
   1509
   1510	/* sha1msg1 xmm2/m128, xmm1 */
   1511
   1512	asm volatile("sha1msg1 %xmm1, %xmm0");
   1513	asm volatile("sha1msg1 %xmm7, %xmm2");
   1514	asm volatile("sha1msg1 %xmm8, %xmm0");
   1515	asm volatile("sha1msg1 %xmm7, %xmm8");
   1516	asm volatile("sha1msg1 %xmm15, %xmm8");
   1517	asm volatile("sha1msg1 (%rax), %xmm0");
   1518	asm volatile("sha1msg1 (%r8), %xmm0");
   1519	asm volatile("sha1msg1 (0x12345678), %xmm0");
   1520	asm volatile("sha1msg1 (%rax), %xmm3");
   1521	asm volatile("sha1msg1 (%rcx,%rax,1), %xmm0");
   1522	asm volatile("sha1msg1 0x12345678(,%rax,1), %xmm0");
   1523	asm volatile("sha1msg1 (%rax,%rcx,1), %xmm0");
   1524	asm volatile("sha1msg1 (%rax,%rcx,8), %xmm0");
   1525	asm volatile("sha1msg1 0x12(%rax), %xmm0");
   1526	asm volatile("sha1msg1 0x12(%rbp), %xmm0");
   1527	asm volatile("sha1msg1 0x12(%rcx,%rax,1), %xmm0");
   1528	asm volatile("sha1msg1 0x12(%rbp,%rax,1), %xmm0");
   1529	asm volatile("sha1msg1 0x12(%rax,%rcx,1), %xmm0");
   1530	asm volatile("sha1msg1 0x12(%rax,%rcx,8), %xmm0");
   1531	asm volatile("sha1msg1 0x12345678(%rax), %xmm0");
   1532	asm volatile("sha1msg1 0x12345678(%rbp), %xmm0");
   1533	asm volatile("sha1msg1 0x12345678(%rcx,%rax,1), %xmm0");
   1534	asm volatile("sha1msg1 0x12345678(%rbp,%rax,1), %xmm0");
   1535	asm volatile("sha1msg1 0x12345678(%rax,%rcx,1), %xmm0");
   1536	asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm0");
   1537	asm volatile("sha1msg1 0x12345678(%rax,%rcx,8), %xmm15");
   1538
   1539	/* sha1msg2 xmm2/m128, xmm1 */
   1540
   1541	asm volatile("sha1msg2 %xmm1, %xmm0");
   1542	asm volatile("sha1msg2 %xmm7, %xmm2");
   1543	asm volatile("sha1msg2 %xmm8, %xmm0");
   1544	asm volatile("sha1msg2 %xmm7, %xmm8");
   1545	asm volatile("sha1msg2 %xmm15, %xmm8");
   1546	asm volatile("sha1msg2 (%rax), %xmm0");
   1547	asm volatile("sha1msg2 (%r8), %xmm0");
   1548	asm volatile("sha1msg2 (0x12345678), %xmm0");
   1549	asm volatile("sha1msg2 (%rax), %xmm3");
   1550	asm volatile("sha1msg2 (%rcx,%rax,1), %xmm0");
   1551	asm volatile("sha1msg2 0x12345678(,%rax,1), %xmm0");
   1552	asm volatile("sha1msg2 (%rax,%rcx,1), %xmm0");
   1553	asm volatile("sha1msg2 (%rax,%rcx,8), %xmm0");
   1554	asm volatile("sha1msg2 0x12(%rax), %xmm0");
   1555	asm volatile("sha1msg2 0x12(%rbp), %xmm0");
   1556	asm volatile("sha1msg2 0x12(%rcx,%rax,1), %xmm0");
   1557	asm volatile("sha1msg2 0x12(%rbp,%rax,1), %xmm0");
   1558	asm volatile("sha1msg2 0x12(%rax,%rcx,1), %xmm0");
   1559	asm volatile("sha1msg2 0x12(%rax,%rcx,8), %xmm0");
   1560	asm volatile("sha1msg2 0x12345678(%rax), %xmm0");
   1561	asm volatile("sha1msg2 0x12345678(%rbp), %xmm0");
   1562	asm volatile("sha1msg2 0x12345678(%rcx,%rax,1), %xmm0");
   1563	asm volatile("sha1msg2 0x12345678(%rbp,%rax,1), %xmm0");
   1564	asm volatile("sha1msg2 0x12345678(%rax,%rcx,1), %xmm0");
   1565	asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm0");
   1566	asm volatile("sha1msg2 0x12345678(%rax,%rcx,8), %xmm15");
   1567
   1568	/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */
   1569	/* Note sha256rnds2 has an implicit operand 'xmm0' */
   1570
   1571	asm volatile("sha256rnds2 %xmm4, %xmm1");
   1572	asm volatile("sha256rnds2 %xmm7, %xmm2");
   1573	asm volatile("sha256rnds2 %xmm8, %xmm1");
   1574	asm volatile("sha256rnds2 %xmm7, %xmm8");
   1575	asm volatile("sha256rnds2 %xmm15, %xmm8");
   1576	asm volatile("sha256rnds2 (%rax), %xmm1");
   1577	asm volatile("sha256rnds2 (%r8), %xmm1");
   1578	asm volatile("sha256rnds2 (0x12345678), %xmm1");
   1579	asm volatile("sha256rnds2 (%rax), %xmm3");
   1580	asm volatile("sha256rnds2 (%rcx,%rax,1), %xmm1");
   1581	asm volatile("sha256rnds2 0x12345678(,%rax,1), %xmm1");
   1582	asm volatile("sha256rnds2 (%rax,%rcx,1), %xmm1");
   1583	asm volatile("sha256rnds2 (%rax,%rcx,8), %xmm1");
   1584	asm volatile("sha256rnds2 0x12(%rax), %xmm1");
   1585	asm volatile("sha256rnds2 0x12(%rbp), %xmm1");
   1586	asm volatile("sha256rnds2 0x12(%rcx,%rax,1), %xmm1");
   1587	asm volatile("sha256rnds2 0x12(%rbp,%rax,1), %xmm1");
   1588	asm volatile("sha256rnds2 0x12(%rax,%rcx,1), %xmm1");
   1589	asm volatile("sha256rnds2 0x12(%rax,%rcx,8), %xmm1");
   1590	asm volatile("sha256rnds2 0x12345678(%rax), %xmm1");
   1591	asm volatile("sha256rnds2 0x12345678(%rbp), %xmm1");
   1592	asm volatile("sha256rnds2 0x12345678(%rcx,%rax,1), %xmm1");
   1593	asm volatile("sha256rnds2 0x12345678(%rbp,%rax,1), %xmm1");
   1594	asm volatile("sha256rnds2 0x12345678(%rax,%rcx,1), %xmm1");
   1595	asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm1");
   1596	asm volatile("sha256rnds2 0x12345678(%rax,%rcx,8), %xmm15");
   1597
   1598	/* sha256msg1 xmm2/m128, xmm1 */
   1599
   1600	asm volatile("sha256msg1 %xmm1, %xmm0");
   1601	asm volatile("sha256msg1 %xmm7, %xmm2");
   1602	asm volatile("sha256msg1 %xmm8, %xmm0");
   1603	asm volatile("sha256msg1 %xmm7, %xmm8");
   1604	asm volatile("sha256msg1 %xmm15, %xmm8");
   1605	asm volatile("sha256msg1 (%rax), %xmm0");
   1606	asm volatile("sha256msg1 (%r8), %xmm0");
   1607	asm volatile("sha256msg1 (0x12345678), %xmm0");
   1608	asm volatile("sha256msg1 (%rax), %xmm3");
   1609	asm volatile("sha256msg1 (%rcx,%rax,1), %xmm0");
   1610	asm volatile("sha256msg1 0x12345678(,%rax,1), %xmm0");
   1611	asm volatile("sha256msg1 (%rax,%rcx,1), %xmm0");
   1612	asm volatile("sha256msg1 (%rax,%rcx,8), %xmm0");
   1613	asm volatile("sha256msg1 0x12(%rax), %xmm0");
   1614	asm volatile("sha256msg1 0x12(%rbp), %xmm0");
   1615	asm volatile("sha256msg1 0x12(%rcx,%rax,1), %xmm0");
   1616	asm volatile("sha256msg1 0x12(%rbp,%rax,1), %xmm0");
   1617	asm volatile("sha256msg1 0x12(%rax,%rcx,1), %xmm0");
   1618	asm volatile("sha256msg1 0x12(%rax,%rcx,8), %xmm0");
   1619	asm volatile("sha256msg1 0x12345678(%rax), %xmm0");
   1620	asm volatile("sha256msg1 0x12345678(%rbp), %xmm0");
   1621	asm volatile("sha256msg1 0x12345678(%rcx,%rax,1), %xmm0");
   1622	asm volatile("sha256msg1 0x12345678(%rbp,%rax,1), %xmm0");
   1623	asm volatile("sha256msg1 0x12345678(%rax,%rcx,1), %xmm0");
   1624	asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm0");
   1625	asm volatile("sha256msg1 0x12345678(%rax,%rcx,8), %xmm15");
   1626
   1627	/* sha256msg2 xmm2/m128, xmm1 */
   1628
   1629	asm volatile("sha256msg2 %xmm1, %xmm0");
   1630	asm volatile("sha256msg2 %xmm7, %xmm2");
   1631	asm volatile("sha256msg2 %xmm8, %xmm0");
   1632	asm volatile("sha256msg2 %xmm7, %xmm8");
   1633	asm volatile("sha256msg2 %xmm15, %xmm8");
   1634	asm volatile("sha256msg2 (%rax), %xmm0");
   1635	asm volatile("sha256msg2 (%r8), %xmm0");
   1636	asm volatile("sha256msg2 (0x12345678), %xmm0");
   1637	asm volatile("sha256msg2 (%rax), %xmm3");
   1638	asm volatile("sha256msg2 (%rcx,%rax,1), %xmm0");
   1639	asm volatile("sha256msg2 0x12345678(,%rax,1), %xmm0");
   1640	asm volatile("sha256msg2 (%rax,%rcx,1), %xmm0");
   1641	asm volatile("sha256msg2 (%rax,%rcx,8), %xmm0");
   1642	asm volatile("sha256msg2 0x12(%rax), %xmm0");
   1643	asm volatile("sha256msg2 0x12(%rbp), %xmm0");
   1644	asm volatile("sha256msg2 0x12(%rcx,%rax,1), %xmm0");
   1645	asm volatile("sha256msg2 0x12(%rbp,%rax,1), %xmm0");
   1646	asm volatile("sha256msg2 0x12(%rax,%rcx,1), %xmm0");
   1647	asm volatile("sha256msg2 0x12(%rax,%rcx,8), %xmm0");
   1648	asm volatile("sha256msg2 0x12345678(%rax), %xmm0");
   1649	asm volatile("sha256msg2 0x12345678(%rbp), %xmm0");
   1650	asm volatile("sha256msg2 0x12345678(%rcx,%rax,1), %xmm0");
   1651	asm volatile("sha256msg2 0x12345678(%rbp,%rax,1), %xmm0");
   1652	asm volatile("sha256msg2 0x12345678(%rax,%rcx,1), %xmm0");
   1653	asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm0");
   1654	asm volatile("sha256msg2 0x12345678(%rax,%rcx,8), %xmm15");
   1655
   1656	/* clflushopt m8 */
   1657
   1658	asm volatile("clflushopt (%rax)");
   1659	asm volatile("clflushopt (%r8)");
   1660	asm volatile("clflushopt (0x12345678)");
   1661	asm volatile("clflushopt 0x12345678(%rax,%rcx,8)");
   1662	asm volatile("clflushopt 0x12345678(%r8,%rcx,8)");
   1663	/* Also check instructions in the same group encoding as clflushopt */
   1664	asm volatile("clflush (%rax)");
   1665	asm volatile("clflush (%r8)");
   1666	asm volatile("sfence");
   1667
   1668	/* clwb m8 */
   1669
   1670	asm volatile("clwb (%rax)");
   1671	asm volatile("clwb (%r8)");
   1672	asm volatile("clwb (0x12345678)");
   1673	asm volatile("clwb 0x12345678(%rax,%rcx,8)");
   1674	asm volatile("clwb 0x12345678(%r8,%rcx,8)");
   1675	/* Also check instructions in the same group encoding as clwb */
   1676	asm volatile("xsaveopt (%rax)");
   1677	asm volatile("xsaveopt (%r8)");
   1678	asm volatile("mfence");
   1679
   1680	/* cldemote m8 */
   1681
   1682	asm volatile("cldemote (%rax)");
   1683	asm volatile("cldemote (%r8)");
   1684	asm volatile("cldemote (0x12345678)");
   1685	asm volatile("cldemote 0x12345678(%rax,%rcx,8)");
   1686	asm volatile("cldemote 0x12345678(%r8,%rcx,8)");
   1687
   1688	/* xsavec mem */
   1689
   1690	asm volatile("xsavec (%rax)");
   1691	asm volatile("xsavec (%r8)");
   1692	asm volatile("xsavec (0x12345678)");
   1693	asm volatile("xsavec 0x12345678(%rax,%rcx,8)");
   1694	asm volatile("xsavec 0x12345678(%r8,%rcx,8)");
   1695
   1696	/* xsaves mem */
   1697
   1698	asm volatile("xsaves (%rax)");
   1699	asm volatile("xsaves (%r8)");
   1700	asm volatile("xsaves (0x12345678)");
   1701	asm volatile("xsaves 0x12345678(%rax,%rcx,8)");
   1702	asm volatile("xsaves 0x12345678(%r8,%rcx,8)");
   1703
   1704	/* xrstors mem */
   1705
   1706	asm volatile("xrstors (%rax)");
   1707	asm volatile("xrstors (%r8)");
   1708	asm volatile("xrstors (0x12345678)");
   1709	asm volatile("xrstors 0x12345678(%rax,%rcx,8)");
   1710	asm volatile("xrstors 0x12345678(%r8,%rcx,8)");
   1711
   1712	/* ptwrite */
   1713
   1714	asm volatile("ptwrite (%rax)");
   1715	asm volatile("ptwrite (%r8)");
   1716	asm volatile("ptwrite (0x12345678)");
   1717	asm volatile("ptwrite 0x12345678(%rax,%rcx,8)");
   1718	asm volatile("ptwrite 0x12345678(%r8,%rcx,8)");
   1719
   1720	asm volatile("ptwritel (%rax)");
   1721	asm volatile("ptwritel (%r8)");
   1722	asm volatile("ptwritel (0x12345678)");
   1723	asm volatile("ptwritel 0x12345678(%rax,%rcx,8)");
   1724	asm volatile("ptwritel 0x12345678(%r8,%rcx,8)");
   1725
   1726	asm volatile("ptwriteq (%rax)");
   1727	asm volatile("ptwriteq (%r8)");
   1728	asm volatile("ptwriteq (0x12345678)");
   1729	asm volatile("ptwriteq 0x12345678(%rax,%rcx,8)");
   1730	asm volatile("ptwriteq 0x12345678(%r8,%rcx,8)");
   1731
   1732	/* tpause */
   1733
   1734	asm volatile("tpause %ebx");
   1735	asm volatile("tpause %r8d");
   1736
   1737	/* umonitor */
   1738
   1739	asm volatile("umonitor %eax");
   1740	asm volatile("umonitor %rax");
   1741	asm volatile("umonitor %r8d");
   1742
   1743	/* umwait */
   1744
   1745	asm volatile("umwait %eax");
   1746	asm volatile("umwait %r8d");
   1747
   1748	/* movdiri */
   1749
   1750	asm volatile("movdiri %rax,(%rbx)");
   1751	asm volatile("movdiri %rcx,0x12345678(%rax)");
   1752
   1753	/* movdir64b */
   1754
   1755	asm volatile("movdir64b (%rax),%rbx");
   1756	asm volatile("movdir64b 0x12345678(%rax),%rcx");
   1757	asm volatile("movdir64b (%eax),%ebx");
   1758	asm volatile("movdir64b 0x12345678(%eax),%ecx");
   1759
   1760	/* enqcmd */
   1761
   1762	asm volatile("enqcmd (%rax),%rbx");
   1763	asm volatile("enqcmd 0x12345678(%rax),%rcx");
   1764	asm volatile("enqcmd (%eax),%ebx");
   1765	asm volatile("enqcmd 0x12345678(%eax),%ecx");
   1766
   1767	/* enqcmds */
   1768
   1769	asm volatile("enqcmds (%rax),%rbx");
   1770	asm volatile("enqcmds 0x12345678(%rax),%rcx");
   1771	asm volatile("enqcmds (%eax),%ebx");
   1772	asm volatile("enqcmds 0x12345678(%eax),%ecx");
   1773
   1774	/* incsspd/q */
   1775
   1776	asm volatile("incsspd %eax");
   1777	asm volatile("incsspd %r8d");
   1778	asm volatile("incsspq %rax");
   1779	asm volatile("incsspq %r8");
   1780	/* Also check instructions in the same group encoding as incsspd/q */
   1781	asm volatile("xrstor (%rax)");
   1782	asm volatile("xrstor (%r8)");
   1783	asm volatile("xrstor (0x12345678)");
   1784	asm volatile("xrstor 0x12345678(%rax,%rcx,8)");
   1785	asm volatile("xrstor 0x12345678(%r8,%rcx,8)");
   1786	asm volatile("lfence");
   1787
   1788	/* rdsspd/q */
   1789
   1790	asm volatile("rdsspd %eax");
   1791	asm volatile("rdsspd %r8d");
   1792	asm volatile("rdsspq %rax");
   1793	asm volatile("rdsspq %r8");
   1794
   1795	/* saveprevssp */
   1796
   1797	asm volatile("saveprevssp");
   1798
   1799	/* rstorssp */
   1800
   1801	asm volatile("rstorssp (%rax)");
   1802	asm volatile("rstorssp (%r8)");
   1803	asm volatile("rstorssp (0x12345678)");
   1804	asm volatile("rstorssp 0x12345678(%rax,%rcx,8)");
   1805	asm volatile("rstorssp 0x12345678(%r8,%rcx,8)");
   1806
   1807	/* wrssd/q */
   1808
   1809	asm volatile("wrssd %ecx,(%rax)");
   1810	asm volatile("wrssd %edx,(%r8)");
   1811	asm volatile("wrssd %edx,(0x12345678)");
   1812	asm volatile("wrssd %edx,0x12345678(%rax,%rcx,8)");
   1813	asm volatile("wrssd %edx,0x12345678(%r8,%rcx,8)");
   1814	asm volatile("wrssq %rcx,(%rax)");
   1815	asm volatile("wrssq %rdx,(%r8)");
   1816	asm volatile("wrssq %rdx,(0x12345678)");
   1817	asm volatile("wrssq %rdx,0x12345678(%rax,%rcx,8)");
   1818	asm volatile("wrssq %rdx,0x12345678(%r8,%rcx,8)");
   1819
   1820	/* wrussd/q */
   1821
   1822	asm volatile("wrussd %ecx,(%rax)");
   1823	asm volatile("wrussd %edx,(%r8)");
   1824	asm volatile("wrussd %edx,(0x12345678)");
   1825	asm volatile("wrussd %edx,0x12345678(%rax,%rcx,8)");
   1826	asm volatile("wrussd %edx,0x12345678(%r8,%rcx,8)");
   1827	asm volatile("wrussq %rcx,(%rax)");
   1828	asm volatile("wrussq %rdx,(%r8)");
   1829	asm volatile("wrussq %rdx,(0x12345678)");
   1830	asm volatile("wrussq %rdx,0x12345678(%rax,%rcx,8)");
   1831	asm volatile("wrussq %rdx,0x12345678(%r8,%rcx,8)");
   1832
   1833	/* setssbsy */
   1834
   1835	asm volatile("setssbsy");
   1836	/* Also check instructions in the same group encoding as setssbsy */
   1837	asm volatile("rdpkru");
   1838	asm volatile("wrpkru");
   1839
   1840	/* clrssbsy */
   1841
   1842	asm volatile("clrssbsy (%rax)");
   1843	asm volatile("clrssbsy (%r8)");
   1844	asm volatile("clrssbsy (0x12345678)");
   1845	asm volatile("clrssbsy 0x12345678(%rax,%rcx,8)");
   1846	asm volatile("clrssbsy 0x12345678(%r8,%rcx,8)");
   1847
   1848	/* endbr32/64 */
   1849
   1850	asm volatile("endbr32");
   1851	asm volatile("endbr64");
   1852
   1853	/* call with/without notrack prefix */
   1854
   1855	asm volatile("callq *%rax");				/* Expecting: call indirect 0 */
   1856	asm volatile("callq *(%rax)");				/* Expecting: call indirect 0 */
   1857	asm volatile("callq *(%r8)");				/* Expecting: call indirect 0 */
   1858	asm volatile("callq *(0x12345678)");			/* Expecting: call indirect 0 */
   1859	asm volatile("callq *0x12345678(%rax,%rcx,8)");		/* Expecting: call indirect 0 */
   1860	asm volatile("callq *0x12345678(%r8,%rcx,8)");		/* Expecting: call indirect 0 */
   1861
   1862	asm volatile("bnd callq *%rax");			/* Expecting: call indirect 0 */
   1863	asm volatile("bnd callq *(%rax)");			/* Expecting: call indirect 0 */
   1864	asm volatile("bnd callq *(%r8)");			/* Expecting: call indirect 0 */
   1865	asm volatile("bnd callq *(0x12345678)");		/* Expecting: call indirect 0 */
   1866	asm volatile("bnd callq *0x12345678(%rax,%rcx,8)");	/* Expecting: call indirect 0 */
   1867	asm volatile("bnd callq *0x12345678(%r8,%rcx,8)");	/* Expecting: call indirect 0 */
   1868
   1869	asm volatile("notrack callq *%rax");			/* Expecting: call indirect 0 */
   1870	asm volatile("notrack callq *(%rax)");			/* Expecting: call indirect 0 */
   1871	asm volatile("notrack callq *(%r8)");			/* Expecting: call indirect 0 */
   1872	asm volatile("notrack callq *(0x12345678)");		/* Expecting: call indirect 0 */
   1873	asm volatile("notrack callq *0x12345678(%rax,%rcx,8)");	/* Expecting: call indirect 0 */
   1874	asm volatile("notrack callq *0x12345678(%r8,%rcx,8)");	/* Expecting: call indirect 0 */
   1875
   1876	asm volatile("notrack bnd callq *%rax");		/* Expecting: call indirect 0 */
   1877	asm volatile("notrack bnd callq *(%rax)");		/* Expecting: call indirect 0 */
   1878	asm volatile("notrack bnd callq *(%r8)");		/* Expecting: call indirect 0 */
   1879	asm volatile("notrack bnd callq *(0x12345678)");	/* Expecting: call indirect 0 */
   1880	asm volatile("notrack bnd callq *0x12345678(%rax,%rcx,8)");	/* Expecting: call indirect 0 */
   1881	asm volatile("notrack bnd callq *0x12345678(%r8,%rcx,8)");	/* Expecting: call indirect 0 */
   1882
   1883	/* jmp with/without notrack prefix */
   1884
   1885	asm volatile("jmpq *%rax");				/* Expecting: jmp indirect 0 */
   1886	asm volatile("jmpq *(%rax)");				/* Expecting: jmp indirect 0 */
   1887	asm volatile("jmpq *(%r8)");				/* Expecting: jmp indirect 0 */
   1888	asm volatile("jmpq *(0x12345678)");			/* Expecting: jmp indirect 0 */
   1889	asm volatile("jmpq *0x12345678(%rax,%rcx,8)");		/* Expecting: jmp indirect 0 */
   1890	asm volatile("jmpq *0x12345678(%r8,%rcx,8)");		/* Expecting: jmp indirect 0 */
   1891
   1892	asm volatile("bnd jmpq *%rax");				/* Expecting: jmp indirect 0 */
   1893	asm volatile("bnd jmpq *(%rax)");			/* Expecting: jmp indirect 0 */
   1894	asm volatile("bnd jmpq *(%r8)");			/* Expecting: jmp indirect 0 */
   1895	asm volatile("bnd jmpq *(0x12345678)");			/* Expecting: jmp indirect 0 */
   1896	asm volatile("bnd jmpq *0x12345678(%rax,%rcx,8)");	/* Expecting: jmp indirect 0 */
   1897	asm volatile("bnd jmpq *0x12345678(%r8,%rcx,8)");	/* Expecting: jmp indirect 0 */
   1898
   1899	asm volatile("notrack jmpq *%rax");			/* Expecting: jmp indirect 0 */
   1900	asm volatile("notrack jmpq *(%rax)");			/* Expecting: jmp indirect 0 */
   1901	asm volatile("notrack jmpq *(%r8)");			/* Expecting: jmp indirect 0 */
   1902	asm volatile("notrack jmpq *(0x12345678)");		/* Expecting: jmp indirect 0 */
   1903	asm volatile("notrack jmpq *0x12345678(%rax,%rcx,8)");	/* Expecting: jmp indirect 0 */
   1904	asm volatile("notrack jmpq *0x12345678(%r8,%rcx,8)");	/* Expecting: jmp indirect 0 */
   1905
   1906	asm volatile("notrack bnd jmpq *%rax");			/* Expecting: jmp indirect 0 */
   1907	asm volatile("notrack bnd jmpq *(%rax)");		/* Expecting: jmp indirect 0 */
   1908	asm volatile("notrack bnd jmpq *(%r8)");		/* Expecting: jmp indirect 0 */
   1909	asm volatile("notrack bnd jmpq *(0x12345678)");		/* Expecting: jmp indirect 0 */
   1910	asm volatile("notrack bnd jmpq *0x12345678(%rax,%rcx,8)");	/* Expecting: jmp indirect 0 */
   1911	asm volatile("notrack bnd jmpq *0x12345678(%r8,%rcx,8)");	/* Expecting: jmp indirect 0 */
   1912
   1913	/* AMX */
   1914
   1915	asm volatile("ldtilecfg (%rax,%rcx,8)");
   1916	asm volatile("ldtilecfg (%r8,%rcx,8)");
   1917	asm volatile("sttilecfg (%rax,%rcx,8)");
   1918	asm volatile("sttilecfg (%r8,%rcx,8)");
   1919	asm volatile("tdpbf16ps %tmm0, %tmm1, %tmm2");
   1920	asm volatile("tdpbssd %tmm0, %tmm1, %tmm2");
   1921	asm volatile("tdpbsud %tmm0, %tmm1, %tmm2");
   1922	asm volatile("tdpbusd %tmm0, %tmm1, %tmm2");
   1923	asm volatile("tdpbuud %tmm0, %tmm1, %tmm2");
   1924	asm volatile("tileloadd (%rax,%rcx,8), %tmm1");
   1925	asm volatile("tileloadd (%r8,%rcx,8), %tmm2");
   1926	asm volatile("tileloaddt1 (%rax,%rcx,8), %tmm1");
   1927	asm volatile("tileloaddt1 (%r8,%rcx,8), %tmm2");
   1928	asm volatile("tilerelease");
   1929	asm volatile("tilestored %tmm1, (%rax,%rcx,8)");
   1930	asm volatile("tilestored %tmm2, (%r8,%rcx,8)");
   1931	asm volatile("tilezero %tmm0");
   1932	asm volatile("tilezero %tmm7");
   1933
   1934	/* User Interrupt */
   1935
   1936	asm volatile("clui");
   1937	asm volatile("senduipi %rax");
   1938	asm volatile("senduipi %r8");
   1939	asm volatile("stui");
   1940	asm volatile("testui");
   1941	asm volatile("uiret");
   1942
   1943	/* AVX512-FP16 */
   1944
   1945	asm volatile("vaddph %zmm3, %zmm2, %zmm1");
   1946	asm volatile("vaddph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   1947	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   1948	asm volatile("vaddph %xmm3, %xmm2, %xmm1");
   1949	asm volatile("vaddph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   1950	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   1951	asm volatile("vaddph %ymm3, %ymm2, %ymm1");
   1952	asm volatile("vaddph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   1953	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   1954	asm volatile("vaddsh %xmm3, %xmm2, %xmm1");
   1955	asm volatile("vaddsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   1956	asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   1957	asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");
   1958	asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %zmm2, %k5");
   1959	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");
   1960	asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");
   1961	asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");
   1962	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
   1963	asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");
   1964	asm volatile("vcmpph $0x12, 0x12345678(%rax,%rcx,8), %ymm2, %k5");
   1965	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");
   1966	asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");
   1967	asm volatile("vcmpsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %k5");
   1968	asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
   1969	asm volatile("vcomish %xmm2, %xmm1");
   1970	asm volatile("vcomish 0x12345678(%rax,%rcx,8), %xmm1");
   1971	asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");
   1972	asm volatile("vcvtdq2ph %zmm2, %ymm1");
   1973	asm volatile("vcvtdq2ph 0x12345678(%rax,%rcx,8), %ymm1");
   1974	asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");
   1975	asm volatile("vcvtdq2ph %xmm2, %xmm1");
   1976	asm volatile("vcvtdq2ph %ymm2, %xmm1");
   1977	asm volatile("vcvtpd2ph %zmm2, %xmm1");
   1978	asm volatile("vcvtpd2ph %xmm2, %xmm1");
   1979	asm volatile("vcvtpd2ph %ymm2, %xmm1");
   1980	asm volatile("vcvtph2dq %ymm2, %zmm1");
   1981	asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %zmm1");
   1982	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");
   1983	asm volatile("vcvtph2dq %xmm2, %xmm1");
   1984	asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %xmm1");
   1985	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");
   1986	asm volatile("vcvtph2dq %xmm2, %ymm1");
   1987	asm volatile("vcvtph2dq 0x12345678(%rax,%rcx,8), %ymm1");
   1988	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");
   1989	asm volatile("vcvtph2pd %xmm2, %zmm1");
   1990	asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %zmm1");
   1991	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");
   1992	asm volatile("vcvtph2pd %xmm2, %xmm1");
   1993	asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %xmm1");
   1994	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");
   1995	asm volatile("vcvtph2pd %xmm2, %ymm1");
   1996	asm volatile("vcvtph2pd 0x12345678(%rax,%rcx,8), %ymm1");
   1997	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");
   1998	asm volatile("vcvtph2ps %ymm2, %zmm1");
   1999	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %zmm1");
   2000	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");
   2001	asm volatile("vcvtph2ps %xmm2, %xmm1");
   2002	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");
   2003	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
   2004	asm volatile("vcvtph2ps %xmm2, %ymm1");
   2005	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");
   2006	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
   2007	asm volatile("vcvtph2ps %xmm2, %xmm1");
   2008	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %xmm1");
   2009	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
   2010	asm volatile("vcvtph2ps %xmm2, %ymm1");
   2011	asm volatile("vcvtph2ps 0x12345678(%rax,%rcx,8), %ymm1");
   2012	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
   2013	asm volatile("vcvtph2psx %ymm2, %zmm1");
   2014	asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %zmm1");
   2015	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");
   2016	asm volatile("vcvtph2psx %xmm2, %xmm1");
   2017	asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %xmm1");
   2018	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");
   2019	asm volatile("vcvtph2psx %xmm2, %ymm1");
   2020	asm volatile("vcvtph2psx 0x12345678(%rax,%rcx,8), %ymm1");
   2021	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");
   2022	asm volatile("vcvtph2qq %xmm2, %zmm1");
   2023	asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %zmm1");
   2024	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");
   2025	asm volatile("vcvtph2qq %xmm2, %xmm1");
   2026	asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %xmm1");
   2027	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");
   2028	asm volatile("vcvtph2qq %xmm2, %ymm1");
   2029	asm volatile("vcvtph2qq 0x12345678(%rax,%rcx,8), %ymm1");
   2030	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");
   2031	asm volatile("vcvtph2udq %ymm2, %zmm1");
   2032	asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %zmm1");
   2033	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");
   2034	asm volatile("vcvtph2udq %xmm2, %xmm1");
   2035	asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %xmm1");
   2036	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");
   2037	asm volatile("vcvtph2udq %xmm2, %ymm1");
   2038	asm volatile("vcvtph2udq 0x12345678(%rax,%rcx,8), %ymm1");
   2039	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");
   2040	asm volatile("vcvtph2uqq %xmm2, %zmm1");
   2041	asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %zmm1");
   2042	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
   2043	asm volatile("vcvtph2uqq %xmm2, %xmm1");
   2044	asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %xmm1");
   2045	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
   2046	asm volatile("vcvtph2uqq %xmm2, %ymm1");
   2047	asm volatile("vcvtph2uqq 0x12345678(%rax,%rcx,8), %ymm1");
   2048	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
   2049	asm volatile("vcvtph2uw %zmm2, %zmm1");
   2050	asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %zmm1");
   2051	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");
   2052	asm volatile("vcvtph2uw %xmm2, %xmm1");
   2053	asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %xmm1");
   2054	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");
   2055	asm volatile("vcvtph2uw %ymm2, %ymm1");
   2056	asm volatile("vcvtph2uw 0x12345678(%rax,%rcx,8), %ymm1");
   2057	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");
   2058	asm volatile("vcvtph2w %zmm2, %zmm1");
   2059	asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %zmm1");
   2060	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");
   2061	asm volatile("vcvtph2w %xmm2, %xmm1");
   2062	asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %xmm1");
   2063	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");
   2064	asm volatile("vcvtph2w %ymm2, %ymm1");
   2065	asm volatile("vcvtph2w 0x12345678(%rax,%rcx,8), %ymm1");
   2066	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");
   2067	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%rax,%rcx,8)");
   2068	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");
   2069	asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");
   2070	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%rax,%rcx,8)");
   2071	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");
   2072	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%rax,%rcx,8)");
   2073	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");
   2074	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
   2075	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
   2076	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
   2077	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%rax,%rcx,8)");
   2078	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");
   2079	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
   2080	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%rax,%rcx,8)");
   2081	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");
   2082	asm volatile("vcvtps2phx %zmm2, %ymm1");
   2083	asm volatile("vcvtps2phx 0x12345678(%rax,%rcx,8), %ymm1");
   2084	asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");
   2085	asm volatile("vcvtps2phx %xmm2, %xmm1");
   2086	asm volatile("vcvtps2phx %ymm2, %xmm1");
   2087	asm volatile("vcvtqq2ph %zmm2, %xmm1");
   2088	asm volatile("vcvtqq2ph %xmm2, %xmm1");
   2089	asm volatile("vcvtqq2ph %ymm2, %xmm1");
   2090	asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2091	asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2092	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");
   2093	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %rax");
   2094	asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2095	asm volatile("vcvtsh2usi %xmm1, %eax");
   2096	asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %eax");
   2097	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");
   2098	asm volatile("vcvtsh2usi %xmm1, %rax");
   2099	asm volatile("vcvtsh2usi 0x12345678(%rax,%rcx,8), %rax");
   2100	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %rax");
   2101	asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");
   2102	asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2103	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2104	asm volatile("vcvtsi2sh %rax, %xmm2, %xmm1");
   2105	asm volatile("vcvtsi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2106	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2107	asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");
   2108	asm volatile("vcvtss2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2109	asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2110	asm volatile("vcvttph2dq %ymm2, %zmm1");
   2111	asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %zmm1");
   2112	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");
   2113	asm volatile("vcvttph2dq %xmm2, %xmm1");
   2114	asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %xmm1");
   2115	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");
   2116	asm volatile("vcvttph2dq %xmm2, %ymm1");
   2117	asm volatile("vcvttph2dq 0x12345678(%rax,%rcx,8), %ymm1");
   2118	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");
   2119	asm volatile("vcvttph2qq %xmm2, %zmm1");
   2120	asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %zmm1");
   2121	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");
   2122	asm volatile("vcvttph2qq %xmm2, %xmm1");
   2123	asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %xmm1");
   2124	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");
   2125	asm volatile("vcvttph2qq %xmm2, %ymm1");
   2126	asm volatile("vcvttph2qq 0x12345678(%rax,%rcx,8), %ymm1");
   2127	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");
   2128	asm volatile("vcvttph2udq %ymm2, %zmm1");
   2129	asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %zmm1");
   2130	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");
   2131	asm volatile("vcvttph2udq %xmm2, %xmm1");
   2132	asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %xmm1");
   2133	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");
   2134	asm volatile("vcvttph2udq %xmm2, %ymm1");
   2135	asm volatile("vcvttph2udq 0x12345678(%rax,%rcx,8), %ymm1");
   2136	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");
   2137	asm volatile("vcvttph2uqq %xmm2, %zmm1");
   2138	asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %zmm1");
   2139	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
   2140	asm volatile("vcvttph2uqq %xmm2, %xmm1");
   2141	asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %xmm1");
   2142	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
   2143	asm volatile("vcvttph2uqq %xmm2, %ymm1");
   2144	asm volatile("vcvttph2uqq 0x12345678(%rax,%rcx,8), %ymm1");
   2145	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
   2146	asm volatile("vcvttph2uw %zmm2, %zmm1");
   2147	asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %zmm1");
   2148	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");
   2149	asm volatile("vcvttph2uw %xmm2, %xmm1");
   2150	asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %xmm1");
   2151	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");
   2152	asm volatile("vcvttph2uw %ymm2, %ymm1");
   2153	asm volatile("vcvttph2uw 0x12345678(%rax,%rcx,8), %ymm1");
   2154	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");
   2155	asm volatile("vcvttph2w %zmm2, %zmm1");
   2156	asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %zmm1");
   2157	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");
   2158	asm volatile("vcvttph2w %xmm2, %xmm1");
   2159	asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %xmm1");
   2160	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");
   2161	asm volatile("vcvttph2w %ymm2, %ymm1");
   2162	asm volatile("vcvttph2w 0x12345678(%rax,%rcx,8), %ymm1");
   2163	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");
   2164	asm volatile("vcvttsh2si %xmm1, %eax");
   2165	asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %eax");
   2166	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");
   2167	asm volatile("vcvttsh2si %xmm1, %rax");
   2168	asm volatile("vcvttsh2si 0x12345678(%rax,%rcx,8), %rax");
   2169	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %rax");
   2170	asm volatile("vcvttsh2usi %xmm1, %eax");
   2171	asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %eax");
   2172	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");
   2173	asm volatile("vcvttsh2usi %xmm1, %rax");
   2174	asm volatile("vcvttsh2usi 0x12345678(%rax,%rcx,8), %rax");
   2175	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %rax");
   2176	asm volatile("vcvtudq2ph %zmm2, %ymm1");
   2177	asm volatile("vcvtudq2ph 0x12345678(%rax,%rcx,8), %ymm1");
   2178	asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");
   2179	asm volatile("vcvtudq2ph %xmm2, %xmm1");
   2180	asm volatile("vcvtudq2ph %ymm2, %xmm1");
   2181	asm volatile("vcvtuqq2ph %zmm2, %xmm1");
   2182	asm volatile("vcvtuqq2ph %xmm2, %xmm1");
   2183	asm volatile("vcvtuqq2ph %ymm2, %xmm1");
   2184	asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");
   2185	asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2186	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2187	asm volatile("vcvtusi2sh %rax, %xmm2, %xmm1");
   2188	asm volatile("vcvtusi2sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2189	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2190	asm volatile("vcvtuw2ph %zmm2, %zmm1");
   2191	asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %zmm1");
   2192	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");
   2193	asm volatile("vcvtuw2ph %xmm2, %xmm1");
   2194	asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %xmm1");
   2195	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");
   2196	asm volatile("vcvtuw2ph %ymm2, %ymm1");
   2197	asm volatile("vcvtuw2ph 0x12345678(%rax,%rcx,8), %ymm1");
   2198	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");
   2199	asm volatile("vcvtw2ph %zmm2, %zmm1");
   2200	asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %zmm1");
   2201	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");
   2202	asm volatile("vcvtw2ph %xmm2, %xmm1");
   2203	asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %xmm1");
   2204	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");
   2205	asm volatile("vcvtw2ph %ymm2, %ymm1");
   2206	asm volatile("vcvtw2ph 0x12345678(%rax,%rcx,8), %ymm1");
   2207	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");
   2208	asm volatile("vdivph %zmm3, %zmm2, %zmm1");
   2209	asm volatile("vdivph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2210	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2211	asm volatile("vdivph %xmm3, %xmm2, %xmm1");
   2212	asm volatile("vdivph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2213	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2214	asm volatile("vdivph %ymm3, %ymm2, %ymm1");
   2215	asm volatile("vdivph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2216	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2217	asm volatile("vdivsh %xmm3, %xmm2, %xmm1");
   2218	asm volatile("vdivsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2219	asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2220	asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");
   2221	asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2222	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2223	asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");
   2224	asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2225	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2226	asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");
   2227	asm volatile("vfcmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2228	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2229	asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");
   2230	asm volatile("vfcmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2231	asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2232	asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");
   2233	asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2234	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2235	asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");
   2236	asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2237	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2238	asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");
   2239	asm volatile("vfcmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2240	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2241	asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");
   2242	asm volatile("vfcmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2243	asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2244	asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");
   2245	asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2246	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2247	asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");
   2248	asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2249	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2250	asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");
   2251	asm volatile("vfmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2252	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2253	asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");
   2254	asm volatile("vfmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2255	asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2256	asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");
   2257	asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2258	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2259	asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");
   2260	asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2261	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2262	asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");
   2263	asm volatile("vfmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2264	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2265	asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");
   2266	asm volatile("vfmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2267	asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2268	asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");
   2269	asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2270	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2271	asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");
   2272	asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2273	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2274	asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");
   2275	asm volatile("vfmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2276	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2277	asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");
   2278	asm volatile("vfmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2279	asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2280	asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");
   2281	asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2282	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2283	asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");
   2284	asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2285	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2286	asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");
   2287	asm volatile("vfmaddcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2288	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2289	asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");
   2290	asm volatile("vfmaddcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2291	asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2292	asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");
   2293	asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2294	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2295	asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");
   2296	asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2297	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2298	asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");
   2299	asm volatile("vfmaddsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2300	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2301	asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");
   2302	asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2303	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2304	asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");
   2305	asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2306	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2307	asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");
   2308	asm volatile("vfmaddsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2309	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2310	asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");
   2311	asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2312	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2313	asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");
   2314	asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2315	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2316	asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");
   2317	asm volatile("vfmaddsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2318	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2319	asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");
   2320	asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2321	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2322	asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");
   2323	asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2324	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2325	asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");
   2326	asm volatile("vfmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2327	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2328	asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");
   2329	asm volatile("vfmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2330	asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2331	asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");
   2332	asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2333	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2334	asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");
   2335	asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2336	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2337	asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");
   2338	asm volatile("vfmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2339	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2340	asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");
   2341	asm volatile("vfmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2342	asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2343	asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");
   2344	asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2345	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2346	asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");
   2347	asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2348	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2349	asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");
   2350	asm volatile("vfmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2351	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2352	asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");
   2353	asm volatile("vfmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2354	asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2355	asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");
   2356	asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2357	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2358	asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");
   2359	asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2360	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2361	asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");
   2362	asm volatile("vfmsubadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2363	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2364	asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");
   2365	asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2366	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2367	asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");
   2368	asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2369	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2370	asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");
   2371	asm volatile("vfmsubadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2372	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2373	asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");
   2374	asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2375	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2376	asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");
   2377	asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2378	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2379	asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");
   2380	asm volatile("vfmsubadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2381	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2382	asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");
   2383	asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2384	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2385	asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");
   2386	asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2387	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2388	asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");
   2389	asm volatile("vfmulcph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2390	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2391	asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");
   2392	asm volatile("vfmulcsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2393	asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2394	asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");
   2395	asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2396	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2397	asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");
   2398	asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2399	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2400	asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");
   2401	asm volatile("vfnmadd132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2402	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2403	asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");
   2404	asm volatile("vfnmadd132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2405	asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2406	asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");
   2407	asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2408	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2409	asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");
   2410	asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2411	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2412	asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");
   2413	asm volatile("vfnmadd213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2414	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2415	asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");
   2416	asm volatile("vfnmadd213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2417	asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2418	asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");
   2419	asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2420	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2421	asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");
   2422	asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2423	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2424	asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");
   2425	asm volatile("vfnmadd231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2426	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2427	asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");
   2428	asm volatile("vfnmadd231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2429	asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2430	asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");
   2431	asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2432	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2433	asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");
   2434	asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2435	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2436	asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");
   2437	asm volatile("vfnmsub132ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2438	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2439	asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");
   2440	asm volatile("vfnmsub132sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2441	asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2442	asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");
   2443	asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2444	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2445	asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");
   2446	asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2447	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2448	asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");
   2449	asm volatile("vfnmsub213ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2450	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2451	asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");
   2452	asm volatile("vfnmsub213sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2453	asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2454	asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");
   2455	asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2456	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2457	asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");
   2458	asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2459	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2460	asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");
   2461	asm volatile("vfnmsub231ph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2462	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2463	asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");
   2464	asm volatile("vfnmsub231sh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2465	asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2466	asm volatile("vfpclassph $0x12, %zmm1, %k5");
   2467	asm volatile("vfpclassph $0x12, %xmm1, %k5");
   2468	asm volatile("vfpclassph $0x12, %ymm1, %k5");
   2469	asm volatile("vfpclasssh $0x12, %xmm1, %k5");
   2470	asm volatile("vfpclasssh $0x12, 0x12345678(%rax,%rcx,8), %k5");
   2471	asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");
   2472	asm volatile("vgetexpph %zmm2, %zmm1");
   2473	asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %zmm1");
   2474	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");
   2475	asm volatile("vgetexpph %xmm2, %xmm1");
   2476	asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %xmm1");
   2477	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");
   2478	asm volatile("vgetexpph %ymm2, %ymm1");
   2479	asm volatile("vgetexpph 0x12345678(%rax,%rcx,8), %ymm1");
   2480	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");
   2481	asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");
   2482	asm volatile("vgetexpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2483	asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2484	asm volatile("vgetmantph $0x12, %zmm2, %zmm1");
   2485	asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
   2486	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
   2487	asm volatile("vgetmantph $0x12, %xmm2, %xmm1");
   2488	asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
   2489	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
   2490	asm volatile("vgetmantph $0x12, %ymm2, %ymm1");
   2491	asm volatile("vgetmantph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
   2492	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
   2493	asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");
   2494	asm volatile("vgetmantsh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2495	asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2496	asm volatile("vmaxph %zmm3, %zmm2, %zmm1");
   2497	asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2498	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2499	asm volatile("vmaxph %xmm3, %xmm2, %xmm1");
   2500	asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2501	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2502	asm volatile("vmaxph %ymm3, %ymm2, %ymm1");
   2503	asm volatile("vmaxph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2504	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2505	asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");
   2506	asm volatile("vmaxsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2507	asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2508	asm volatile("vminph %zmm3, %zmm2, %zmm1");
   2509	asm volatile("vminph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2510	asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2511	asm volatile("vminph %xmm3, %xmm2, %xmm1");
   2512	asm volatile("vminph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2513	asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2514	asm volatile("vminph %ymm3, %ymm2, %ymm1");
   2515	asm volatile("vminph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2516	asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2517	asm volatile("vminsh %xmm3, %xmm2, %xmm1");
   2518	asm volatile("vminsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2519	asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2520	asm volatile("vmovsh %xmm1, 0x12345678(%rax,%rcx,8)");
   2521	asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");
   2522	asm volatile("vmovsh 0x12345678(%rax,%rcx,8), %xmm1");
   2523	asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");
   2524	asm volatile("vmovsh %xmm3, %xmm2, %xmm1");
   2525	asm volatile("vmovw %xmm1, %eax");
   2526	asm volatile("vmovw %xmm1, 0x12345678(%rax,%rcx,8)");
   2527	asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");
   2528	asm volatile("vmovw %eax, %xmm1");
   2529	asm volatile("vmovw 0x12345678(%rax,%rcx,8), %xmm1");
   2530	asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");
   2531	asm volatile("vmulph %zmm3, %zmm2, %zmm1");
   2532	asm volatile("vmulph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2533	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2534	asm volatile("vmulph %xmm3, %xmm2, %xmm1");
   2535	asm volatile("vmulph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2536	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2537	asm volatile("vmulph %ymm3, %ymm2, %ymm1");
   2538	asm volatile("vmulph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2539	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2540	asm volatile("vmulsh %xmm3, %xmm2, %xmm1");
   2541	asm volatile("vmulsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2542	asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2543	asm volatile("vrcpph %zmm2, %zmm1");
   2544	asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %zmm1");
   2545	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");
   2546	asm volatile("vrcpph %xmm2, %xmm1");
   2547	asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %xmm1");
   2548	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");
   2549	asm volatile("vrcpph %ymm2, %ymm1");
   2550	asm volatile("vrcpph 0x12345678(%rax,%rcx,8), %ymm1");
   2551	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");
   2552	asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");
   2553	asm volatile("vrcpsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2554	asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2555	asm volatile("vreduceph $0x12, %zmm2, %zmm1");
   2556	asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
   2557	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
   2558	asm volatile("vreduceph $0x12, %xmm2, %xmm1");
   2559	asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
   2560	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
   2561	asm volatile("vreduceph $0x12, %ymm2, %ymm1");
   2562	asm volatile("vreduceph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
   2563	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
   2564	asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");
   2565	asm volatile("vreducesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2566	asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2567	asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");
   2568	asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %zmm1");
   2569	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
   2570	asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");
   2571	asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %xmm1");
   2572	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
   2573	asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");
   2574	asm volatile("vrndscaleph $0x12, 0x12345678(%rax,%rcx,8), %ymm1");
   2575	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
   2576	asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");
   2577	asm volatile("vrndscalesh $0x12, 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2578	asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2579	asm volatile("vrsqrtph %zmm2, %zmm1");
   2580	asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %zmm1");
   2581	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
   2582	asm volatile("vrsqrtph %xmm2, %xmm1");
   2583	asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %xmm1");
   2584	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
   2585	asm volatile("vrsqrtph %ymm2, %ymm1");
   2586	asm volatile("vrsqrtph 0x12345678(%rax,%rcx,8), %ymm1");
   2587	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
   2588	asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");
   2589	asm volatile("vrsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2590	asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2591	asm volatile("vscalefph %zmm3, %zmm2, %zmm1");
   2592	asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2593	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2594	asm volatile("vscalefph %xmm3, %xmm2, %xmm1");
   2595	asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2596	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2597	asm volatile("vscalefph %ymm3, %ymm2, %ymm1");
   2598	asm volatile("vscalefph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2599	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2600	asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");
   2601	asm volatile("vscalefsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2602	asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2603	asm volatile("vsqrtph %zmm2, %zmm1");
   2604	asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %zmm1");
   2605	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
   2606	asm volatile("vsqrtph %xmm2, %xmm1");
   2607	asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %xmm1");
   2608	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
   2609	asm volatile("vsqrtph %ymm2, %ymm1");
   2610	asm volatile("vsqrtph 0x12345678(%rax,%rcx,8), %ymm1");
   2611	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
   2612	asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");
   2613	asm volatile("vsqrtsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2614	asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2615	asm volatile("vsubph %zmm3, %zmm2, %zmm1");
   2616	asm volatile("vsubph 0x12345678(%rax,%rcx,8), %zmm2, %zmm1");
   2617	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   2618	asm volatile("vsubph %xmm3, %xmm2, %xmm1");
   2619	asm volatile("vsubph 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2620	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2621	asm volatile("vsubph %ymm3, %ymm2, %ymm1");
   2622	asm volatile("vsubph 0x12345678(%rax,%rcx,8), %ymm2, %ymm1");
   2623	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   2624	asm volatile("vsubsh %xmm3, %xmm2, %xmm1");
   2625	asm volatile("vsubsh 0x12345678(%rax,%rcx,8), %xmm2, %xmm1");
   2626	asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   2627	asm volatile("vucomish %xmm2, %xmm1");
   2628	asm volatile("vucomish 0x12345678(%rax,%rcx,8), %xmm1");
   2629	asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");
   2630
   2631#else  /* #ifdef __x86_64__ */
   2632
   2633	/* bound r32, mem (same op code as EVEX prefix) */
   2634
   2635	asm volatile("bound %eax, 0x12345678(%ecx)");
   2636	asm volatile("bound %ecx, 0x12345678(%eax)");
   2637	asm volatile("bound %edx, 0x12345678(%eax)");
   2638	asm volatile("bound %ebx, 0x12345678(%eax)");
   2639	asm volatile("bound %esp, 0x12345678(%eax)");
   2640	asm volatile("bound %ebp, 0x12345678(%eax)");
   2641	asm volatile("bound %esi, 0x12345678(%eax)");
   2642	asm volatile("bound %edi, 0x12345678(%eax)");
   2643	asm volatile("bound %ecx, (%eax)");
   2644	asm volatile("bound %eax, (0x12345678)");
   2645	asm volatile("bound %edx, (%ecx,%eax,1)");
   2646	asm volatile("bound %edx, 0x12345678(,%eax,1)");
   2647	asm volatile("bound %edx, (%eax,%ecx,1)");
   2648	asm volatile("bound %edx, (%eax,%ecx,8)");
   2649	asm volatile("bound %edx, 0x12(%eax)");
   2650	asm volatile("bound %edx, 0x12(%ebp)");
   2651	asm volatile("bound %edx, 0x12(%ecx,%eax,1)");
   2652	asm volatile("bound %edx, 0x12(%ebp,%eax,1)");
   2653	asm volatile("bound %edx, 0x12(%eax,%ecx,1)");
   2654	asm volatile("bound %edx, 0x12(%eax,%ecx,8)");
   2655	asm volatile("bound %edx, 0x12345678(%eax)");
   2656	asm volatile("bound %edx, 0x12345678(%ebp)");
   2657	asm volatile("bound %edx, 0x12345678(%ecx,%eax,1)");
   2658	asm volatile("bound %edx, 0x12345678(%ebp,%eax,1)");
   2659	asm volatile("bound %edx, 0x12345678(%eax,%ecx,1)");
   2660	asm volatile("bound %edx, 0x12345678(%eax,%ecx,8)");
   2661
   2662	/* bound r16, mem (same op code as EVEX prefix) */
   2663
   2664	asm volatile("bound %ax, 0x12345678(%ecx)");
   2665	asm volatile("bound %cx, 0x12345678(%eax)");
   2666	asm volatile("bound %dx, 0x12345678(%eax)");
   2667	asm volatile("bound %bx, 0x12345678(%eax)");
   2668	asm volatile("bound %sp, 0x12345678(%eax)");
   2669	asm volatile("bound %bp, 0x12345678(%eax)");
   2670	asm volatile("bound %si, 0x12345678(%eax)");
   2671	asm volatile("bound %di, 0x12345678(%eax)");
   2672	asm volatile("bound %cx, (%eax)");
   2673	asm volatile("bound %ax, (0x12345678)");
   2674	asm volatile("bound %dx, (%ecx,%eax,1)");
   2675	asm volatile("bound %dx, 0x12345678(,%eax,1)");
   2676	asm volatile("bound %dx, (%eax,%ecx,1)");
   2677	asm volatile("bound %dx, (%eax,%ecx,8)");
   2678	asm volatile("bound %dx, 0x12(%eax)");
   2679	asm volatile("bound %dx, 0x12(%ebp)");
   2680	asm volatile("bound %dx, 0x12(%ecx,%eax,1)");
   2681	asm volatile("bound %dx, 0x12(%ebp,%eax,1)");
   2682	asm volatile("bound %dx, 0x12(%eax,%ecx,1)");
   2683	asm volatile("bound %dx, 0x12(%eax,%ecx,8)");
   2684	asm volatile("bound %dx, 0x12345678(%eax)");
   2685	asm volatile("bound %dx, 0x12345678(%ebp)");
   2686	asm volatile("bound %dx, 0x12345678(%ecx,%eax,1)");
   2687	asm volatile("bound %dx, 0x12345678(%ebp,%eax,1)");
   2688	asm volatile("bound %dx, 0x12345678(%eax,%ecx,1)");
   2689	asm volatile("bound %dx, 0x12345678(%eax,%ecx,8)");
   2690
   2691	/* AVX-512: Instructions with the same op codes as Mask Instructions  */
   2692
   2693	asm volatile("cmovno %eax,%ebx");
   2694	asm volatile("cmovno 0x12345678(%eax),%ecx");
   2695	asm volatile("cmovno 0x12345678(%eax),%cx");
   2696
   2697	asm volatile("cmove  %eax,%ebx");
   2698	asm volatile("cmove 0x12345678(%eax),%ecx");
   2699	asm volatile("cmove 0x12345678(%eax),%cx");
   2700
   2701	asm volatile("seto    0x12345678(%eax)");
   2702	asm volatile("setno   0x12345678(%eax)");
   2703	asm volatile("setb    0x12345678(%eax)");
   2704	asm volatile("setc    0x12345678(%eax)");
   2705	asm volatile("setnae  0x12345678(%eax)");
   2706	asm volatile("setae   0x12345678(%eax)");
   2707	asm volatile("setnb   0x12345678(%eax)");
   2708	asm volatile("setnc   0x12345678(%eax)");
   2709	asm volatile("sets    0x12345678(%eax)");
   2710	asm volatile("setns   0x12345678(%eax)");
   2711
   2712	/* AVX-512: Mask Instructions */
   2713
   2714	asm volatile("kandw  %k7,%k6,%k5");
   2715	asm volatile("kandq  %k7,%k6,%k5");
   2716	asm volatile("kandb  %k7,%k6,%k5");
   2717	asm volatile("kandd  %k7,%k6,%k5");
   2718
   2719	asm volatile("kandnw  %k7,%k6,%k5");
   2720	asm volatile("kandnq  %k7,%k6,%k5");
   2721	asm volatile("kandnb  %k7,%k6,%k5");
   2722	asm volatile("kandnd  %k7,%k6,%k5");
   2723
   2724	asm volatile("knotw  %k7,%k6");
   2725	asm volatile("knotq  %k7,%k6");
   2726	asm volatile("knotb  %k7,%k6");
   2727	asm volatile("knotd  %k7,%k6");
   2728
   2729	asm volatile("korw  %k7,%k6,%k5");
   2730	asm volatile("korq  %k7,%k6,%k5");
   2731	asm volatile("korb  %k7,%k6,%k5");
   2732	asm volatile("kord  %k7,%k6,%k5");
   2733
   2734	asm volatile("kxnorw  %k7,%k6,%k5");
   2735	asm volatile("kxnorq  %k7,%k6,%k5");
   2736	asm volatile("kxnorb  %k7,%k6,%k5");
   2737	asm volatile("kxnord  %k7,%k6,%k5");
   2738
   2739	asm volatile("kxorw  %k7,%k6,%k5");
   2740	asm volatile("kxorq  %k7,%k6,%k5");
   2741	asm volatile("kxorb  %k7,%k6,%k5");
   2742	asm volatile("kxord  %k7,%k6,%k5");
   2743
   2744	asm volatile("kaddw  %k7,%k6,%k5");
   2745	asm volatile("kaddq  %k7,%k6,%k5");
   2746	asm volatile("kaddb  %k7,%k6,%k5");
   2747	asm volatile("kaddd  %k7,%k6,%k5");
   2748
   2749	asm volatile("kunpckbw %k7,%k6,%k5");
   2750	asm volatile("kunpckwd %k7,%k6,%k5");
   2751	asm volatile("kunpckdq %k7,%k6,%k5");
   2752
   2753	asm volatile("kmovw  %k6,%k5");
   2754	asm volatile("kmovw  (%ecx),%k5");
   2755	asm volatile("kmovw  0x123(%eax,%ecx,8),%k5");
   2756	asm volatile("kmovw  %k5,(%ecx)");
   2757	asm volatile("kmovw  %k5,0x123(%eax,%ecx,8)");
   2758	asm volatile("kmovw  %eax,%k5");
   2759	asm volatile("kmovw  %ebp,%k5");
   2760	asm volatile("kmovw  %k5,%eax");
   2761	asm volatile("kmovw  %k5,%ebp");
   2762
   2763	asm volatile("kmovq  %k6,%k5");
   2764	asm volatile("kmovq  (%ecx),%k5");
   2765	asm volatile("kmovq  0x123(%eax,%ecx,8),%k5");
   2766	asm volatile("kmovq  %k5,(%ecx)");
   2767	asm volatile("kmovq  %k5,0x123(%eax,%ecx,8)");
   2768
   2769	asm volatile("kmovb  %k6,%k5");
   2770	asm volatile("kmovb  (%ecx),%k5");
   2771	asm volatile("kmovb  0x123(%eax,%ecx,8),%k5");
   2772	asm volatile("kmovb  %k5,(%ecx)");
   2773	asm volatile("kmovb  %k5,0x123(%eax,%ecx,8)");
   2774	asm volatile("kmovb  %eax,%k5");
   2775	asm volatile("kmovb  %ebp,%k5");
   2776	asm volatile("kmovb  %k5,%eax");
   2777	asm volatile("kmovb  %k5,%ebp");
   2778
   2779	asm volatile("kmovd  %k6,%k5");
   2780	asm volatile("kmovd  (%ecx),%k5");
   2781	asm volatile("kmovd  0x123(%eax,%ecx,8),%k5");
   2782	asm volatile("kmovd  %k5,(%ecx)");
   2783	asm volatile("kmovd  %k5,0x123(%eax,%ecx,8)");
   2784	asm volatile("kmovd  %eax,%k5");
   2785	asm volatile("kmovd  %ebp,%k5");
   2786	asm volatile("kmovd  %k5,%eax");
   2787	asm volatile("kmovd  %k5,%ebp");
   2788
   2789	asm volatile("kortestw %k6,%k5");
   2790	asm volatile("kortestq %k6,%k5");
   2791	asm volatile("kortestb %k6,%k5");
   2792	asm volatile("kortestd %k6,%k5");
   2793
   2794	asm volatile("ktestw %k6,%k5");
   2795	asm volatile("ktestq %k6,%k5");
   2796	asm volatile("ktestb %k6,%k5");
   2797	asm volatile("ktestd %k6,%k5");
   2798
   2799	asm volatile("kshiftrw $0x12,%k6,%k5");
   2800	asm volatile("kshiftrq $0x5b,%k6,%k5");
   2801	asm volatile("kshiftlw $0x12,%k6,%k5");
   2802	asm volatile("kshiftlq $0x5b,%k6,%k5");
   2803
   2804	/* AVX-512: Op code 0f 5b */
   2805	asm volatile("vcvtdq2ps %xmm5,%xmm6");
   2806	asm volatile("vcvtqq2ps %zmm5,%ymm6{%k7}");
   2807	asm volatile("vcvtps2dq %xmm5,%xmm6");
   2808	asm volatile("vcvttps2dq %xmm5,%xmm6");
   2809
   2810	/* AVX-512: Op code 0f 6f */
   2811
   2812	asm volatile("movq   %mm0,%mm4");
   2813	asm volatile("vmovdqa %ymm4,%ymm6");
   2814	asm volatile("vmovdqa32 %zmm5,%zmm6");
   2815	asm volatile("vmovdqa64 %zmm5,%zmm6");
   2816	asm volatile("vmovdqu %ymm4,%ymm6");
   2817	asm volatile("vmovdqu32 %zmm5,%zmm6");
   2818	asm volatile("vmovdqu64 %zmm5,%zmm6");
   2819	asm volatile("vmovdqu8 %zmm5,%zmm6");
   2820	asm volatile("vmovdqu16 %zmm5,%zmm6");
   2821
   2822	/* AVX-512: Op code 0f 78 */
   2823
   2824	asm volatile("vmread %eax,%ebx");
   2825	asm volatile("vcvttps2udq %zmm5,%zmm6");
   2826	asm volatile("vcvttpd2udq %zmm5,%ymm6{%k7}");
   2827	asm volatile("vcvttsd2usi %xmm6,%eax");
   2828	asm volatile("vcvttss2usi %xmm6,%eax");
   2829	asm volatile("vcvttps2uqq %ymm5,%zmm6{%k7}");
   2830	asm volatile("vcvttpd2uqq %zmm5,%zmm6");
   2831
   2832	/* AVX-512: Op code 0f 79 */
   2833
   2834	asm volatile("vmwrite %eax,%ebx");
   2835	asm volatile("vcvtps2udq %zmm5,%zmm6");
   2836	asm volatile("vcvtpd2udq %zmm5,%ymm6{%k7}");
   2837	asm volatile("vcvtsd2usi %xmm6,%eax");
   2838	asm volatile("vcvtss2usi %xmm6,%eax");
   2839	asm volatile("vcvtps2uqq %ymm5,%zmm6{%k7}");
   2840	asm volatile("vcvtpd2uqq %zmm5,%zmm6");
   2841
   2842	/* AVX-512: Op code 0f 7a */
   2843
   2844	asm volatile("vcvtudq2pd %ymm5,%zmm6{%k7}");
   2845	asm volatile("vcvtuqq2pd %zmm5,%zmm6");
   2846	asm volatile("vcvtudq2ps %zmm5,%zmm6");
   2847	asm volatile("vcvtuqq2ps %zmm5,%ymm6{%k7}");
   2848	asm volatile("vcvttps2qq %ymm5,%zmm6{%k7}");
   2849	asm volatile("vcvttpd2qq %zmm5,%zmm6");
   2850
   2851	/* AVX-512: Op code 0f 7b */
   2852
   2853	asm volatile("vcvtusi2sd %eax,%xmm5,%xmm6");
   2854	asm volatile("vcvtusi2ss %eax,%xmm5,%xmm6");
   2855	asm volatile("vcvtps2qq %ymm5,%zmm6{%k7}");
   2856	asm volatile("vcvtpd2qq %zmm5,%zmm6");
   2857
   2858	/* AVX-512: Op code 0f 7f */
   2859
   2860	asm volatile("movq.s  %mm0,%mm4");
   2861	asm volatile("vmovdqa.s %ymm5,%ymm6");
   2862	asm volatile("vmovdqa32.s %zmm5,%zmm6");
   2863	asm volatile("vmovdqa64.s %zmm5,%zmm6");
   2864	asm volatile("vmovdqu.s %ymm5,%ymm6");
   2865	asm volatile("vmovdqu32.s %zmm5,%zmm6");
   2866	asm volatile("vmovdqu64.s %zmm5,%zmm6");
   2867	asm volatile("vmovdqu8.s %zmm5,%zmm6");
   2868	asm volatile("vmovdqu16.s %zmm5,%zmm6");
   2869
   2870	/* AVX-512: Op code 0f db */
   2871
   2872	asm volatile("pand  %mm1,%mm2");
   2873	asm volatile("pand  %xmm1,%xmm2");
   2874	asm volatile("vpand  %ymm4,%ymm6,%ymm2");
   2875	asm volatile("vpandd %zmm4,%zmm5,%zmm6");
   2876	asm volatile("vpandq %zmm4,%zmm5,%zmm6");
   2877
   2878	/* AVX-512: Op code 0f df */
   2879
   2880	asm volatile("pandn  %mm1,%mm2");
   2881	asm volatile("pandn  %xmm1,%xmm2");
   2882	asm volatile("vpandn %ymm4,%ymm6,%ymm2");
   2883	asm volatile("vpandnd %zmm4,%zmm5,%zmm6");
   2884	asm volatile("vpandnq %zmm4,%zmm5,%zmm6");
   2885
   2886	/* AVX-512: Op code 0f e6 */
   2887
   2888	asm volatile("vcvttpd2dq %xmm1,%xmm2");
   2889	asm volatile("vcvtdq2pd %xmm5,%xmm6");
   2890	asm volatile("vcvtdq2pd %ymm5,%zmm6{%k7}");
   2891	asm volatile("vcvtqq2pd %zmm5,%zmm6");
   2892	asm volatile("vcvtpd2dq %xmm1,%xmm2");
   2893
   2894	/* AVX-512: Op code 0f eb */
   2895
   2896	asm volatile("por   %mm4,%mm6");
   2897	asm volatile("vpor   %ymm4,%ymm6,%ymm2");
   2898	asm volatile("vpord  %zmm4,%zmm5,%zmm6");
   2899	asm volatile("vporq  %zmm4,%zmm5,%zmm6");
   2900
   2901	/* AVX-512: Op code 0f ef */
   2902
   2903	asm volatile("pxor   %mm4,%mm6");
   2904	asm volatile("vpxor  %ymm4,%ymm6,%ymm2");
   2905	asm volatile("vpxord %zmm4,%zmm5,%zmm6");
   2906	asm volatile("vpxorq %zmm4,%zmm5,%zmm6");
   2907
   2908	/* AVX-512: Op code 0f 38 10 */
   2909
   2910	asm volatile("pblendvb %xmm1,%xmm0");
   2911	asm volatile("vpsrlvw %zmm4,%zmm5,%zmm6");
   2912	asm volatile("vpmovuswb %zmm5,%ymm6{%k7}");
   2913
   2914	/* AVX-512: Op code 0f 38 11 */
   2915
   2916	asm volatile("vpmovusdb %zmm5,%xmm6{%k7}");
   2917	asm volatile("vpsravw %zmm4,%zmm5,%zmm6");
   2918
   2919	/* AVX-512: Op code 0f 38 12 */
   2920
   2921	asm volatile("vpmovusqb %zmm5,%xmm6{%k7}");
   2922	asm volatile("vpsllvw %zmm4,%zmm5,%zmm6");
   2923
   2924	/* AVX-512: Op code 0f 38 13 */
   2925
   2926	asm volatile("vcvtph2ps %xmm3,%ymm5");
   2927	asm volatile("vcvtph2ps %ymm5,%zmm6{%k7}");
   2928	asm volatile("vpmovusdw %zmm5,%ymm6{%k7}");
   2929
   2930	/* AVX-512: Op code 0f 38 14 */
   2931
   2932	asm volatile("blendvps %xmm1,%xmm0");
   2933	asm volatile("vpmovusqw %zmm5,%xmm6{%k7}");
   2934	asm volatile("vprorvd %zmm4,%zmm5,%zmm6");
   2935	asm volatile("vprorvq %zmm4,%zmm5,%zmm6");
   2936
   2937	/* AVX-512: Op code 0f 38 15 */
   2938
   2939	asm volatile("blendvpd %xmm1,%xmm0");
   2940	asm volatile("vpmovusqd %zmm5,%ymm6{%k7}");
   2941	asm volatile("vprolvd %zmm4,%zmm5,%zmm6");
   2942	asm volatile("vprolvq %zmm4,%zmm5,%zmm6");
   2943
   2944	/* AVX-512: Op code 0f 38 16 */
   2945
   2946	asm volatile("vpermps %ymm4,%ymm6,%ymm2");
   2947	asm volatile("vpermps %ymm4,%ymm6,%ymm2{%k7}");
   2948	asm volatile("vpermpd %ymm4,%ymm6,%ymm2{%k7}");
   2949
   2950	/* AVX-512: Op code 0f 38 19 */
   2951
   2952	asm volatile("vbroadcastsd %xmm4,%ymm6");
   2953	asm volatile("vbroadcastf32x2 %xmm7,%zmm6");
   2954
   2955	/* AVX-512: Op code 0f 38 1a */
   2956
   2957	asm volatile("vbroadcastf128 (%ecx),%ymm4");
   2958	asm volatile("vbroadcastf32x4 (%ecx),%zmm6");
   2959	asm volatile("vbroadcastf64x2 (%ecx),%zmm6");
   2960
   2961	/* AVX-512: Op code 0f 38 1b */
   2962
   2963	asm volatile("vbroadcastf32x8 (%ecx),%zmm6");
   2964	asm volatile("vbroadcastf64x4 (%ecx),%zmm6");
   2965
   2966	/* AVX-512: Op code 0f 38 1f */
   2967
   2968	asm volatile("vpabsq %zmm4,%zmm6");
   2969
   2970	/* AVX-512: Op code 0f 38 20 */
   2971
   2972	asm volatile("vpmovsxbw %xmm4,%xmm5");
   2973	asm volatile("vpmovswb %zmm5,%ymm6{%k7}");
   2974
   2975	/* AVX-512: Op code 0f 38 21 */
   2976
   2977	asm volatile("vpmovsxbd %xmm4,%ymm6");
   2978	asm volatile("vpmovsdb %zmm5,%xmm6{%k7}");
   2979
   2980	/* AVX-512: Op code 0f 38 22 */
   2981
   2982	asm volatile("vpmovsxbq %xmm4,%ymm4");
   2983	asm volatile("vpmovsqb %zmm5,%xmm6{%k7}");
   2984
   2985	/* AVX-512: Op code 0f 38 23 */
   2986
   2987	asm volatile("vpmovsxwd %xmm4,%ymm4");
   2988	asm volatile("vpmovsdw %zmm5,%ymm6{%k7}");
   2989
   2990	/* AVX-512: Op code 0f 38 24 */
   2991
   2992	asm volatile("vpmovsxwq %xmm4,%ymm6");
   2993	asm volatile("vpmovsqw %zmm5,%xmm6{%k7}");
   2994
   2995	/* AVX-512: Op code 0f 38 25 */
   2996
   2997	asm volatile("vpmovsxdq %xmm4,%ymm4");
   2998	asm volatile("vpmovsqd %zmm5,%ymm6{%k7}");
   2999
   3000	/* AVX-512: Op code 0f 38 26 */
   3001
   3002	asm volatile("vptestmb %zmm5,%zmm6,%k5");
   3003	asm volatile("vptestmw %zmm5,%zmm6,%k5");
   3004	asm volatile("vptestnmb %zmm4,%zmm5,%k5");
   3005	asm volatile("vptestnmw %zmm4,%zmm5,%k5");
   3006
   3007	/* AVX-512: Op code 0f 38 27 */
   3008
   3009	asm volatile("vptestmd %zmm5,%zmm6,%k5");
   3010	asm volatile("vptestmq %zmm5,%zmm6,%k5");
   3011	asm volatile("vptestnmd %zmm4,%zmm5,%k5");
   3012	asm volatile("vptestnmq %zmm4,%zmm5,%k5");
   3013
   3014	/* AVX-512: Op code 0f 38 28 */
   3015
   3016	asm volatile("vpmuldq %ymm4,%ymm6,%ymm2");
   3017	asm volatile("vpmovm2b %k5,%zmm6");
   3018	asm volatile("vpmovm2w %k5,%zmm6");
   3019
   3020	/* AVX-512: Op code 0f 38 29 */
   3021
   3022	asm volatile("vpcmpeqq %ymm4,%ymm6,%ymm2");
   3023	asm volatile("vpmovb2m %zmm6,%k5");
   3024	asm volatile("vpmovw2m %zmm6,%k5");
   3025
   3026	/* AVX-512: Op code 0f 38 2a */
   3027
   3028	asm volatile("vmovntdqa (%ecx),%ymm4");
   3029	asm volatile("vpbroadcastmb2q %k6,%zmm1");
   3030
   3031	/* AVX-512: Op code 0f 38 2c */
   3032
   3033	asm volatile("vmaskmovps (%ecx),%ymm4,%ymm6");
   3034	asm volatile("vscalefps %zmm4,%zmm5,%zmm6");
   3035	asm volatile("vscalefpd %zmm4,%zmm5,%zmm6");
   3036
   3037	/* AVX-512: Op code 0f 38 2d */
   3038
   3039	asm volatile("vmaskmovpd (%ecx),%ymm4,%ymm6");
   3040	asm volatile("vscalefss %xmm4,%xmm5,%xmm6{%k7}");
   3041	asm volatile("vscalefsd %xmm4,%xmm5,%xmm6{%k7}");
   3042
   3043	/* AVX-512: Op code 0f 38 30 */
   3044
   3045	asm volatile("vpmovzxbw %xmm4,%ymm4");
   3046	asm volatile("vpmovwb %zmm5,%ymm6{%k7}");
   3047
   3048	/* AVX-512: Op code 0f 38 31 */
   3049
   3050	asm volatile("vpmovzxbd %xmm4,%ymm6");
   3051	asm volatile("vpmovdb %zmm5,%xmm6{%k7}");
   3052
   3053	/* AVX-512: Op code 0f 38 32 */
   3054
   3055	asm volatile("vpmovzxbq %xmm4,%ymm4");
   3056	asm volatile("vpmovqb %zmm5,%xmm6{%k7}");
   3057
   3058	/* AVX-512: Op code 0f 38 33 */
   3059
   3060	asm volatile("vpmovzxwd %xmm4,%ymm4");
   3061	asm volatile("vpmovdw %zmm5,%ymm6{%k7}");
   3062
   3063	/* AVX-512: Op code 0f 38 34 */
   3064
   3065	asm volatile("vpmovzxwq %xmm4,%ymm6");
   3066	asm volatile("vpmovqw %zmm5,%xmm6{%k7}");
   3067
   3068	/* AVX-512: Op code 0f 38 35 */
   3069
   3070	asm volatile("vpmovzxdq %xmm4,%ymm4");
   3071	asm volatile("vpmovqd %zmm5,%ymm6{%k7}");
   3072
   3073	/* AVX-512: Op code 0f 38 36 */
   3074
   3075	asm volatile("vpermd %ymm4,%ymm6,%ymm2");
   3076	asm volatile("vpermd %ymm4,%ymm6,%ymm2{%k7}");
   3077	asm volatile("vpermq %ymm4,%ymm6,%ymm2{%k7}");
   3078
   3079	/* AVX-512: Op code 0f 38 38 */
   3080
   3081	asm volatile("vpminsb %ymm4,%ymm6,%ymm2");
   3082	asm volatile("vpmovm2d %k5,%zmm6");
   3083	asm volatile("vpmovm2q %k5,%zmm6");
   3084
   3085	/* AVX-512: Op code 0f 38 39 */
   3086
   3087	asm volatile("vpminsd %xmm1,%xmm2,%xmm3");
   3088	asm volatile("vpminsd %zmm4,%zmm5,%zmm6");
   3089	asm volatile("vpminsq %zmm4,%zmm5,%zmm6");
   3090	asm volatile("vpmovd2m %zmm6,%k5");
   3091	asm volatile("vpmovq2m %zmm6,%k5");
   3092
   3093	/* AVX-512: Op code 0f 38 3a */
   3094
   3095	asm volatile("vpminuw %ymm4,%ymm6,%ymm2");
   3096	asm volatile("vpbroadcastmw2d %k6,%zmm6");
   3097
   3098	/* AVX-512: Op code 0f 38 3b */
   3099
   3100	asm volatile("vpminud %ymm4,%ymm6,%ymm2");
   3101	asm volatile("vpminud %zmm4,%zmm5,%zmm6");
   3102	asm volatile("vpminuq %zmm4,%zmm5,%zmm6");
   3103
   3104	/* AVX-512: Op code 0f 38 3d */
   3105
   3106	asm volatile("vpmaxsd %ymm4,%ymm6,%ymm2");
   3107	asm volatile("vpmaxsd %zmm4,%zmm5,%zmm6");
   3108	asm volatile("vpmaxsq %zmm4,%zmm5,%zmm6");
   3109
   3110	/* AVX-512: Op code 0f 38 3f */
   3111
   3112	asm volatile("vpmaxud %ymm4,%ymm6,%ymm2");
   3113	asm volatile("vpmaxud %zmm4,%zmm5,%zmm6");
   3114	asm volatile("vpmaxuq %zmm4,%zmm5,%zmm6");
   3115
   3116	/* AVX-512: Op code 0f 38 40 */
   3117
   3118	asm volatile("vpmulld %ymm4,%ymm6,%ymm2");
   3119	asm volatile("vpmulld %zmm4,%zmm5,%zmm6");
   3120	asm volatile("vpmullq %zmm4,%zmm5,%zmm6");
   3121
   3122	/* AVX-512: Op code 0f 38 42 */
   3123
   3124	asm volatile("vgetexpps %zmm5,%zmm6");
   3125	asm volatile("vgetexppd %zmm5,%zmm6");
   3126
   3127	/* AVX-512: Op code 0f 38 43 */
   3128
   3129	asm volatile("vgetexpss %xmm4,%xmm5,%xmm6{%k7}");
   3130	asm volatile("vgetexpsd %xmm2,%xmm3,%xmm4{%k7}");
   3131
   3132	/* AVX-512: Op code 0f 38 44 */
   3133
   3134	asm volatile("vplzcntd %zmm5,%zmm6");
   3135	asm volatile("vplzcntq %zmm5,%zmm6");
   3136
   3137	/* AVX-512: Op code 0f 38 46 */
   3138
   3139	asm volatile("vpsravd %ymm4,%ymm6,%ymm2");
   3140	asm volatile("vpsravd %zmm4,%zmm5,%zmm6");
   3141	asm volatile("vpsravq %zmm4,%zmm5,%zmm6");
   3142
   3143	/* AVX-512: Op code 0f 38 4c */
   3144
   3145	asm volatile("vrcp14ps %zmm5,%zmm6");
   3146	asm volatile("vrcp14pd %zmm5,%zmm6");
   3147
   3148	/* AVX-512: Op code 0f 38 4d */
   3149
   3150	asm volatile("vrcp14ss %xmm4,%xmm5,%xmm6{%k7}");
   3151	asm volatile("vrcp14sd %xmm4,%xmm5,%xmm6{%k7}");
   3152
   3153	/* AVX-512: Op code 0f 38 4e */
   3154
   3155	asm volatile("vrsqrt14ps %zmm5,%zmm6");
   3156	asm volatile("vrsqrt14pd %zmm5,%zmm6");
   3157
   3158	/* AVX-512: Op code 0f 38 4f */
   3159
   3160	asm volatile("vrsqrt14ss %xmm4,%xmm5,%xmm6{%k7}");
   3161	asm volatile("vrsqrt14sd %xmm4,%xmm5,%xmm6{%k7}");
   3162
   3163	/* AVX-512: Op code 0f 38 50 */
   3164
   3165	asm volatile("vpdpbusd %xmm1, %xmm2, %xmm3");
   3166	asm volatile("vpdpbusd %ymm1, %ymm2, %ymm3");
   3167	asm volatile("vpdpbusd %zmm1, %zmm2, %zmm3");
   3168	asm volatile("vpdpbusd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3169
   3170	/* AVX-512: Op code 0f 38 51 */
   3171
   3172	asm volatile("vpdpbusds %xmm1, %xmm2, %xmm3");
   3173	asm volatile("vpdpbusds %ymm1, %ymm2, %ymm3");
   3174	asm volatile("vpdpbusds %zmm1, %zmm2, %zmm3");
   3175	asm volatile("vpdpbusds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3176
   3177	/* AVX-512: Op code 0f 38 52 */
   3178
   3179	asm volatile("vdpbf16ps %xmm1, %xmm2, %xmm3");
   3180	asm volatile("vdpbf16ps %ymm1, %ymm2, %ymm3");
   3181	asm volatile("vdpbf16ps %zmm1, %zmm2, %zmm3");
   3182	asm volatile("vdpbf16ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3183
   3184	asm volatile("vpdpwssd %xmm1, %xmm2, %xmm3");
   3185	asm volatile("vpdpwssd %ymm1, %ymm2, %ymm3");
   3186	asm volatile("vpdpwssd %zmm1, %zmm2, %zmm3");
   3187	asm volatile("vpdpwssd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3188
   3189	asm volatile("vp4dpwssd (%eax), %zmm0, %zmm4");
   3190	asm volatile("vp4dpwssd 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
   3191
   3192	/* AVX-512: Op code 0f 38 53 */
   3193
   3194	asm volatile("vpdpwssds %xmm1, %xmm2, %xmm3");
   3195	asm volatile("vpdpwssds %ymm1, %ymm2, %ymm3");
   3196	asm volatile("vpdpwssds %zmm1, %zmm2, %zmm3");
   3197	asm volatile("vpdpwssds 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3198
   3199	asm volatile("vp4dpwssds (%eax), %zmm0, %zmm4");
   3200	asm volatile("vp4dpwssds 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
   3201
   3202	/* AVX-512: Op code 0f 38 54 */
   3203
   3204	asm volatile("vpopcntb %xmm1, %xmm2");
   3205	asm volatile("vpopcntb %ymm1, %ymm2");
   3206	asm volatile("vpopcntb %zmm1, %zmm2");
   3207	asm volatile("vpopcntb 0x12345678(%eax,%ecx,8),%zmm2");
   3208
   3209	asm volatile("vpopcntw %xmm1, %xmm2");
   3210	asm volatile("vpopcntw %ymm1, %ymm2");
   3211	asm volatile("vpopcntw %zmm1, %zmm2");
   3212	asm volatile("vpopcntw 0x12345678(%eax,%ecx,8),%zmm2");
   3213
   3214	/* AVX-512: Op code 0f 38 55 */
   3215
   3216	asm volatile("vpopcntd %xmm1, %xmm2");
   3217	asm volatile("vpopcntd %ymm1, %ymm2");
   3218	asm volatile("vpopcntd %zmm1, %zmm2");
   3219	asm volatile("vpopcntd 0x12345678(%eax,%ecx,8),%zmm2");
   3220
   3221	asm volatile("vpopcntq %xmm1, %xmm2");
   3222	asm volatile("vpopcntq %ymm1, %ymm2");
   3223	asm volatile("vpopcntq %zmm1, %zmm2");
   3224	asm volatile("vpopcntq 0x12345678(%eax,%ecx,8),%zmm2");
   3225
   3226	/* AVX-512: Op code 0f 38 59 */
   3227
   3228	asm volatile("vpbroadcastq %xmm4,%xmm6");
   3229	asm volatile("vbroadcasti32x2 %xmm7,%zmm6");
   3230
   3231	/* AVX-512: Op code 0f 38 5a */
   3232
   3233	asm volatile("vbroadcasti128 (%ecx),%ymm4");
   3234	asm volatile("vbroadcasti32x4 (%ecx),%zmm6");
   3235	asm volatile("vbroadcasti64x2 (%ecx),%zmm6");
   3236
   3237	/* AVX-512: Op code 0f 38 5b */
   3238
   3239	asm volatile("vbroadcasti32x8 (%ecx),%zmm6");
   3240	asm volatile("vbroadcasti64x4 (%ecx),%zmm6");
   3241
   3242	/* AVX-512: Op code 0f 38 62 */
   3243
   3244	asm volatile("vpexpandb %xmm1, %xmm2");
   3245	asm volatile("vpexpandb %ymm1, %ymm2");
   3246	asm volatile("vpexpandb %zmm1, %zmm2");
   3247	asm volatile("vpexpandb 0x12345678(%eax,%ecx,8),%zmm2");
   3248
   3249	asm volatile("vpexpandw %xmm1, %xmm2");
   3250	asm volatile("vpexpandw %ymm1, %ymm2");
   3251	asm volatile("vpexpandw %zmm1, %zmm2");
   3252	asm volatile("vpexpandw 0x12345678(%eax,%ecx,8),%zmm2");
   3253
   3254	/* AVX-512: Op code 0f 38 63 */
   3255
   3256	asm volatile("vpcompressb %xmm1, %xmm2");
   3257	asm volatile("vpcompressb %ymm1, %ymm2");
   3258	asm volatile("vpcompressb %zmm1, %zmm2");
   3259	asm volatile("vpcompressb %zmm2,0x12345678(%eax,%ecx,8)");
   3260
   3261	asm volatile("vpcompressw %xmm1, %xmm2");
   3262	asm volatile("vpcompressw %ymm1, %ymm2");
   3263	asm volatile("vpcompressw %zmm1, %zmm2");
   3264	asm volatile("vpcompressw %zmm2,0x12345678(%eax,%ecx,8)");
   3265
   3266	/* AVX-512: Op code 0f 38 64 */
   3267
   3268	asm volatile("vpblendmd %zmm4,%zmm5,%zmm6");
   3269	asm volatile("vpblendmq %zmm4,%zmm5,%zmm6");
   3270
   3271	/* AVX-512: Op code 0f 38 65 */
   3272
   3273	asm volatile("vblendmps %zmm4,%zmm5,%zmm6");
   3274	asm volatile("vblendmpd %zmm4,%zmm5,%zmm6");
   3275
   3276	/* AVX-512: Op code 0f 38 66 */
   3277
   3278	asm volatile("vpblendmb %zmm4,%zmm5,%zmm6");
   3279	asm volatile("vpblendmw %zmm4,%zmm5,%zmm6");
   3280
   3281	/* AVX-512: Op code 0f 38 68 */
   3282
   3283	asm volatile("vp2intersectd %xmm1, %xmm2, %k3");
   3284	asm volatile("vp2intersectd %ymm1, %ymm2, %k3");
   3285	asm volatile("vp2intersectd %zmm1, %zmm2, %k3");
   3286	asm volatile("vp2intersectd 0x12345678(%eax,%ecx,8),%zmm2,%k3");
   3287
   3288	asm volatile("vp2intersectq %xmm1, %xmm2, %k3");
   3289	asm volatile("vp2intersectq %ymm1, %ymm2, %k3");
   3290	asm volatile("vp2intersectq %zmm1, %zmm2, %k3");
   3291	asm volatile("vp2intersectq 0x12345678(%eax,%ecx,8),%zmm2,%k3");
   3292
   3293	/* AVX-512: Op code 0f 38 70 */
   3294
   3295	asm volatile("vpshldvw %xmm1, %xmm2, %xmm3");
   3296	asm volatile("vpshldvw %ymm1, %ymm2, %ymm3");
   3297	asm volatile("vpshldvw %zmm1, %zmm2, %zmm3");
   3298	asm volatile("vpshldvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3299
   3300	/* AVX-512: Op code 0f 38 71 */
   3301
   3302	asm volatile("vpshldvd %xmm1, %xmm2, %xmm3");
   3303	asm volatile("vpshldvd %ymm1, %ymm2, %ymm3");
   3304	asm volatile("vpshldvd %zmm1, %zmm2, %zmm3");
   3305	asm volatile("vpshldvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3306
   3307	asm volatile("vpshldvq %xmm1, %xmm2, %xmm3");
   3308	asm volatile("vpshldvq %ymm1, %ymm2, %ymm3");
   3309	asm volatile("vpshldvq %zmm1, %zmm2, %zmm3");
   3310	asm volatile("vpshldvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3311
   3312	/* AVX-512: Op code 0f 38 72 */
   3313
   3314	asm volatile("vcvtne2ps2bf16 %xmm1, %xmm2, %xmm3");
   3315	asm volatile("vcvtne2ps2bf16 %ymm1, %ymm2, %ymm3");
   3316	asm volatile("vcvtne2ps2bf16 %zmm1, %zmm2, %zmm3");
   3317	asm volatile("vcvtne2ps2bf16 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3318
   3319	asm volatile("vcvtneps2bf16 %xmm1, %xmm2");
   3320	asm volatile("vcvtneps2bf16 %ymm1, %xmm2");
   3321	asm volatile("vcvtneps2bf16 %zmm1, %ymm2");
   3322	asm volatile("vcvtneps2bf16 0x12345678(%eax,%ecx,8),%ymm2");
   3323
   3324	asm volatile("vpshrdvw %xmm1, %xmm2, %xmm3");
   3325	asm volatile("vpshrdvw %ymm1, %ymm2, %ymm3");
   3326	asm volatile("vpshrdvw %zmm1, %zmm2, %zmm3");
   3327	asm volatile("vpshrdvw 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3328
   3329	/* AVX-512: Op code 0f 38 73 */
   3330
   3331	asm volatile("vpshrdvd %xmm1, %xmm2, %xmm3");
   3332	asm volatile("vpshrdvd %ymm1, %ymm2, %ymm3");
   3333	asm volatile("vpshrdvd %zmm1, %zmm2, %zmm3");
   3334	asm volatile("vpshrdvd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3335
   3336	asm volatile("vpshrdvq %xmm1, %xmm2, %xmm3");
   3337	asm volatile("vpshrdvq %ymm1, %ymm2, %ymm3");
   3338	asm volatile("vpshrdvq %zmm1, %zmm2, %zmm3");
   3339	asm volatile("vpshrdvq 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3340
   3341	/* AVX-512: Op code 0f 38 75 */
   3342
   3343	asm volatile("vpermi2b %zmm4,%zmm5,%zmm6");
   3344	asm volatile("vpermi2w %zmm4,%zmm5,%zmm6");
   3345
   3346	/* AVX-512: Op code 0f 38 76 */
   3347
   3348	asm volatile("vpermi2d %zmm4,%zmm5,%zmm6");
   3349	asm volatile("vpermi2q %zmm4,%zmm5,%zmm6");
   3350
   3351	/* AVX-512: Op code 0f 38 77 */
   3352
   3353	asm volatile("vpermi2ps %zmm4,%zmm5,%zmm6");
   3354	asm volatile("vpermi2pd %zmm4,%zmm5,%zmm6");
   3355
   3356	/* AVX-512: Op code 0f 38 7a */
   3357
   3358	asm volatile("vpbroadcastb %eax,%xmm3");
   3359
   3360	/* AVX-512: Op code 0f 38 7b */
   3361
   3362	asm volatile("vpbroadcastw %eax,%xmm3");
   3363
   3364	/* AVX-512: Op code 0f 38 7c */
   3365
   3366	asm volatile("vpbroadcastd %eax,%xmm3");
   3367
   3368	/* AVX-512: Op code 0f 38 7d */
   3369
   3370	asm volatile("vpermt2b %zmm4,%zmm5,%zmm6");
   3371	asm volatile("vpermt2w %zmm4,%zmm5,%zmm6");
   3372
   3373	/* AVX-512: Op code 0f 38 7e */
   3374
   3375	asm volatile("vpermt2d %zmm4,%zmm5,%zmm6");
   3376	asm volatile("vpermt2q %zmm4,%zmm5,%zmm6");
   3377
   3378	/* AVX-512: Op code 0f 38 7f */
   3379
   3380	asm volatile("vpermt2ps %zmm4,%zmm5,%zmm6");
   3381	asm volatile("vpermt2pd %zmm4,%zmm5,%zmm6");
   3382
   3383	/* AVX-512: Op code 0f 38 83 */
   3384
   3385	asm volatile("vpmultishiftqb %zmm4,%zmm5,%zmm6");
   3386
   3387	/* AVX-512: Op code 0f 38 88 */
   3388
   3389	asm volatile("vexpandps (%ecx),%zmm6");
   3390	asm volatile("vexpandpd (%ecx),%zmm6");
   3391
   3392	/* AVX-512: Op code 0f 38 89 */
   3393
   3394	asm volatile("vpexpandd (%ecx),%zmm6");
   3395	asm volatile("vpexpandq (%ecx),%zmm6");
   3396
   3397	/* AVX-512: Op code 0f 38 8a */
   3398
   3399	asm volatile("vcompressps %zmm6,(%ecx)");
   3400	asm volatile("vcompresspd %zmm6,(%ecx)");
   3401
   3402	/* AVX-512: Op code 0f 38 8b */
   3403
   3404	asm volatile("vpcompressd %zmm6,(%ecx)");
   3405	asm volatile("vpcompressq %zmm6,(%ecx)");
   3406
   3407	/* AVX-512: Op code 0f 38 8d */
   3408
   3409	asm volatile("vpermb %zmm4,%zmm5,%zmm6");
   3410	asm volatile("vpermw %zmm4,%zmm5,%zmm6");
   3411
   3412	/* AVX-512: Op code 0f 38 8f */
   3413
   3414	asm volatile("vpshufbitqmb %xmm1, %xmm2, %k3");
   3415	asm volatile("vpshufbitqmb %ymm1, %ymm2, %k3");
   3416	asm volatile("vpshufbitqmb %zmm1, %zmm2, %k3");
   3417	asm volatile("vpshufbitqmb 0x12345678(%eax,%ecx,8),%zmm2,%k3");
   3418
   3419	/* AVX-512: Op code 0f 38 90 */
   3420
   3421	asm volatile("vpgatherdd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
   3422	asm volatile("vpgatherdq %xmm2,0x04(%ebp,%xmm7,2),%xmm1");
   3423	asm volatile("vpgatherdd 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");
   3424	asm volatile("vpgatherdq 0x7b(%ebp,%ymm7,8),%zmm6{%k1}");
   3425
   3426	/* AVX-512: Op code 0f 38 91 */
   3427
   3428	asm volatile("vpgatherqd %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
   3429	asm volatile("vpgatherqq %xmm2,0x02(%ebp,%xmm7,2),%xmm1");
   3430	asm volatile("vpgatherqd 0x7b(%ebp,%zmm7,8),%ymm6{%k1}");
   3431	asm volatile("vpgatherqq 0x7b(%ebp,%zmm7,8),%zmm6{%k1}");
   3432
   3433	/* AVX-512: Op code 0f 38 9a */
   3434
   3435	asm volatile("vfmsub132ps %xmm1, %xmm2, %xmm3");
   3436	asm volatile("vfmsub132ps %ymm1, %ymm2, %ymm3");
   3437	asm volatile("vfmsub132ps %zmm1, %zmm2, %zmm3");
   3438	asm volatile("vfmsub132ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3439
   3440	asm volatile("vfmsub132pd %xmm1, %xmm2, %xmm3");
   3441	asm volatile("vfmsub132pd %ymm1, %ymm2, %ymm3");
   3442	asm volatile("vfmsub132pd %zmm1, %zmm2, %zmm3");
   3443	asm volatile("vfmsub132pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3444
   3445	asm volatile("v4fmaddps (%eax), %zmm0, %zmm4");
   3446	asm volatile("v4fmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
   3447
   3448	/* AVX-512: Op code 0f 38 9b */
   3449
   3450	asm volatile("vfmsub132ss %xmm1, %xmm2, %xmm3");
   3451	asm volatile("vfmsub132ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
   3452
   3453	asm volatile("vfmsub132sd %xmm1, %xmm2, %xmm3");
   3454	asm volatile("vfmsub132sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
   3455
   3456	asm volatile("v4fmaddss (%eax), %xmm0, %xmm4");
   3457	asm volatile("v4fmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
   3458
   3459	/* AVX-512: Op code 0f 38 a0 */
   3460
   3461	asm volatile("vpscatterdd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
   3462	asm volatile("vpscatterdq %zmm6,0x7b(%ebp,%ymm7,8){%k1}");
   3463
   3464	/* AVX-512: Op code 0f 38 a1 */
   3465
   3466	asm volatile("vpscatterqd %ymm6,0x7b(%ebp,%zmm7,8){%k1}");
   3467	asm volatile("vpscatterqq %ymm6,0x7b(%ebp,%ymm7,8){%k1}");
   3468
   3469	/* AVX-512: Op code 0f 38 a2 */
   3470
   3471	asm volatile("vscatterdps %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
   3472	asm volatile("vscatterdpd %zmm6,0x7b(%ebp,%ymm7,8){%k1}");
   3473
   3474	/* AVX-512: Op code 0f 38 a3 */
   3475
   3476	asm volatile("vscatterqps %ymm6,0x7b(%ebp,%zmm7,8){%k1}");
   3477	asm volatile("vscatterqpd %zmm6,0x7b(%ebp,%zmm7,8){%k1}");
   3478
   3479	/* AVX-512: Op code 0f 38 aa */
   3480
   3481	asm volatile("vfmsub213ps %xmm1, %xmm2, %xmm3");
   3482	asm volatile("vfmsub213ps %ymm1, %ymm2, %ymm3");
   3483	asm volatile("vfmsub213ps %zmm1, %zmm2, %zmm3");
   3484	asm volatile("vfmsub213ps 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3485
   3486	asm volatile("vfmsub213pd %xmm1, %xmm2, %xmm3");
   3487	asm volatile("vfmsub213pd %ymm1, %ymm2, %ymm3");
   3488	asm volatile("vfmsub213pd %zmm1, %zmm2, %zmm3");
   3489	asm volatile("vfmsub213pd 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3490
   3491	asm volatile("v4fnmaddps (%eax), %zmm0, %zmm4");
   3492	asm volatile("v4fnmaddps 0x12345678(%eax,%ecx,8),%zmm0,%zmm4");
   3493
   3494	/* AVX-512: Op code 0f 38 ab */
   3495
   3496	asm volatile("vfmsub213ss %xmm1, %xmm2, %xmm3");
   3497	asm volatile("vfmsub213ss 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
   3498
   3499	asm volatile("vfmsub213sd %xmm1, %xmm2, %xmm3");
   3500	asm volatile("vfmsub213sd 0x12345678(%eax,%ecx,8),%xmm2,%xmm3");
   3501
   3502	asm volatile("v4fnmaddss (%eax), %xmm0, %xmm4");
   3503	asm volatile("v4fnmaddss 0x12345678(%eax,%ecx,8),%xmm0,%xmm4");
   3504
   3505	/* AVX-512: Op code 0f 38 b4 */
   3506
   3507	asm volatile("vpmadd52luq %zmm4,%zmm5,%zmm6");
   3508
   3509	/* AVX-512: Op code 0f 38 b5 */
   3510
   3511	asm volatile("vpmadd52huq %zmm4,%zmm5,%zmm6");
   3512
   3513	/* AVX-512: Op code 0f 38 c4 */
   3514
   3515	asm volatile("vpconflictd %zmm5,%zmm6");
   3516	asm volatile("vpconflictq %zmm5,%zmm6");
   3517
   3518	/* AVX-512: Op code 0f 38 c8 */
   3519
   3520	asm volatile("vexp2ps %zmm6,%zmm7");
   3521	asm volatile("vexp2pd %zmm6,%zmm7");
   3522
   3523	/* AVX-512: Op code 0f 38 ca */
   3524
   3525	asm volatile("vrcp28ps %zmm6,%zmm7");
   3526	asm volatile("vrcp28pd %zmm6,%zmm7");
   3527
   3528	/* AVX-512: Op code 0f 38 cb */
   3529
   3530	asm volatile("vrcp28ss %xmm5,%xmm6,%xmm7{%k7}");
   3531	asm volatile("vrcp28sd %xmm5,%xmm6,%xmm7{%k7}");
   3532
   3533	/* AVX-512: Op code 0f 38 cc */
   3534
   3535	asm volatile("vrsqrt28ps %zmm6,%zmm7");
   3536	asm volatile("vrsqrt28pd %zmm6,%zmm7");
   3537
   3538	/* AVX-512: Op code 0f 38 cd */
   3539
   3540	asm volatile("vrsqrt28ss %xmm5,%xmm6,%xmm7{%k7}");
   3541	asm volatile("vrsqrt28sd %xmm5,%xmm6,%xmm7{%k7}");
   3542
   3543	/* AVX-512: Op code 0f 38 cf */
   3544
   3545	asm volatile("gf2p8mulb %xmm1, %xmm3");
   3546	asm volatile("gf2p8mulb 0x12345678(%eax,%ecx,8),%xmm3");
   3547
   3548	asm volatile("vgf2p8mulb %xmm1, %xmm2, %xmm3");
   3549	asm volatile("vgf2p8mulb %ymm1, %ymm2, %ymm3");
   3550	asm volatile("vgf2p8mulb %zmm1, %zmm2, %zmm3");
   3551	asm volatile("vgf2p8mulb 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3552
   3553	/* AVX-512: Op code 0f 38 dc */
   3554
   3555	asm volatile("vaesenc %xmm1, %xmm2, %xmm3");
   3556	asm volatile("vaesenc %ymm1, %ymm2, %ymm3");
   3557	asm volatile("vaesenc %zmm1, %zmm2, %zmm3");
   3558	asm volatile("vaesenc 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3559
   3560	/* AVX-512: Op code 0f 38 dd */
   3561
   3562	asm volatile("vaesenclast %xmm1, %xmm2, %xmm3");
   3563	asm volatile("vaesenclast %ymm1, %ymm2, %ymm3");
   3564	asm volatile("vaesenclast %zmm1, %zmm2, %zmm3");
   3565	asm volatile("vaesenclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3566
   3567	/* AVX-512: Op code 0f 38 de */
   3568
   3569	asm volatile("vaesdec %xmm1, %xmm2, %xmm3");
   3570	asm volatile("vaesdec %ymm1, %ymm2, %ymm3");
   3571	asm volatile("vaesdec %zmm1, %zmm2, %zmm3");
   3572	asm volatile("vaesdec 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3573
   3574	/* AVX-512: Op code 0f 38 df */
   3575
   3576	asm volatile("vaesdeclast %xmm1, %xmm2, %xmm3");
   3577	asm volatile("vaesdeclast %ymm1, %ymm2, %ymm3");
   3578	asm volatile("vaesdeclast %zmm1, %zmm2, %zmm3");
   3579	asm volatile("vaesdeclast 0x12345678(%eax,%ecx,8),%zmm2,%zmm3");
   3580
   3581	/* AVX-512: Op code 0f 3a 03 */
   3582
   3583	asm volatile("valignd $0x12,%zmm5,%zmm6,%zmm7");
   3584	asm volatile("valignq $0x12,%zmm5,%zmm6,%zmm7");
   3585
   3586	/* AVX-512: Op code 0f 3a 08 */
   3587
   3588	asm volatile("vroundps $0x5,%ymm6,%ymm2");
   3589	asm volatile("vrndscaleps $0x12,%zmm5,%zmm6");
   3590
   3591	/* AVX-512: Op code 0f 3a 09 */
   3592
   3593	asm volatile("vroundpd $0x5,%ymm6,%ymm2");
   3594	asm volatile("vrndscalepd $0x12,%zmm5,%zmm6");
   3595
   3596	/* AVX-512: Op code 0f 3a 0a */
   3597
   3598	asm volatile("vroundss $0x5,%xmm4,%xmm6,%xmm2");
   3599	asm volatile("vrndscaless $0x12,%xmm4,%xmm5,%xmm6{%k7}");
   3600
   3601	/* AVX-512: Op code 0f 3a 0b */
   3602
   3603	asm volatile("vroundsd $0x5,%xmm4,%xmm6,%xmm2");
   3604	asm volatile("vrndscalesd $0x12,%xmm4,%xmm5,%xmm6{%k7}");
   3605
   3606	/* AVX-512: Op code 0f 3a 18 */
   3607
   3608	asm volatile("vinsertf128 $0x5,%xmm4,%ymm4,%ymm6");
   3609	asm volatile("vinsertf32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
   3610	asm volatile("vinsertf64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
   3611
   3612	/* AVX-512: Op code 0f 3a 19 */
   3613
   3614	asm volatile("vextractf128 $0x5,%ymm4,%xmm4");
   3615	asm volatile("vextractf32x4 $0x12,%zmm5,%xmm6{%k7}");
   3616	asm volatile("vextractf64x2 $0x12,%zmm5,%xmm6{%k7}");
   3617
   3618	/* AVX-512: Op code 0f 3a 1a */
   3619
   3620	asm volatile("vinsertf32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
   3621	asm volatile("vinsertf64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
   3622
   3623	/* AVX-512: Op code 0f 3a 1b */
   3624
   3625	asm volatile("vextractf32x8 $0x12,%zmm6,%ymm7{%k7}");
   3626	asm volatile("vextractf64x4 $0x12,%zmm6,%ymm7{%k7}");
   3627
   3628	/* AVX-512: Op code 0f 3a 1e */
   3629
   3630	asm volatile("vpcmpud $0x12,%zmm6,%zmm7,%k5");
   3631	asm volatile("vpcmpuq $0x12,%zmm6,%zmm7,%k5");
   3632
   3633	/* AVX-512: Op code 0f 3a 1f */
   3634
   3635	asm volatile("vpcmpd $0x12,%zmm6,%zmm7,%k5");
   3636	asm volatile("vpcmpq $0x12,%zmm6,%zmm7,%k5");
   3637
   3638	/* AVX-512: Op code 0f 3a 23 */
   3639
   3640	asm volatile("vshuff32x4 $0x12,%zmm5,%zmm6,%zmm7");
   3641	asm volatile("vshuff64x2 $0x12,%zmm5,%zmm6,%zmm7");
   3642
   3643	/* AVX-512: Op code 0f 3a 25 */
   3644
   3645	asm volatile("vpternlogd $0x12,%zmm5,%zmm6,%zmm7");
   3646	asm volatile("vpternlogq $0x12,%zmm5,%zmm6,%zmm7");
   3647
   3648	/* AVX-512: Op code 0f 3a 26 */
   3649
   3650	asm volatile("vgetmantps $0x12,%zmm6,%zmm7");
   3651	asm volatile("vgetmantpd $0x12,%zmm6,%zmm7");
   3652
   3653	/* AVX-512: Op code 0f 3a 27 */
   3654
   3655	asm volatile("vgetmantss $0x12,%xmm5,%xmm6,%xmm7{%k7}");
   3656	asm volatile("vgetmantsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");
   3657
   3658	/* AVX-512: Op code 0f 3a 38 */
   3659
   3660	asm volatile("vinserti128 $0x5,%xmm4,%ymm4,%ymm6");
   3661	asm volatile("vinserti32x4 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
   3662	asm volatile("vinserti64x2 $0x12,%xmm4,%zmm5,%zmm6{%k7}");
   3663
   3664	/* AVX-512: Op code 0f 3a 39 */
   3665
   3666	asm volatile("vextracti128 $0x5,%ymm4,%xmm6");
   3667	asm volatile("vextracti32x4 $0x12,%zmm5,%xmm6{%k7}");
   3668	asm volatile("vextracti64x2 $0x12,%zmm5,%xmm6{%k7}");
   3669
   3670	/* AVX-512: Op code 0f 3a 3a */
   3671
   3672	asm volatile("vinserti32x8 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
   3673	asm volatile("vinserti64x4 $0x12,%ymm5,%zmm6,%zmm7{%k7}");
   3674
   3675	/* AVX-512: Op code 0f 3a 3b */
   3676
   3677	asm volatile("vextracti32x8 $0x12,%zmm6,%ymm7{%k7}");
   3678	asm volatile("vextracti64x4 $0x12,%zmm6,%ymm7{%k7}");
   3679
   3680	/* AVX-512: Op code 0f 3a 3e */
   3681
   3682	asm volatile("vpcmpub $0x12,%zmm6,%zmm7,%k5");
   3683	asm volatile("vpcmpuw $0x12,%zmm6,%zmm7,%k5");
   3684
   3685	/* AVX-512: Op code 0f 3a 3f */
   3686
   3687	asm volatile("vpcmpb $0x12,%zmm6,%zmm7,%k5");
   3688	asm volatile("vpcmpw $0x12,%zmm6,%zmm7,%k5");
   3689
   3690	/* AVX-512: Op code 0f 3a 42 */
   3691
   3692	asm volatile("vmpsadbw $0x5,%ymm4,%ymm6,%ymm2");
   3693	asm volatile("vdbpsadbw $0x12,%zmm4,%zmm5,%zmm6");
   3694
   3695	/* AVX-512: Op code 0f 3a 43 */
   3696
   3697	asm volatile("vshufi32x4 $0x12,%zmm5,%zmm6,%zmm7");
   3698	asm volatile("vshufi64x2 $0x12,%zmm5,%zmm6,%zmm7");
   3699
   3700	/* AVX-512: Op code 0f 3a 44 */
   3701
   3702	asm volatile("vpclmulqdq $0x12,%xmm1,%xmm2,%xmm3");
   3703	asm volatile("vpclmulqdq $0x12,%ymm1,%ymm2,%ymm3");
   3704	asm volatile("vpclmulqdq $0x12,%zmm1,%zmm2,%zmm3");
   3705
   3706	/* AVX-512: Op code 0f 3a 50 */
   3707
   3708	asm volatile("vrangeps $0x12,%zmm5,%zmm6,%zmm7");
   3709	asm volatile("vrangepd $0x12,%zmm5,%zmm6,%zmm7");
   3710
   3711	/* AVX-512: Op code 0f 3a 51 */
   3712
   3713	asm volatile("vrangess $0x12,%xmm5,%xmm6,%xmm7");
   3714	asm volatile("vrangesd $0x12,%xmm5,%xmm6,%xmm7");
   3715
   3716	/* AVX-512: Op code 0f 3a 54 */
   3717
   3718	asm volatile("vfixupimmps $0x12,%zmm5,%zmm6,%zmm7");
   3719	asm volatile("vfixupimmpd $0x12,%zmm5,%zmm6,%zmm7");
   3720
   3721	/* AVX-512: Op code 0f 3a 55 */
   3722
   3723	asm volatile("vfixupimmss $0x12,%xmm5,%xmm6,%xmm7{%k7}");
   3724	asm volatile("vfixupimmsd $0x12,%xmm5,%xmm6,%xmm7{%k7}");
   3725
   3726	/* AVX-512: Op code 0f 3a 56 */
   3727
   3728	asm volatile("vreduceps $0x12,%zmm6,%zmm7");
   3729	asm volatile("vreducepd $0x12,%zmm6,%zmm7");
   3730
   3731	/* AVX-512: Op code 0f 3a 57 */
   3732
   3733	asm volatile("vreducess $0x12,%xmm5,%xmm6,%xmm7");
   3734	asm volatile("vreducesd $0x12,%xmm5,%xmm6,%xmm7");
   3735
   3736	/* AVX-512: Op code 0f 3a 66 */
   3737
   3738	asm volatile("vfpclassps $0x12,%zmm7,%k5");
   3739	asm volatile("vfpclasspd $0x12,%zmm7,%k5");
   3740
   3741	/* AVX-512: Op code 0f 3a 67 */
   3742
   3743	asm volatile("vfpclassss $0x12,%xmm7,%k5");
   3744	asm volatile("vfpclasssd $0x12,%xmm7,%k5");
   3745
   3746	/* AVX-512: Op code 0f 3a 70 */
   3747
   3748	asm volatile("vpshldw $0x12,%xmm1,%xmm2,%xmm3");
   3749	asm volatile("vpshldw $0x12,%ymm1,%ymm2,%ymm3");
   3750	asm volatile("vpshldw $0x12,%zmm1,%zmm2,%zmm3");
   3751
   3752	/* AVX-512: Op code 0f 3a 71 */
   3753
   3754	asm volatile("vpshldd $0x12,%xmm1,%xmm2,%xmm3");
   3755	asm volatile("vpshldd $0x12,%ymm1,%ymm2,%ymm3");
   3756	asm volatile("vpshldd $0x12,%zmm1,%zmm2,%zmm3");
   3757
   3758	asm volatile("vpshldq $0x12,%xmm1,%xmm2,%xmm3");
   3759	asm volatile("vpshldq $0x12,%ymm1,%ymm2,%ymm3");
   3760	asm volatile("vpshldq $0x12,%zmm1,%zmm2,%zmm3");
   3761
   3762	/* AVX-512: Op code 0f 3a 72 */
   3763
   3764	asm volatile("vpshrdw $0x12,%xmm1,%xmm2,%xmm3");
   3765	asm volatile("vpshrdw $0x12,%ymm1,%ymm2,%ymm3");
   3766	asm volatile("vpshrdw $0x12,%zmm1,%zmm2,%zmm3");
   3767
   3768	/* AVX-512: Op code 0f 3a 73 */
   3769
   3770	asm volatile("vpshrdd $0x12,%xmm1,%xmm2,%xmm3");
   3771	asm volatile("vpshrdd $0x12,%ymm1,%ymm2,%ymm3");
   3772	asm volatile("vpshrdd $0x12,%zmm1,%zmm2,%zmm3");
   3773
   3774	asm volatile("vpshrdq $0x12,%xmm1,%xmm2,%xmm3");
   3775	asm volatile("vpshrdq $0x12,%ymm1,%ymm2,%ymm3");
   3776	asm volatile("vpshrdq $0x12,%zmm1,%zmm2,%zmm3");
   3777
   3778	/* AVX-512: Op code 0f 3a ce */
   3779
   3780	asm volatile("gf2p8affineqb $0x12,%xmm1,%xmm3");
   3781
   3782	asm volatile("vgf2p8affineqb $0x12,%xmm1,%xmm2,%xmm3");
   3783	asm volatile("vgf2p8affineqb $0x12,%ymm1,%ymm2,%ymm3");
   3784	asm volatile("vgf2p8affineqb $0x12,%zmm1,%zmm2,%zmm3");
   3785
   3786	/* AVX-512: Op code 0f 3a cf */
   3787
   3788	asm volatile("gf2p8affineinvqb $0x12,%xmm1,%xmm3");
   3789
   3790	asm volatile("vgf2p8affineinvqb $0x12,%xmm1,%xmm2,%xmm3");
   3791	asm volatile("vgf2p8affineinvqb $0x12,%ymm1,%ymm2,%ymm3");
   3792	asm volatile("vgf2p8affineinvqb $0x12,%zmm1,%zmm2,%zmm3");
   3793
   3794	/* AVX-512: Op code 0f 72 (Grp13) */
   3795
   3796	asm volatile("vprord $0x12,%zmm5,%zmm6");
   3797	asm volatile("vprorq $0x12,%zmm5,%zmm6");
   3798	asm volatile("vprold $0x12,%zmm5,%zmm6");
   3799	asm volatile("vprolq $0x12,%zmm5,%zmm6");
   3800	asm volatile("psrad  $0x2,%mm6");
   3801	asm volatile("vpsrad $0x5,%ymm6,%ymm2");
   3802	asm volatile("vpsrad $0x5,%zmm6,%zmm2");
   3803	asm volatile("vpsraq $0x5,%zmm6,%zmm2");
   3804
   3805	/* AVX-512: Op code 0f 38 c6 (Grp18) */
   3806
   3807	asm volatile("vgatherpf0dps 0x7b(%ebp,%zmm7,8){%k1}");
   3808	asm volatile("vgatherpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");
   3809	asm volatile("vgatherpf1dps 0x7b(%ebp,%zmm7,8){%k1}");
   3810	asm volatile("vgatherpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");
   3811	asm volatile("vscatterpf0dps 0x7b(%ebp,%zmm7,8){%k1}");
   3812	asm volatile("vscatterpf0dpd 0x7b(%ebp,%ymm7,8){%k1}");
   3813	asm volatile("vscatterpf1dps 0x7b(%ebp,%zmm7,8){%k1}");
   3814	asm volatile("vscatterpf1dpd 0x7b(%ebp,%ymm7,8){%k1}");
   3815
   3816	/* AVX-512: Op code 0f 38 c7 (Grp19) */
   3817
   3818	asm volatile("vgatherpf0qps 0x7b(%ebp,%zmm7,8){%k1}");
   3819	asm volatile("vgatherpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");
   3820	asm volatile("vgatherpf1qps 0x7b(%ebp,%zmm7,8){%k1}");
   3821	asm volatile("vgatherpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");
   3822	asm volatile("vscatterpf0qps 0x7b(%ebp,%zmm7,8){%k1}");
   3823	asm volatile("vscatterpf0qpd 0x7b(%ebp,%zmm7,8){%k1}");
   3824	asm volatile("vscatterpf1qps 0x7b(%ebp,%zmm7,8){%k1}");
   3825	asm volatile("vscatterpf1qpd 0x7b(%ebp,%zmm7,8){%k1}");
   3826
   3827	/* AVX-512: Examples */
   3828
   3829	asm volatile("vaddpd %zmm4,%zmm5,%zmm6");
   3830	asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}");
   3831	asm volatile("vaddpd %zmm4,%zmm5,%zmm6{%k7}{z}");
   3832	asm volatile("vaddpd {rn-sae},%zmm4,%zmm5,%zmm6");
   3833	asm volatile("vaddpd {ru-sae},%zmm4,%zmm5,%zmm6");
   3834	asm volatile("vaddpd {rd-sae},%zmm4,%zmm5,%zmm6");
   3835	asm volatile("vaddpd {rz-sae},%zmm4,%zmm5,%zmm6");
   3836	asm volatile("vaddpd (%ecx),%zmm5,%zmm6");
   3837	asm volatile("vaddpd 0x123(%eax,%ecx,8),%zmm5,%zmm6");
   3838	asm volatile("vaddpd (%ecx){1to8},%zmm5,%zmm6");
   3839	asm volatile("vaddpd 0x1fc0(%edx),%zmm5,%zmm6");
   3840	asm volatile("vaddpd 0x3f8(%edx){1to8},%zmm5,%zmm6");
   3841	asm volatile("vcmpeq_uqps 0x1fc(%edx){1to16},%zmm6,%k5");
   3842	asm volatile("vcmpltsd 0x123(%eax,%ecx,8),%xmm3,%k5{%k7}");
   3843	asm volatile("vcmplesd {sae},%xmm4,%xmm5,%k5{%k7}");
   3844	asm volatile("vgetmantss $0x5b,0x123(%eax,%ecx,8),%xmm4,%xmm5{%k7}");
   3845
   3846	/* bndmk m32, bnd */
   3847
   3848	asm volatile("bndmk (%eax), %bnd0");
   3849	asm volatile("bndmk (0x12345678), %bnd0");
   3850	asm volatile("bndmk (%eax), %bnd3");
   3851	asm volatile("bndmk (%ecx,%eax,1), %bnd0");
   3852	asm volatile("bndmk 0x12345678(,%eax,1), %bnd0");
   3853	asm volatile("bndmk (%eax,%ecx,1), %bnd0");
   3854	asm volatile("bndmk (%eax,%ecx,8), %bnd0");
   3855	asm volatile("bndmk 0x12(%eax), %bnd0");
   3856	asm volatile("bndmk 0x12(%ebp), %bnd0");
   3857	asm volatile("bndmk 0x12(%ecx,%eax,1), %bnd0");
   3858	asm volatile("bndmk 0x12(%ebp,%eax,1), %bnd0");
   3859	asm volatile("bndmk 0x12(%eax,%ecx,1), %bnd0");
   3860	asm volatile("bndmk 0x12(%eax,%ecx,8), %bnd0");
   3861	asm volatile("bndmk 0x12345678(%eax), %bnd0");
   3862	asm volatile("bndmk 0x12345678(%ebp), %bnd0");
   3863	asm volatile("bndmk 0x12345678(%ecx,%eax,1), %bnd0");
   3864	asm volatile("bndmk 0x12345678(%ebp,%eax,1), %bnd0");
   3865	asm volatile("bndmk 0x12345678(%eax,%ecx,1), %bnd0");
   3866	asm volatile("bndmk 0x12345678(%eax,%ecx,8), %bnd0");
   3867
   3868	/* bndcl r/m32, bnd */
   3869
   3870	asm volatile("bndcl (%eax), %bnd0");
   3871	asm volatile("bndcl (0x12345678), %bnd0");
   3872	asm volatile("bndcl (%eax), %bnd3");
   3873	asm volatile("bndcl (%ecx,%eax,1), %bnd0");
   3874	asm volatile("bndcl 0x12345678(,%eax,1), %bnd0");
   3875	asm volatile("bndcl (%eax,%ecx,1), %bnd0");
   3876	asm volatile("bndcl (%eax,%ecx,8), %bnd0");
   3877	asm volatile("bndcl 0x12(%eax), %bnd0");
   3878	asm volatile("bndcl 0x12(%ebp), %bnd0");
   3879	asm volatile("bndcl 0x12(%ecx,%eax,1), %bnd0");
   3880	asm volatile("bndcl 0x12(%ebp,%eax,1), %bnd0");
   3881	asm volatile("bndcl 0x12(%eax,%ecx,1), %bnd0");
   3882	asm volatile("bndcl 0x12(%eax,%ecx,8), %bnd0");
   3883	asm volatile("bndcl 0x12345678(%eax), %bnd0");
   3884	asm volatile("bndcl 0x12345678(%ebp), %bnd0");
   3885	asm volatile("bndcl 0x12345678(%ecx,%eax,1), %bnd0");
   3886	asm volatile("bndcl 0x12345678(%ebp,%eax,1), %bnd0");
   3887	asm volatile("bndcl 0x12345678(%eax,%ecx,1), %bnd0");
   3888	asm volatile("bndcl 0x12345678(%eax,%ecx,8), %bnd0");
   3889	asm volatile("bndcl %eax, %bnd0");
   3890
   3891	/* bndcu r/m32, bnd */
   3892
   3893	asm volatile("bndcu (%eax), %bnd0");
   3894	asm volatile("bndcu (0x12345678), %bnd0");
   3895	asm volatile("bndcu (%eax), %bnd3");
   3896	asm volatile("bndcu (%ecx,%eax,1), %bnd0");
   3897	asm volatile("bndcu 0x12345678(,%eax,1), %bnd0");
   3898	asm volatile("bndcu (%eax,%ecx,1), %bnd0");
   3899	asm volatile("bndcu (%eax,%ecx,8), %bnd0");
   3900	asm volatile("bndcu 0x12(%eax), %bnd0");
   3901	asm volatile("bndcu 0x12(%ebp), %bnd0");
   3902	asm volatile("bndcu 0x12(%ecx,%eax,1), %bnd0");
   3903	asm volatile("bndcu 0x12(%ebp,%eax,1), %bnd0");
   3904	asm volatile("bndcu 0x12(%eax,%ecx,1), %bnd0");
   3905	asm volatile("bndcu 0x12(%eax,%ecx,8), %bnd0");
   3906	asm volatile("bndcu 0x12345678(%eax), %bnd0");
   3907	asm volatile("bndcu 0x12345678(%ebp), %bnd0");
   3908	asm volatile("bndcu 0x12345678(%ecx,%eax,1), %bnd0");
   3909	asm volatile("bndcu 0x12345678(%ebp,%eax,1), %bnd0");
   3910	asm volatile("bndcu 0x12345678(%eax,%ecx,1), %bnd0");
   3911	asm volatile("bndcu 0x12345678(%eax,%ecx,8), %bnd0");
   3912	asm volatile("bndcu %eax, %bnd0");
   3913
   3914	/* bndcn r/m32, bnd */
   3915
   3916	asm volatile("bndcn (%eax), %bnd0");
   3917	asm volatile("bndcn (0x12345678), %bnd0");
   3918	asm volatile("bndcn (%eax), %bnd3");
   3919	asm volatile("bndcn (%ecx,%eax,1), %bnd0");
   3920	asm volatile("bndcn 0x12345678(,%eax,1), %bnd0");
   3921	asm volatile("bndcn (%eax,%ecx,1), %bnd0");
   3922	asm volatile("bndcn (%eax,%ecx,8), %bnd0");
   3923	asm volatile("bndcn 0x12(%eax), %bnd0");
   3924	asm volatile("bndcn 0x12(%ebp), %bnd0");
   3925	asm volatile("bndcn 0x12(%ecx,%eax,1), %bnd0");
   3926	asm volatile("bndcn 0x12(%ebp,%eax,1), %bnd0");
   3927	asm volatile("bndcn 0x12(%eax,%ecx,1), %bnd0");
   3928	asm volatile("bndcn 0x12(%eax,%ecx,8), %bnd0");
   3929	asm volatile("bndcn 0x12345678(%eax), %bnd0");
   3930	asm volatile("bndcn 0x12345678(%ebp), %bnd0");
   3931	asm volatile("bndcn 0x12345678(%ecx,%eax,1), %bnd0");
   3932	asm volatile("bndcn 0x12345678(%ebp,%eax,1), %bnd0");
   3933	asm volatile("bndcn 0x12345678(%eax,%ecx,1), %bnd0");
   3934	asm volatile("bndcn 0x12345678(%eax,%ecx,8), %bnd0");
   3935	asm volatile("bndcn %eax, %bnd0");
   3936
   3937	/* bndmov m64, bnd */
   3938
   3939	asm volatile("bndmov (%eax), %bnd0");
   3940	asm volatile("bndmov (0x12345678), %bnd0");
   3941	asm volatile("bndmov (%eax), %bnd3");
   3942	asm volatile("bndmov (%ecx,%eax,1), %bnd0");
   3943	asm volatile("bndmov 0x12345678(,%eax,1), %bnd0");
   3944	asm volatile("bndmov (%eax,%ecx,1), %bnd0");
   3945	asm volatile("bndmov (%eax,%ecx,8), %bnd0");
   3946	asm volatile("bndmov 0x12(%eax), %bnd0");
   3947	asm volatile("bndmov 0x12(%ebp), %bnd0");
   3948	asm volatile("bndmov 0x12(%ecx,%eax,1), %bnd0");
   3949	asm volatile("bndmov 0x12(%ebp,%eax,1), %bnd0");
   3950	asm volatile("bndmov 0x12(%eax,%ecx,1), %bnd0");
   3951	asm volatile("bndmov 0x12(%eax,%ecx,8), %bnd0");
   3952	asm volatile("bndmov 0x12345678(%eax), %bnd0");
   3953	asm volatile("bndmov 0x12345678(%ebp), %bnd0");
   3954	asm volatile("bndmov 0x12345678(%ecx,%eax,1), %bnd0");
   3955	asm volatile("bndmov 0x12345678(%ebp,%eax,1), %bnd0");
   3956	asm volatile("bndmov 0x12345678(%eax,%ecx,1), %bnd0");
   3957	asm volatile("bndmov 0x12345678(%eax,%ecx,8), %bnd0");
   3958
   3959	/* bndmov bnd, m64 */
   3960
   3961	asm volatile("bndmov %bnd0, (%eax)");
   3962	asm volatile("bndmov %bnd0, (0x12345678)");
   3963	asm volatile("bndmov %bnd3, (%eax)");
   3964	asm volatile("bndmov %bnd0, (%ecx,%eax,1)");
   3965	asm volatile("bndmov %bnd0, 0x12345678(,%eax,1)");
   3966	asm volatile("bndmov %bnd0, (%eax,%ecx,1)");
   3967	asm volatile("bndmov %bnd0, (%eax,%ecx,8)");
   3968	asm volatile("bndmov %bnd0, 0x12(%eax)");
   3969	asm volatile("bndmov %bnd0, 0x12(%ebp)");
   3970	asm volatile("bndmov %bnd0, 0x12(%ecx,%eax,1)");
   3971	asm volatile("bndmov %bnd0, 0x12(%ebp,%eax,1)");
   3972	asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,1)");
   3973	asm volatile("bndmov %bnd0, 0x12(%eax,%ecx,8)");
   3974	asm volatile("bndmov %bnd0, 0x12345678(%eax)");
   3975	asm volatile("bndmov %bnd0, 0x12345678(%ebp)");
   3976	asm volatile("bndmov %bnd0, 0x12345678(%ecx,%eax,1)");
   3977	asm volatile("bndmov %bnd0, 0x12345678(%ebp,%eax,1)");
   3978	asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,1)");
   3979	asm volatile("bndmov %bnd0, 0x12345678(%eax,%ecx,8)");
   3980
   3981	/* bndmov bnd2, bnd1 */
   3982
   3983	asm volatile("bndmov %bnd0, %bnd1");
   3984	asm volatile("bndmov %bnd1, %bnd0");
   3985
   3986	/* bndldx mib, bnd */
   3987
   3988	asm volatile("bndldx (%eax), %bnd0");
   3989	asm volatile("bndldx (0x12345678), %bnd0");
   3990	asm volatile("bndldx (%eax), %bnd3");
   3991	asm volatile("bndldx (%ecx,%eax,1), %bnd0");
   3992	asm volatile("bndldx 0x12345678(,%eax,1), %bnd0");
   3993	asm volatile("bndldx (%eax,%ecx,1), %bnd0");
   3994	asm volatile("bndldx 0x12(%eax), %bnd0");
   3995	asm volatile("bndldx 0x12(%ebp), %bnd0");
   3996	asm volatile("bndldx 0x12(%ecx,%eax,1), %bnd0");
   3997	asm volatile("bndldx 0x12(%ebp,%eax,1), %bnd0");
   3998	asm volatile("bndldx 0x12(%eax,%ecx,1), %bnd0");
   3999	asm volatile("bndldx 0x12345678(%eax), %bnd0");
   4000	asm volatile("bndldx 0x12345678(%ebp), %bnd0");
   4001	asm volatile("bndldx 0x12345678(%ecx,%eax,1), %bnd0");
   4002	asm volatile("bndldx 0x12345678(%ebp,%eax,1), %bnd0");
   4003	asm volatile("bndldx 0x12345678(%eax,%ecx,1), %bnd0");
   4004
   4005	/* bndstx bnd, mib */
   4006
   4007	asm volatile("bndstx %bnd0, (%eax)");
   4008	asm volatile("bndstx %bnd0, (0x12345678)");
   4009	asm volatile("bndstx %bnd3, (%eax)");
   4010	asm volatile("bndstx %bnd0, (%ecx,%eax,1)");
   4011	asm volatile("bndstx %bnd0, 0x12345678(,%eax,1)");
   4012	asm volatile("bndstx %bnd0, (%eax,%ecx,1)");
   4013	asm volatile("bndstx %bnd0, 0x12(%eax)");
   4014	asm volatile("bndstx %bnd0, 0x12(%ebp)");
   4015	asm volatile("bndstx %bnd0, 0x12(%ecx,%eax,1)");
   4016	asm volatile("bndstx %bnd0, 0x12(%ebp,%eax,1)");
   4017	asm volatile("bndstx %bnd0, 0x12(%eax,%ecx,1)");
   4018	asm volatile("bndstx %bnd0, 0x12345678(%eax)");
   4019	asm volatile("bndstx %bnd0, 0x12345678(%ebp)");
   4020	asm volatile("bndstx %bnd0, 0x12345678(%ecx,%eax,1)");
   4021	asm volatile("bndstx %bnd0, 0x12345678(%ebp,%eax,1)");
   4022	asm volatile("bndstx %bnd0, 0x12345678(%eax,%ecx,1)");
   4023
   4024	/* bnd prefix on call, ret, jmp and all jcc */
   4025
   4026	asm volatile("bnd call label1");  /* Expecting: call unconditional 0xfffffffc */
   4027	asm volatile("bnd call *(%eax)"); /* Expecting: call indirect      0 */
   4028	asm volatile("bnd ret");          /* Expecting: ret  indirect      0 */
   4029	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */
   4030	asm volatile("bnd jmp label1");   /* Expecting: jmp  unconditional 0xfffffffc */
   4031	asm volatile("bnd jmp *(%ecx)");  /* Expecting: jmp  indirect      0 */
   4032	asm volatile("bnd jne label1");   /* Expecting: jcc  conditional   0xfffffffc */
   4033
   4034	/* sha1rnds4 imm8, xmm2/m128, xmm1 */
   4035
   4036	asm volatile("sha1rnds4 $0x0, %xmm1, %xmm0");
   4037	asm volatile("sha1rnds4 $0x91, %xmm7, %xmm2");
   4038	asm volatile("sha1rnds4 $0x91, (%eax), %xmm0");
   4039	asm volatile("sha1rnds4 $0x91, (0x12345678), %xmm0");
   4040	asm volatile("sha1rnds4 $0x91, (%eax), %xmm3");
   4041	asm volatile("sha1rnds4 $0x91, (%ecx,%eax,1), %xmm0");
   4042	asm volatile("sha1rnds4 $0x91, 0x12345678(,%eax,1), %xmm0");
   4043	asm volatile("sha1rnds4 $0x91, (%eax,%ecx,1), %xmm0");
   4044	asm volatile("sha1rnds4 $0x91, (%eax,%ecx,8), %xmm0");
   4045	asm volatile("sha1rnds4 $0x91, 0x12(%eax), %xmm0");
   4046	asm volatile("sha1rnds4 $0x91, 0x12(%ebp), %xmm0");
   4047	asm volatile("sha1rnds4 $0x91, 0x12(%ecx,%eax,1), %xmm0");
   4048	asm volatile("sha1rnds4 $0x91, 0x12(%ebp,%eax,1), %xmm0");
   4049	asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,1), %xmm0");
   4050	asm volatile("sha1rnds4 $0x91, 0x12(%eax,%ecx,8), %xmm0");
   4051	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax), %xmm0");
   4052	asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp), %xmm0");
   4053	asm volatile("sha1rnds4 $0x91, 0x12345678(%ecx,%eax,1), %xmm0");
   4054	asm volatile("sha1rnds4 $0x91, 0x12345678(%ebp,%eax,1), %xmm0");
   4055	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,1), %xmm0");
   4056	asm volatile("sha1rnds4 $0x91, 0x12345678(%eax,%ecx,8), %xmm0");
   4057
   4058	/* sha1nexte xmm2/m128, xmm1 */
   4059
   4060	asm volatile("sha1nexte %xmm1, %xmm0");
   4061	asm volatile("sha1nexte %xmm7, %xmm2");
   4062	asm volatile("sha1nexte (%eax), %xmm0");
   4063	asm volatile("sha1nexte (0x12345678), %xmm0");
   4064	asm volatile("sha1nexte (%eax), %xmm3");
   4065	asm volatile("sha1nexte (%ecx,%eax,1), %xmm0");
   4066	asm volatile("sha1nexte 0x12345678(,%eax,1), %xmm0");
   4067	asm volatile("sha1nexte (%eax,%ecx,1), %xmm0");
   4068	asm volatile("sha1nexte (%eax,%ecx,8), %xmm0");
   4069	asm volatile("sha1nexte 0x12(%eax), %xmm0");
   4070	asm volatile("sha1nexte 0x12(%ebp), %xmm0");
   4071	asm volatile("sha1nexte 0x12(%ecx,%eax,1), %xmm0");
   4072	asm volatile("sha1nexte 0x12(%ebp,%eax,1), %xmm0");
   4073	asm volatile("sha1nexte 0x12(%eax,%ecx,1), %xmm0");
   4074	asm volatile("sha1nexte 0x12(%eax,%ecx,8), %xmm0");
   4075	asm volatile("sha1nexte 0x12345678(%eax), %xmm0");
   4076	asm volatile("sha1nexte 0x12345678(%ebp), %xmm0");
   4077	asm volatile("sha1nexte 0x12345678(%ecx,%eax,1), %xmm0");
   4078	asm volatile("sha1nexte 0x12345678(%ebp,%eax,1), %xmm0");
   4079	asm volatile("sha1nexte 0x12345678(%eax,%ecx,1), %xmm0");
   4080	asm volatile("sha1nexte 0x12345678(%eax,%ecx,8), %xmm0");
   4081
   4082	/* sha1msg1 xmm2/m128, xmm1 */
   4083
   4084	asm volatile("sha1msg1 %xmm1, %xmm0");
   4085	asm volatile("sha1msg1 %xmm7, %xmm2");
   4086	asm volatile("sha1msg1 (%eax), %xmm0");
   4087	asm volatile("sha1msg1 (0x12345678), %xmm0");
   4088	asm volatile("sha1msg1 (%eax), %xmm3");
   4089	asm volatile("sha1msg1 (%ecx,%eax,1), %xmm0");
   4090	asm volatile("sha1msg1 0x12345678(,%eax,1), %xmm0");
   4091	asm volatile("sha1msg1 (%eax,%ecx,1), %xmm0");
   4092	asm volatile("sha1msg1 (%eax,%ecx,8), %xmm0");
   4093	asm volatile("sha1msg1 0x12(%eax), %xmm0");
   4094	asm volatile("sha1msg1 0x12(%ebp), %xmm0");
   4095	asm volatile("sha1msg1 0x12(%ecx,%eax,1), %xmm0");
   4096	asm volatile("sha1msg1 0x12(%ebp,%eax,1), %xmm0");
   4097	asm volatile("sha1msg1 0x12(%eax,%ecx,1), %xmm0");
   4098	asm volatile("sha1msg1 0x12(%eax,%ecx,8), %xmm0");
   4099	asm volatile("sha1msg1 0x12345678(%eax), %xmm0");
   4100	asm volatile("sha1msg1 0x12345678(%ebp), %xmm0");
   4101	asm volatile("sha1msg1 0x12345678(%ecx,%eax,1), %xmm0");
   4102	asm volatile("sha1msg1 0x12345678(%ebp,%eax,1), %xmm0");
   4103	asm volatile("sha1msg1 0x12345678(%eax,%ecx,1), %xmm0");
   4104	asm volatile("sha1msg1 0x12345678(%eax,%ecx,8), %xmm0");
   4105
   4106	/* sha1msg2 xmm2/m128, xmm1 */
   4107
   4108	asm volatile("sha1msg2 %xmm1, %xmm0");
   4109	asm volatile("sha1msg2 %xmm7, %xmm2");
   4110	asm volatile("sha1msg2 (%eax), %xmm0");
   4111	asm volatile("sha1msg2 (0x12345678), %xmm0");
   4112	asm volatile("sha1msg2 (%eax), %xmm3");
   4113	asm volatile("sha1msg2 (%ecx,%eax,1), %xmm0");
   4114	asm volatile("sha1msg2 0x12345678(,%eax,1), %xmm0");
   4115	asm volatile("sha1msg2 (%eax,%ecx,1), %xmm0");
   4116	asm volatile("sha1msg2 (%eax,%ecx,8), %xmm0");
   4117	asm volatile("sha1msg2 0x12(%eax), %xmm0");
   4118	asm volatile("sha1msg2 0x12(%ebp), %xmm0");
   4119	asm volatile("sha1msg2 0x12(%ecx,%eax,1), %xmm0");
   4120	asm volatile("sha1msg2 0x12(%ebp,%eax,1), %xmm0");
   4121	asm volatile("sha1msg2 0x12(%eax,%ecx,1), %xmm0");
   4122	asm volatile("sha1msg2 0x12(%eax,%ecx,8), %xmm0");
   4123	asm volatile("sha1msg2 0x12345678(%eax), %xmm0");
   4124	asm volatile("sha1msg2 0x12345678(%ebp), %xmm0");
   4125	asm volatile("sha1msg2 0x12345678(%ecx,%eax,1), %xmm0");
   4126	asm volatile("sha1msg2 0x12345678(%ebp,%eax,1), %xmm0");
   4127	asm volatile("sha1msg2 0x12345678(%eax,%ecx,1), %xmm0");
   4128	asm volatile("sha1msg2 0x12345678(%eax,%ecx,8), %xmm0");
   4129
   4130	/* sha256rnds2 <XMM0>, xmm2/m128, xmm1 */
   4131	/* Note sha256rnds2 has an implicit operand 'xmm0' */
   4132
   4133	asm volatile("sha256rnds2 %xmm4, %xmm1");
   4134	asm volatile("sha256rnds2 %xmm7, %xmm2");
   4135	asm volatile("sha256rnds2 (%eax), %xmm1");
   4136	asm volatile("sha256rnds2 (0x12345678), %xmm1");
   4137	asm volatile("sha256rnds2 (%eax), %xmm3");
   4138	asm volatile("sha256rnds2 (%ecx,%eax,1), %xmm1");
   4139	asm volatile("sha256rnds2 0x12345678(,%eax,1), %xmm1");
   4140	asm volatile("sha256rnds2 (%eax,%ecx,1), %xmm1");
   4141	asm volatile("sha256rnds2 (%eax,%ecx,8), %xmm1");
   4142	asm volatile("sha256rnds2 0x12(%eax), %xmm1");
   4143	asm volatile("sha256rnds2 0x12(%ebp), %xmm1");
   4144	asm volatile("sha256rnds2 0x12(%ecx,%eax,1), %xmm1");
   4145	asm volatile("sha256rnds2 0x12(%ebp,%eax,1), %xmm1");
   4146	asm volatile("sha256rnds2 0x12(%eax,%ecx,1), %xmm1");
   4147	asm volatile("sha256rnds2 0x12(%eax,%ecx,8), %xmm1");
   4148	asm volatile("sha256rnds2 0x12345678(%eax), %xmm1");
   4149	asm volatile("sha256rnds2 0x12345678(%ebp), %xmm1");
   4150	asm volatile("sha256rnds2 0x12345678(%ecx,%eax,1), %xmm1");
   4151	asm volatile("sha256rnds2 0x12345678(%ebp,%eax,1), %xmm1");
   4152	asm volatile("sha256rnds2 0x12345678(%eax,%ecx,1), %xmm1");
   4153	asm volatile("sha256rnds2 0x12345678(%eax,%ecx,8), %xmm1");
   4154
   4155	/* sha256msg1 xmm2/m128, xmm1 */
   4156
   4157	asm volatile("sha256msg1 %xmm1, %xmm0");
   4158	asm volatile("sha256msg1 %xmm7, %xmm2");
   4159	asm volatile("sha256msg1 (%eax), %xmm0");
   4160	asm volatile("sha256msg1 (0x12345678), %xmm0");
   4161	asm volatile("sha256msg1 (%eax), %xmm3");
   4162	asm volatile("sha256msg1 (%ecx,%eax,1), %xmm0");
   4163	asm volatile("sha256msg1 0x12345678(,%eax,1), %xmm0");
   4164	asm volatile("sha256msg1 (%eax,%ecx,1), %xmm0");
   4165	asm volatile("sha256msg1 (%eax,%ecx,8), %xmm0");
   4166	asm volatile("sha256msg1 0x12(%eax), %xmm0");
   4167	asm volatile("sha256msg1 0x12(%ebp), %xmm0");
   4168	asm volatile("sha256msg1 0x12(%ecx,%eax,1), %xmm0");
   4169	asm volatile("sha256msg1 0x12(%ebp,%eax,1), %xmm0");
   4170	asm volatile("sha256msg1 0x12(%eax,%ecx,1), %xmm0");
   4171	asm volatile("sha256msg1 0x12(%eax,%ecx,8), %xmm0");
   4172	asm volatile("sha256msg1 0x12345678(%eax), %xmm0");
   4173	asm volatile("sha256msg1 0x12345678(%ebp), %xmm0");
   4174	asm volatile("sha256msg1 0x12345678(%ecx,%eax,1), %xmm0");
   4175	asm volatile("sha256msg1 0x12345678(%ebp,%eax,1), %xmm0");
   4176	asm volatile("sha256msg1 0x12345678(%eax,%ecx,1), %xmm0");
   4177	asm volatile("sha256msg1 0x12345678(%eax,%ecx,8), %xmm0");
   4178
   4179	/* sha256msg2 xmm2/m128, xmm1 */
   4180
   4181	asm volatile("sha256msg2 %xmm1, %xmm0");
   4182	asm volatile("sha256msg2 %xmm7, %xmm2");
   4183	asm volatile("sha256msg2 (%eax), %xmm0");
   4184	asm volatile("sha256msg2 (0x12345678), %xmm0");
   4185	asm volatile("sha256msg2 (%eax), %xmm3");
   4186	asm volatile("sha256msg2 (%ecx,%eax,1), %xmm0");
   4187	asm volatile("sha256msg2 0x12345678(,%eax,1), %xmm0");
   4188	asm volatile("sha256msg2 (%eax,%ecx,1), %xmm0");
   4189	asm volatile("sha256msg2 (%eax,%ecx,8), %xmm0");
   4190	asm volatile("sha256msg2 0x12(%eax), %xmm0");
   4191	asm volatile("sha256msg2 0x12(%ebp), %xmm0");
   4192	asm volatile("sha256msg2 0x12(%ecx,%eax,1), %xmm0");
   4193	asm volatile("sha256msg2 0x12(%ebp,%eax,1), %xmm0");
   4194	asm volatile("sha256msg2 0x12(%eax,%ecx,1), %xmm0");
   4195	asm volatile("sha256msg2 0x12(%eax,%ecx,8), %xmm0");
   4196	asm volatile("sha256msg2 0x12345678(%eax), %xmm0");
   4197	asm volatile("sha256msg2 0x12345678(%ebp), %xmm0");
   4198	asm volatile("sha256msg2 0x12345678(%ecx,%eax,1), %xmm0");
   4199	asm volatile("sha256msg2 0x12345678(%ebp,%eax,1), %xmm0");
   4200	asm volatile("sha256msg2 0x12345678(%eax,%ecx,1), %xmm0");
   4201	asm volatile("sha256msg2 0x12345678(%eax,%ecx,8), %xmm0");
   4202
   4203	/* clflushopt m8 */
   4204
   4205	asm volatile("clflushopt (%eax)");
   4206	asm volatile("clflushopt (0x12345678)");
   4207	asm volatile("clflushopt 0x12345678(%eax,%ecx,8)");
   4208	/* Also check instructions in the same group encoding as clflushopt */
   4209	asm volatile("clflush (%eax)");
   4210	asm volatile("sfence");
   4211
   4212	/* clwb m8 */
   4213
   4214	asm volatile("clwb (%eax)");
   4215	asm volatile("clwb (0x12345678)");
   4216	asm volatile("clwb 0x12345678(%eax,%ecx,8)");
   4217	/* Also check instructions in the same group encoding as clwb */
   4218	asm volatile("xsaveopt (%eax)");
   4219	asm volatile("mfence");
   4220
   4221	/* cldemote m8 */
   4222
   4223	asm volatile("cldemote (%eax)");
   4224	asm volatile("cldemote (0x12345678)");
   4225	asm volatile("cldemote 0x12345678(%eax,%ecx,8)");
   4226
   4227	/* xsavec mem */
   4228
   4229	asm volatile("xsavec (%eax)");
   4230	asm volatile("xsavec (0x12345678)");
   4231	asm volatile("xsavec 0x12345678(%eax,%ecx,8)");
   4232
   4233	/* xsaves mem */
   4234
   4235	asm volatile("xsaves (%eax)");
   4236	asm volatile("xsaves (0x12345678)");
   4237	asm volatile("xsaves 0x12345678(%eax,%ecx,8)");
   4238
   4239	/* xrstors mem */
   4240
   4241	asm volatile("xrstors (%eax)");
   4242	asm volatile("xrstors (0x12345678)");
   4243	asm volatile("xrstors 0x12345678(%eax,%ecx,8)");
   4244
   4245	/* ptwrite */
   4246
   4247	asm volatile("ptwrite (%eax)");
   4248	asm volatile("ptwrite (0x12345678)");
   4249	asm volatile("ptwrite 0x12345678(%eax,%ecx,8)");
   4250
   4251	asm volatile("ptwritel (%eax)");
   4252	asm volatile("ptwritel (0x12345678)");
   4253	asm volatile("ptwritel 0x12345678(%eax,%ecx,8)");
   4254
   4255	/* tpause */
   4256
   4257	asm volatile("tpause %ebx");
   4258
   4259	/* umonitor */
   4260
   4261	asm volatile("umonitor %ax");
   4262	asm volatile("umonitor %eax");
   4263
   4264	/* umwait */
   4265
   4266	asm volatile("umwait %eax");
   4267
   4268	/* movdiri */
   4269
   4270	asm volatile("movdiri %eax,(%ebx)");
   4271	asm volatile("movdiri %ecx,0x12345678(%eax)");
   4272
   4273	/* movdir64b */
   4274
   4275	asm volatile("movdir64b (%eax),%ebx");
   4276	asm volatile("movdir64b 0x12345678(%eax),%ecx");
   4277	asm volatile("movdir64b (%si),%bx");
   4278	asm volatile("movdir64b 0x1234(%si),%cx");
   4279
   4280	/* enqcmd */
   4281
   4282	asm volatile("enqcmd (%eax),%ebx");
   4283	asm volatile("enqcmd 0x12345678(%eax),%ecx");
   4284	asm volatile("enqcmd (%si),%bx");
   4285	asm volatile("enqcmd 0x1234(%si),%cx");
   4286
   4287	/* enqcmds */
   4288
   4289	asm volatile("enqcmds (%eax),%ebx");
   4290	asm volatile("enqcmds 0x12345678(%eax),%ecx");
   4291	asm volatile("enqcmds (%si),%bx");
   4292	asm volatile("enqcmds 0x1234(%si),%cx");
   4293
   4294	/* incsspd */
   4295
   4296	asm volatile("incsspd %eax");
   4297	/* Also check instructions in the same group encoding as incsspd */
   4298	asm volatile("xrstor (%eax)");
   4299	asm volatile("xrstor (0x12345678)");
   4300	asm volatile("xrstor 0x12345678(%eax,%ecx,8)");
   4301	asm volatile("lfence");
   4302
   4303	/* rdsspd */
   4304
   4305	asm volatile("rdsspd %eax");
   4306
   4307	/* saveprevssp */
   4308
   4309	asm volatile("saveprevssp");
   4310
   4311	/* rstorssp */
   4312
   4313	asm volatile("rstorssp (%eax)");
   4314	asm volatile("rstorssp (0x12345678)");
   4315	asm volatile("rstorssp 0x12345678(%eax,%ecx,8)");
   4316
   4317	/* wrssd */
   4318
   4319	asm volatile("wrssd %ecx,(%eax)");
   4320	asm volatile("wrssd %edx,(0x12345678)");
   4321	asm volatile("wrssd %edx,0x12345678(%eax,%ecx,8)");
   4322
   4323	/* wrussd */
   4324
   4325	asm volatile("wrussd %ecx,(%eax)");
   4326	asm volatile("wrussd %edx,(0x12345678)");
   4327	asm volatile("wrussd %edx,0x12345678(%eax,%ecx,8)");
   4328
   4329	/* setssbsy */
   4330
   4331	asm volatile("setssbsy");
   4332	/* Also check instructions in the same group encoding as setssbsy */
   4333	asm volatile("rdpkru");
   4334	asm volatile("wrpkru");
   4335
   4336	/* clrssbsy */
   4337
   4338	asm volatile("clrssbsy (%eax)");
   4339	asm volatile("clrssbsy (0x12345678)");
   4340	asm volatile("clrssbsy 0x12345678(%eax,%ecx,8)");
   4341
   4342	/* endbr32/64 */
   4343
   4344	asm volatile("endbr32");
   4345	asm volatile("endbr64");
   4346
   4347	/* call with/without notrack prefix */
   4348
   4349	asm volatile("call *%eax");				/* Expecting: call indirect 0 */
   4350	asm volatile("call *(%eax)");				/* Expecting: call indirect 0 */
   4351	asm volatile("call *(0x12345678)");			/* Expecting: call indirect 0 */
   4352	asm volatile("call *0x12345678(%eax,%ecx,8)");		/* Expecting: call indirect 0 */
   4353
   4354	asm volatile("bnd call *%eax");				/* Expecting: call indirect 0 */
   4355	asm volatile("bnd call *(%eax)");			/* Expecting: call indirect 0 */
   4356	asm volatile("bnd call *(0x12345678)");			/* Expecting: call indirect 0 */
   4357	asm volatile("bnd call *0x12345678(%eax,%ecx,8)");	/* Expecting: call indirect 0 */
   4358
   4359	asm volatile("notrack call *%eax");			/* Expecting: call indirect 0 */
   4360	asm volatile("notrack call *(%eax)");			/* Expecting: call indirect 0 */
   4361	asm volatile("notrack call *(0x12345678)");		/* Expecting: call indirect 0 */
   4362	asm volatile("notrack call *0x12345678(%eax,%ecx,8)");	/* Expecting: call indirect 0 */
   4363
   4364	asm volatile("notrack bnd call *%eax");			/* Expecting: call indirect 0 */
   4365	asm volatile("notrack bnd call *(%eax)");		/* Expecting: call indirect 0 */
   4366	asm volatile("notrack bnd call *(0x12345678)");		/* Expecting: call indirect 0 */
   4367	asm volatile("notrack bnd call *0x12345678(%eax,%ecx,8)"); /* Expecting: call indirect 0 */
   4368
   4369	/* jmp with/without notrack prefix */
   4370
   4371	asm volatile("jmp *%eax");				/* Expecting: jmp indirect 0 */
   4372	asm volatile("jmp *(%eax)");				/* Expecting: jmp indirect 0 */
   4373	asm volatile("jmp *(0x12345678)");			/* Expecting: jmp indirect 0 */
   4374	asm volatile("jmp *0x12345678(%eax,%ecx,8)");		/* Expecting: jmp indirect 0 */
   4375
   4376	asm volatile("bnd jmp *%eax");				/* Expecting: jmp indirect 0 */
   4377	asm volatile("bnd jmp *(%eax)");			/* Expecting: jmp indirect 0 */
   4378	asm volatile("bnd jmp *(0x12345678)");			/* Expecting: jmp indirect 0 */
   4379	asm volatile("bnd jmp *0x12345678(%eax,%ecx,8)");	/* Expecting: jmp indirect 0 */
   4380
   4381	asm volatile("notrack jmp *%eax");			/* Expecting: jmp indirect 0 */
   4382	asm volatile("notrack jmp *(%eax)");			/* Expecting: jmp indirect 0 */
   4383	asm volatile("notrack jmp *(0x12345678)");		/* Expecting: jmp indirect 0 */
   4384	asm volatile("notrack jmp *0x12345678(%eax,%ecx,8)");	/* Expecting: jmp indirect 0 */
   4385
   4386	asm volatile("notrack bnd jmp *%eax");			/* Expecting: jmp indirect 0 */
   4387	asm volatile("notrack bnd jmp *(%eax)");		/* Expecting: jmp indirect 0 */
   4388	asm volatile("notrack bnd jmp *(0x12345678)");		/* Expecting: jmp indirect 0 */
   4389	asm volatile("notrack bnd jmp *0x12345678(%eax,%ecx,8)"); /* Expecting: jmp indirect 0 */
   4390
   4391	/* AVX512-FP16 */
   4392
   4393	asm volatile("vaddph %zmm3, %zmm2, %zmm1");
   4394	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4395	asm volatile("vaddph %xmm3, %xmm2, %xmm1");
   4396	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4397	asm volatile("vaddph %ymm3, %ymm2, %ymm1");
   4398	asm volatile("vaddph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4399	asm volatile("vaddsh %xmm3, %xmm2, %xmm1");
   4400	asm volatile("vaddsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4401	asm volatile("vcmpph $0x12, %zmm3, %zmm2, %k5");
   4402	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %zmm2, %k5");
   4403	asm volatile("vcmpph $0x12, %xmm3, %xmm2, %k5");
   4404	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
   4405	asm volatile("vcmpph $0x12, %ymm3, %ymm2, %k5");
   4406	asm volatile("vcmpph $0x12, 0x12345678(%eax,%ecx,8), %ymm2, %k5");
   4407	asm volatile("vcmpsh $0x12, %xmm3, %xmm2, %k5");
   4408	asm volatile("vcmpsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %k5");
   4409	asm volatile("vcomish %xmm2, %xmm1");
   4410	asm volatile("vcomish 0x12345678(%eax,%ecx,8), %xmm1");
   4411	asm volatile("vcvtdq2ph %zmm2, %ymm1");
   4412	asm volatile("vcvtdq2ph 0x12345678(%eax,%ecx,8), %ymm1");
   4413	asm volatile("vcvtdq2ph %xmm2, %xmm1");
   4414	asm volatile("vcvtdq2ph %ymm2, %xmm1");
   4415	asm volatile("vcvtpd2ph %zmm2, %xmm1");
   4416	asm volatile("vcvtpd2ph %xmm2, %xmm1");
   4417	asm volatile("vcvtpd2ph %ymm2, %xmm1");
   4418	asm volatile("vcvtph2dq %ymm2, %zmm1");
   4419	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %zmm1");
   4420	asm volatile("vcvtph2dq %xmm2, %xmm1");
   4421	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %xmm1");
   4422	asm volatile("vcvtph2dq %xmm2, %ymm1");
   4423	asm volatile("vcvtph2dq 0x12345678(%eax,%ecx,8), %ymm1");
   4424	asm volatile("vcvtph2pd %xmm2, %zmm1");
   4425	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %zmm1");
   4426	asm volatile("vcvtph2pd %xmm2, %xmm1");
   4427	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %xmm1");
   4428	asm volatile("vcvtph2pd %xmm2, %ymm1");
   4429	asm volatile("vcvtph2pd 0x12345678(%eax,%ecx,8), %ymm1");
   4430	asm volatile("vcvtph2ps %ymm2, %zmm1");
   4431	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %zmm1");
   4432	asm volatile("vcvtph2ps %xmm2, %xmm1");
   4433	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
   4434	asm volatile("vcvtph2ps %xmm2, %ymm1");
   4435	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
   4436	asm volatile("vcvtph2ps %xmm2, %xmm1");
   4437	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %xmm1");
   4438	asm volatile("vcvtph2ps %xmm2, %ymm1");
   4439	asm volatile("vcvtph2ps 0x12345678(%eax,%ecx,8), %ymm1");
   4440	asm volatile("vcvtph2psx %ymm2, %zmm1");
   4441	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %zmm1");
   4442	asm volatile("vcvtph2psx %xmm2, %xmm1");
   4443	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %xmm1");
   4444	asm volatile("vcvtph2psx %xmm2, %ymm1");
   4445	asm volatile("vcvtph2psx 0x12345678(%eax,%ecx,8), %ymm1");
   4446	asm volatile("vcvtph2qq %xmm2, %zmm1");
   4447	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %zmm1");
   4448	asm volatile("vcvtph2qq %xmm2, %xmm1");
   4449	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %xmm1");
   4450	asm volatile("vcvtph2qq %xmm2, %ymm1");
   4451	asm volatile("vcvtph2qq 0x12345678(%eax,%ecx,8), %ymm1");
   4452	asm volatile("vcvtph2udq %ymm2, %zmm1");
   4453	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %zmm1");
   4454	asm volatile("vcvtph2udq %xmm2, %xmm1");
   4455	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %xmm1");
   4456	asm volatile("vcvtph2udq %xmm2, %ymm1");
   4457	asm volatile("vcvtph2udq 0x12345678(%eax,%ecx,8), %ymm1");
   4458	asm volatile("vcvtph2uqq %xmm2, %zmm1");
   4459	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
   4460	asm volatile("vcvtph2uqq %xmm2, %xmm1");
   4461	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
   4462	asm volatile("vcvtph2uqq %xmm2, %ymm1");
   4463	asm volatile("vcvtph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
   4464	asm volatile("vcvtph2uw %zmm2, %zmm1");
   4465	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %zmm1");
   4466	asm volatile("vcvtph2uw %xmm2, %xmm1");
   4467	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %xmm1");
   4468	asm volatile("vcvtph2uw %ymm2, %ymm1");
   4469	asm volatile("vcvtph2uw 0x12345678(%eax,%ecx,8), %ymm1");
   4470	asm volatile("vcvtph2w %zmm2, %zmm1");
   4471	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %zmm1");
   4472	asm volatile("vcvtph2w %xmm2, %xmm1");
   4473	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %xmm1");
   4474	asm volatile("vcvtph2w %ymm2, %ymm1");
   4475	asm volatile("vcvtph2w 0x12345678(%eax,%ecx,8), %ymm1");
   4476	asm volatile("vcvtps2ph $0x12, %zmm1, 0x12345678(%eax,%ecx,8)");
   4477	asm volatile("vcvtps2ph $0x12, %zmm2, %ymm1");
   4478	asm volatile("vcvtps2ph $0x12, %ymm1, 0x12345678(%eax,%ecx,8)");
   4479	asm volatile("vcvtps2ph $0x12, %xmm1, 0x12345678(%eax,%ecx,8)");
   4480	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
   4481	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
   4482	asm volatile("vcvtps2ph $0x12, %ymm2, %xmm1");
   4483	asm volatile("vcvtps2ph $0x12, %ymm2, 0x12345678(%eax,%ecx,8)");
   4484	asm volatile("vcvtps2ph $0x12, %xmm2, %xmm1");
   4485	asm volatile("vcvtps2ph $0x12, %xmm2, 0x12345678(%eax,%ecx,8)");
   4486	asm volatile("vcvtps2phx %zmm2, %ymm1");
   4487	asm volatile("vcvtps2phx 0x12345678(%eax,%ecx,8), %ymm1");
   4488	asm volatile("vcvtps2phx %xmm2, %xmm1");
   4489	asm volatile("vcvtps2phx %ymm2, %xmm1");
   4490	asm volatile("vcvtqq2ph %zmm2, %xmm1");
   4491	asm volatile("vcvtqq2ph %xmm2, %xmm1");
   4492	asm volatile("vcvtqq2ph %ymm2, %xmm1");
   4493	asm volatile("vcvtsd2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4494	asm volatile("vcvtsh2sd 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4495	asm volatile("vcvtsh2si 0x12345678(%eax,%ecx,8), %eax");
   4496	asm volatile("vcvtsh2ss 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4497	asm volatile("vcvtsh2usi %xmm1, %eax");
   4498	asm volatile("vcvtsh2usi 0x12345678(%eax,%ecx,8), %eax");
   4499	asm volatile("vcvtsi2sh %eax, %xmm2, %xmm1");
   4500	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4501	asm volatile("vcvtsi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4502	asm volatile("vcvtss2sh %xmm3, %xmm2, %xmm1");
   4503	asm volatile("vcvtss2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4504	asm volatile("vcvttph2dq %ymm2, %zmm1");
   4505	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %zmm1");
   4506	asm volatile("vcvttph2dq %xmm2, %xmm1");
   4507	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %xmm1");
   4508	asm volatile("vcvttph2dq %xmm2, %ymm1");
   4509	asm volatile("vcvttph2dq 0x12345678(%eax,%ecx,8), %ymm1");
   4510	asm volatile("vcvttph2qq %xmm2, %zmm1");
   4511	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %zmm1");
   4512	asm volatile("vcvttph2qq %xmm2, %xmm1");
   4513	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %xmm1");
   4514	asm volatile("vcvttph2qq %xmm2, %ymm1");
   4515	asm volatile("vcvttph2qq 0x12345678(%eax,%ecx,8), %ymm1");
   4516	asm volatile("vcvttph2udq %ymm2, %zmm1");
   4517	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %zmm1");
   4518	asm volatile("vcvttph2udq %xmm2, %xmm1");
   4519	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %xmm1");
   4520	asm volatile("vcvttph2udq %xmm2, %ymm1");
   4521	asm volatile("vcvttph2udq 0x12345678(%eax,%ecx,8), %ymm1");
   4522	asm volatile("vcvttph2uqq %xmm2, %zmm1");
   4523	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %zmm1");
   4524	asm volatile("vcvttph2uqq %xmm2, %xmm1");
   4525	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %xmm1");
   4526	asm volatile("vcvttph2uqq %xmm2, %ymm1");
   4527	asm volatile("vcvttph2uqq 0x12345678(%eax,%ecx,8), %ymm1");
   4528	asm volatile("vcvttph2uw %zmm2, %zmm1");
   4529	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %zmm1");
   4530	asm volatile("vcvttph2uw %xmm2, %xmm1");
   4531	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %xmm1");
   4532	asm volatile("vcvttph2uw %ymm2, %ymm1");
   4533	asm volatile("vcvttph2uw 0x12345678(%eax,%ecx,8), %ymm1");
   4534	asm volatile("vcvttph2w %zmm2, %zmm1");
   4535	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %zmm1");
   4536	asm volatile("vcvttph2w %xmm2, %xmm1");
   4537	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %xmm1");
   4538	asm volatile("vcvttph2w %ymm2, %ymm1");
   4539	asm volatile("vcvttph2w 0x12345678(%eax,%ecx,8), %ymm1");
   4540	asm volatile("vcvttsh2si %xmm1, %eax");
   4541	asm volatile("vcvttsh2si 0x12345678(%eax,%ecx,8), %eax");
   4542	asm volatile("vcvttsh2usi %xmm1, %eax");
   4543	asm volatile("vcvttsh2usi 0x12345678(%eax,%ecx,8), %eax");
   4544	asm volatile("vcvtudq2ph %zmm2, %ymm1");
   4545	asm volatile("vcvtudq2ph 0x12345678(%eax,%ecx,8), %ymm1");
   4546	asm volatile("vcvtudq2ph %xmm2, %xmm1");
   4547	asm volatile("vcvtudq2ph %ymm2, %xmm1");
   4548	asm volatile("vcvtuqq2ph %zmm2, %xmm1");
   4549	asm volatile("vcvtuqq2ph %xmm2, %xmm1");
   4550	asm volatile("vcvtuqq2ph %ymm2, %xmm1");
   4551	asm volatile("vcvtusi2sh %eax, %xmm2, %xmm1");
   4552	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4553	asm volatile("vcvtusi2sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4554	asm volatile("vcvtuw2ph %zmm2, %zmm1");
   4555	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %zmm1");
   4556	asm volatile("vcvtuw2ph %xmm2, %xmm1");
   4557	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %xmm1");
   4558	asm volatile("vcvtuw2ph %ymm2, %ymm1");
   4559	asm volatile("vcvtuw2ph 0x12345678(%eax,%ecx,8), %ymm1");
   4560	asm volatile("vcvtw2ph %zmm2, %zmm1");
   4561	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %zmm1");
   4562	asm volatile("vcvtw2ph %xmm2, %xmm1");
   4563	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %xmm1");
   4564	asm volatile("vcvtw2ph %ymm2, %ymm1");
   4565	asm volatile("vcvtw2ph 0x12345678(%eax,%ecx,8), %ymm1");
   4566	asm volatile("vdivph %zmm3, %zmm2, %zmm1");
   4567	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4568	asm volatile("vdivph %xmm3, %xmm2, %xmm1");
   4569	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4570	asm volatile("vdivph %ymm3, %ymm2, %ymm1");
   4571	asm volatile("vdivph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4572	asm volatile("vdivsh %xmm3, %xmm2, %xmm1");
   4573	asm volatile("vdivsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4574	asm volatile("vfcmaddcph %zmm3, %zmm2, %zmm1");
   4575	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4576	asm volatile("vfcmaddcph %xmm3, %xmm2, %xmm1");
   4577	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4578	asm volatile("vfcmaddcph %ymm3, %ymm2, %ymm1");
   4579	asm volatile("vfcmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4580	asm volatile("vfcmaddcsh %xmm3, %xmm2, %xmm1");
   4581	asm volatile("vfcmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4582	asm volatile("vfcmulcph %zmm3, %zmm2, %zmm1");
   4583	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4584	asm volatile("vfcmulcph %xmm3, %xmm2, %xmm1");
   4585	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4586	asm volatile("vfcmulcph %ymm3, %ymm2, %ymm1");
   4587	asm volatile("vfcmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4588	asm volatile("vfcmulcsh %xmm3, %xmm2, %xmm1");
   4589	asm volatile("vfcmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4590	asm volatile("vfmadd132ph %zmm3, %zmm2, %zmm1");
   4591	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4592	asm volatile("vfmadd132ph %xmm3, %xmm2, %xmm1");
   4593	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4594	asm volatile("vfmadd132ph %ymm3, %ymm2, %ymm1");
   4595	asm volatile("vfmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4596	asm volatile("vfmadd132sh %xmm3, %xmm2, %xmm1");
   4597	asm volatile("vfmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4598	asm volatile("vfmadd213ph %zmm3, %zmm2, %zmm1");
   4599	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4600	asm volatile("vfmadd213ph %xmm3, %xmm2, %xmm1");
   4601	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4602	asm volatile("vfmadd213ph %ymm3, %ymm2, %ymm1");
   4603	asm volatile("vfmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4604	asm volatile("vfmadd213sh %xmm3, %xmm2, %xmm1");
   4605	asm volatile("vfmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4606	asm volatile("vfmadd231ph %zmm3, %zmm2, %zmm1");
   4607	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4608	asm volatile("vfmadd231ph %xmm3, %xmm2, %xmm1");
   4609	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4610	asm volatile("vfmadd231ph %ymm3, %ymm2, %ymm1");
   4611	asm volatile("vfmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4612	asm volatile("vfmadd231sh %xmm3, %xmm2, %xmm1");
   4613	asm volatile("vfmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4614	asm volatile("vfmaddcph %zmm3, %zmm2, %zmm1");
   4615	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4616	asm volatile("vfmaddcph %xmm3, %xmm2, %xmm1");
   4617	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4618	asm volatile("vfmaddcph %ymm3, %ymm2, %ymm1");
   4619	asm volatile("vfmaddcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4620	asm volatile("vfmaddcsh %xmm3, %xmm2, %xmm1");
   4621	asm volatile("vfmaddcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4622	asm volatile("vfmaddsub132ph %zmm3, %zmm2, %zmm1");
   4623	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4624	asm volatile("vfmaddsub132ph %xmm3, %xmm2, %xmm1");
   4625	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4626	asm volatile("vfmaddsub132ph %ymm3, %ymm2, %ymm1");
   4627	asm volatile("vfmaddsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4628	asm volatile("vfmaddsub213ph %zmm3, %zmm2, %zmm1");
   4629	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4630	asm volatile("vfmaddsub213ph %xmm3, %xmm2, %xmm1");
   4631	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4632	asm volatile("vfmaddsub213ph %ymm3, %ymm2, %ymm1");
   4633	asm volatile("vfmaddsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4634	asm volatile("vfmaddsub231ph %zmm3, %zmm2, %zmm1");
   4635	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4636	asm volatile("vfmaddsub231ph %xmm3, %xmm2, %xmm1");
   4637	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4638	asm volatile("vfmaddsub231ph %ymm3, %ymm2, %ymm1");
   4639	asm volatile("vfmaddsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4640	asm volatile("vfmsub132ph %zmm3, %zmm2, %zmm1");
   4641	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4642	asm volatile("vfmsub132ph %xmm3, %xmm2, %xmm1");
   4643	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4644	asm volatile("vfmsub132ph %ymm3, %ymm2, %ymm1");
   4645	asm volatile("vfmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4646	asm volatile("vfmsub132sh %xmm3, %xmm2, %xmm1");
   4647	asm volatile("vfmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4648	asm volatile("vfmsub213ph %zmm3, %zmm2, %zmm1");
   4649	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4650	asm volatile("vfmsub213ph %xmm3, %xmm2, %xmm1");
   4651	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4652	asm volatile("vfmsub213ph %ymm3, %ymm2, %ymm1");
   4653	asm volatile("vfmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4654	asm volatile("vfmsub213sh %xmm3, %xmm2, %xmm1");
   4655	asm volatile("vfmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4656	asm volatile("vfmsub231ph %zmm3, %zmm2, %zmm1");
   4657	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4658	asm volatile("vfmsub231ph %xmm3, %xmm2, %xmm1");
   4659	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4660	asm volatile("vfmsub231ph %ymm3, %ymm2, %ymm1");
   4661	asm volatile("vfmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4662	asm volatile("vfmsub231sh %xmm3, %xmm2, %xmm1");
   4663	asm volatile("vfmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4664	asm volatile("vfmsubadd132ph %zmm3, %zmm2, %zmm1");
   4665	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4666	asm volatile("vfmsubadd132ph %xmm3, %xmm2, %xmm1");
   4667	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4668	asm volatile("vfmsubadd132ph %ymm3, %ymm2, %ymm1");
   4669	asm volatile("vfmsubadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4670	asm volatile("vfmsubadd213ph %zmm3, %zmm2, %zmm1");
   4671	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4672	asm volatile("vfmsubadd213ph %xmm3, %xmm2, %xmm1");
   4673	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4674	asm volatile("vfmsubadd213ph %ymm3, %ymm2, %ymm1");
   4675	asm volatile("vfmsubadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4676	asm volatile("vfmsubadd231ph %zmm3, %zmm2, %zmm1");
   4677	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4678	asm volatile("vfmsubadd231ph %xmm3, %xmm2, %xmm1");
   4679	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4680	asm volatile("vfmsubadd231ph %ymm3, %ymm2, %ymm1");
   4681	asm volatile("vfmsubadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4682	asm volatile("vfmulcph %zmm3, %zmm2, %zmm1");
   4683	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4684	asm volatile("vfmulcph %xmm3, %xmm2, %xmm1");
   4685	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4686	asm volatile("vfmulcph %ymm3, %ymm2, %ymm1");
   4687	asm volatile("vfmulcph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4688	asm volatile("vfmulcsh %xmm3, %xmm2, %xmm1");
   4689	asm volatile("vfmulcsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4690	asm volatile("vfnmadd132ph %zmm3, %zmm2, %zmm1");
   4691	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4692	asm volatile("vfnmadd132ph %xmm3, %xmm2, %xmm1");
   4693	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4694	asm volatile("vfnmadd132ph %ymm3, %ymm2, %ymm1");
   4695	asm volatile("vfnmadd132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4696	asm volatile("vfnmadd132sh %xmm3, %xmm2, %xmm1");
   4697	asm volatile("vfnmadd132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4698	asm volatile("vfnmadd213ph %zmm3, %zmm2, %zmm1");
   4699	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4700	asm volatile("vfnmadd213ph %xmm3, %xmm2, %xmm1");
   4701	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4702	asm volatile("vfnmadd213ph %ymm3, %ymm2, %ymm1");
   4703	asm volatile("vfnmadd213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4704	asm volatile("vfnmadd213sh %xmm3, %xmm2, %xmm1");
   4705	asm volatile("vfnmadd213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4706	asm volatile("vfnmadd231ph %zmm3, %zmm2, %zmm1");
   4707	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4708	asm volatile("vfnmadd231ph %xmm3, %xmm2, %xmm1");
   4709	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4710	asm volatile("vfnmadd231ph %ymm3, %ymm2, %ymm1");
   4711	asm volatile("vfnmadd231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4712	asm volatile("vfnmadd231sh %xmm3, %xmm2, %xmm1");
   4713	asm volatile("vfnmadd231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4714	asm volatile("vfnmsub132ph %zmm3, %zmm2, %zmm1");
   4715	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4716	asm volatile("vfnmsub132ph %xmm3, %xmm2, %xmm1");
   4717	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4718	asm volatile("vfnmsub132ph %ymm3, %ymm2, %ymm1");
   4719	asm volatile("vfnmsub132ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4720	asm volatile("vfnmsub132sh %xmm3, %xmm2, %xmm1");
   4721	asm volatile("vfnmsub132sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4722	asm volatile("vfnmsub213ph %zmm3, %zmm2, %zmm1");
   4723	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4724	asm volatile("vfnmsub213ph %xmm3, %xmm2, %xmm1");
   4725	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4726	asm volatile("vfnmsub213ph %ymm3, %ymm2, %ymm1");
   4727	asm volatile("vfnmsub213ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4728	asm volatile("vfnmsub213sh %xmm3, %xmm2, %xmm1");
   4729	asm volatile("vfnmsub213sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4730	asm volatile("vfnmsub231ph %zmm3, %zmm2, %zmm1");
   4731	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4732	asm volatile("vfnmsub231ph %xmm3, %xmm2, %xmm1");
   4733	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4734	asm volatile("vfnmsub231ph %ymm3, %ymm2, %ymm1");
   4735	asm volatile("vfnmsub231ph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4736	asm volatile("vfnmsub231sh %xmm3, %xmm2, %xmm1");
   4737	asm volatile("vfnmsub231sh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4738	asm volatile("vfpclassph $0x12, %zmm1, %k5");
   4739	asm volatile("vfpclassph $0x12, %xmm1, %k5");
   4740	asm volatile("vfpclassph $0x12, %ymm1, %k5");
   4741	asm volatile("vfpclasssh $0x12, %xmm1, %k5");
   4742	asm volatile("vfpclasssh $0x12, 0x12345678(%eax,%ecx,8), %k5");
   4743	asm volatile("vgetexpph %zmm2, %zmm1");
   4744	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %zmm1");
   4745	asm volatile("vgetexpph %xmm2, %xmm1");
   4746	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %xmm1");
   4747	asm volatile("vgetexpph %ymm2, %ymm1");
   4748	asm volatile("vgetexpph 0x12345678(%eax,%ecx,8), %ymm1");
   4749	asm volatile("vgetexpsh %xmm3, %xmm2, %xmm1");
   4750	asm volatile("vgetexpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4751	asm volatile("vgetmantph $0x12, %zmm2, %zmm1");
   4752	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
   4753	asm volatile("vgetmantph $0x12, %xmm2, %xmm1");
   4754	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
   4755	asm volatile("vgetmantph $0x12, %ymm2, %ymm1");
   4756	asm volatile("vgetmantph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
   4757	asm volatile("vgetmantsh $0x12, %xmm3, %xmm2, %xmm1");
   4758	asm volatile("vgetmantsh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4759	asm volatile("vmaxph %zmm3, %zmm2, %zmm1");
   4760	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4761	asm volatile("vmaxph %xmm3, %xmm2, %xmm1");
   4762	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4763	asm volatile("vmaxph %ymm3, %ymm2, %ymm1");
   4764	asm volatile("vmaxph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4765	asm volatile("vmaxsh %xmm3, %xmm2, %xmm1");
   4766	asm volatile("vmaxsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4767	asm volatile("vminph %zmm3, %zmm2, %zmm1");
   4768	asm volatile("vminph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4769	asm volatile("vminph %xmm3, %xmm2, %xmm1");
   4770	asm volatile("vminph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4771	asm volatile("vminph %ymm3, %ymm2, %ymm1");
   4772	asm volatile("vminph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4773	asm volatile("vminsh %xmm3, %xmm2, %xmm1");
   4774	asm volatile("vminsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4775	asm volatile("vmovsh %xmm1, 0x12345678(%eax,%ecx,8)");
   4776	asm volatile("vmovsh 0x12345678(%eax,%ecx,8), %xmm1");
   4777	asm volatile("vmovsh %xmm3, %xmm2, %xmm1");
   4778	asm volatile("vmovw %xmm1, %eax");
   4779	asm volatile("vmovw %xmm1, 0x12345678(%eax,%ecx,8)");
   4780	asm volatile("vmovw %eax, %xmm1");
   4781	asm volatile("vmovw 0x12345678(%eax,%ecx,8), %xmm1");
   4782	asm volatile("vmulph %zmm3, %zmm2, %zmm1");
   4783	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4784	asm volatile("vmulph %xmm3, %xmm2, %xmm1");
   4785	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4786	asm volatile("vmulph %ymm3, %ymm2, %ymm1");
   4787	asm volatile("vmulph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4788	asm volatile("vmulsh %xmm3, %xmm2, %xmm1");
   4789	asm volatile("vmulsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4790	asm volatile("vrcpph %zmm2, %zmm1");
   4791	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %zmm1");
   4792	asm volatile("vrcpph %xmm2, %xmm1");
   4793	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %xmm1");
   4794	asm volatile("vrcpph %ymm2, %ymm1");
   4795	asm volatile("vrcpph 0x12345678(%eax,%ecx,8), %ymm1");
   4796	asm volatile("vrcpsh %xmm3, %xmm2, %xmm1");
   4797	asm volatile("vrcpsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4798	asm volatile("vreduceph $0x12, %zmm2, %zmm1");
   4799	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
   4800	asm volatile("vreduceph $0x12, %xmm2, %xmm1");
   4801	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
   4802	asm volatile("vreduceph $0x12, %ymm2, %ymm1");
   4803	asm volatile("vreduceph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
   4804	asm volatile("vreducesh $0x12, %xmm3, %xmm2, %xmm1");
   4805	asm volatile("vreducesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4806	asm volatile("vrndscaleph $0x12, %zmm2, %zmm1");
   4807	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %zmm1");
   4808	asm volatile("vrndscaleph $0x12, %xmm2, %xmm1");
   4809	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %xmm1");
   4810	asm volatile("vrndscaleph $0x12, %ymm2, %ymm1");
   4811	asm volatile("vrndscaleph $0x12, 0x12345678(%eax,%ecx,8), %ymm1");
   4812	asm volatile("vrndscalesh $0x12, %xmm3, %xmm2, %xmm1");
   4813	asm volatile("vrndscalesh $0x12, 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4814	asm volatile("vrsqrtph %zmm2, %zmm1");
   4815	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
   4816	asm volatile("vrsqrtph %xmm2, %xmm1");
   4817	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
   4818	asm volatile("vrsqrtph %ymm2, %ymm1");
   4819	asm volatile("vrsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
   4820	asm volatile("vrsqrtsh %xmm3, %xmm2, %xmm1");
   4821	asm volatile("vrsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4822	asm volatile("vscalefph %zmm3, %zmm2, %zmm1");
   4823	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4824	asm volatile("vscalefph %xmm3, %xmm2, %xmm1");
   4825	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4826	asm volatile("vscalefph %ymm3, %ymm2, %ymm1");
   4827	asm volatile("vscalefph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4828	asm volatile("vscalefsh %xmm3, %xmm2, %xmm1");
   4829	asm volatile("vscalefsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4830	asm volatile("vsqrtph %zmm2, %zmm1");
   4831	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %zmm1");
   4832	asm volatile("vsqrtph %xmm2, %xmm1");
   4833	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %xmm1");
   4834	asm volatile("vsqrtph %ymm2, %ymm1");
   4835	asm volatile("vsqrtph 0x12345678(%eax,%ecx,8), %ymm1");
   4836	asm volatile("vsqrtsh %xmm3, %xmm2, %xmm1");
   4837	asm volatile("vsqrtsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4838	asm volatile("vsubph %zmm3, %zmm2, %zmm1");
   4839	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %zmm2, %zmm1");
   4840	asm volatile("vsubph %xmm3, %xmm2, %xmm1");
   4841	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4842	asm volatile("vsubph %ymm3, %ymm2, %ymm1");
   4843	asm volatile("vsubph 0x12345678(%eax,%ecx,8), %ymm2, %ymm1");
   4844	asm volatile("vsubsh %xmm3, %xmm2, %xmm1");
   4845	asm volatile("vsubsh 0x12345678(%eax,%ecx,8), %xmm2, %xmm1");
   4846	asm volatile("vucomish %xmm2, %xmm1");
   4847	asm volatile("vucomish 0x12345678(%eax,%ecx,8), %xmm1");
   4848
   4849#endif /* #ifndef __x86_64__ */
   4850
   4851	/* Prediction history reset */
   4852
   4853	asm volatile("hreset $0");
   4854
   4855	/* Serialize instruction execution */
   4856
   4857	asm volatile("serialize");
   4858
   4859	/* TSX suspend load address tracking */
   4860
   4861	asm volatile("xresldtrk");
   4862	asm volatile("xsusldtrk");
   4863
   4864	/* SGX */
   4865
   4866	asm volatile("encls");
   4867	asm volatile("enclu");
   4868	asm volatile("enclv");
   4869
   4870	/* pconfig */
   4871
   4872	asm volatile("pconfig");
   4873
   4874	/* wbnoinvd */
   4875
   4876	asm volatile("wbnoinvd");
   4877
   4878	/* Following line is a marker for the awk script - do not change */
   4879	asm volatile("rdtsc"); /* Stop here */
   4880
   4881	return 0;
   4882}