# Check 64bit AVX512VBMI2 instructions
.allow_index_reg
.text
_start:
vpcompressb %zmm30, (%rcx){%k7} # AVX512VBMI2
vpcompressb %zmm30, 0x123(%rax,%r14,8) # AVX512VBMI2
vpcompressb %zmm30, 126(%rdx) # AVX512VBMI2 Disp8
vpcompressb %zmm29, %zmm30 # AVX512VBMI2
vpcompressb %zmm29, %zmm30{%k7} # AVX512VBMI2
vpcompressb %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpcompressw %zmm30, (%rcx){%k7} # AVX512VBMI2
vpcompressw %zmm30, 0x123(%rax,%r14,8) # AVX512VBMI2
vpcompressw %zmm30, 254(%rdx) # AVX512VBMI2 Disp8
vpcompressw %zmm29, %zmm30 # AVX512VBMI2
vpcompressw %zmm29, %zmm30{%k7} # AVX512VBMI2
vpcompressw %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpexpandb (%rcx), %zmm30{%k7} # AVX512VBMI2
vpexpandb (%rcx), %zmm30{%k7}{z} # AVX512VBMI2
vpexpandb 0x123(%rax,%r14,8), %zmm30 # AVX512VBMI2
vpexpandb 126(%rdx), %zmm30 # AVX512VBMI2 Disp8
vpexpandb %zmm29, %zmm30 # AVX512VBMI2
vpexpandb %zmm29, %zmm30{%k7} # AVX512VBMI2
vpexpandb %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpexpandw (%rcx), %zmm30{%k7} # AVX512VBMI2
vpexpandw (%rcx), %zmm30{%k7}{z} # AVX512VBMI2
vpexpandw 0x123(%rax,%r14,8), %zmm30 # AVX512VBMI2
vpexpandw 254(%rdx), %zmm30 # AVX512VBMI2 Disp8
vpexpandw %zmm29, %zmm30 # AVX512VBMI2
vpexpandw %zmm29, %zmm30{%k7} # AVX512VBMI2
vpexpandw %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldvw %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshldvw %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshldvw %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldvw 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshldvw 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldvd %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshldvd %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshldvd %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldvd 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshldvd 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldvd 508(%rdx){1to16}, %zmm29, %zmm30 # AVX512VBMI2 Disp8
vpshldvq %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshldvq %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshldvq %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldvq 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshldvq 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldvq 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI2 Disp8
vpshrdvw %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshrdvw %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshrdvw %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshrdvw 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshrdvw 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshrdvd %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshrdvd %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshrdvd %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshrdvd 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshrdvd 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshrdvq %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshrdvq %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshrdvq %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshrdvq 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshrdvq 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldw $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshldw $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshldw $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldw $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshldw $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldd $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshldd $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshldd $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldd $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshldd $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldq $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshldq $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshldq $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshldq $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshldq $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshldq $123, 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI2
vpshrdw $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshrdw $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshrdw $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshrdw $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshrdw $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshrdd $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshrdd $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshrdd $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshrdd $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshrdd $123, (%rcx){1to16}, %zmm29, %zmm30 # AVX512VBMI2
vpshrdd $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
vpshrdq $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
vpshrdq $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
vpshrdq $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
vpshrdq $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
vpshrdq $123, (%rcx){1to8}, %zmm29, %zmm30 # AVX512VBMI2
vpshrdq $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
.intel_syntax noprefix
vpcompressb ZMMWORD PTR [rcx]{k7}, zmm30 # AVX512VBMI2
vpcompressb ZMMWORD PTR [rax+r14*8+0x1234], zmm30 # AVX512VBMI2
vpcompressb ZMMWORD PTR [rdx+126], zmm30 # AVX512VBMI2 Disp8
vpcompressb zmm30, zmm29 # AVX512VBMI2
vpcompressb zmm30{k7}, zmm29 # AVX512VBMI2
vpcompressb zmm30{k7}{z}, zmm29 # AVX512VBMI2
vpcompressw ZMMWORD PTR [rcx]{k7}, zmm30 # AVX512VBMI2
vpcompressw ZMMWORD PTR [rax+r14*8+0x1234], zmm30 # AVX512VBMI2
vpcompressw ZMMWORD PTR [rdx+254], zmm30 # AVX512VBMI2 Disp8
vpcompressw zmm30, zmm29 # AVX512VBMI2
vpcompressw zmm30{k7}, zmm29 # AVX512VBMI2
vpcompressw zmm30{k7}{z}, zmm29 # AVX512VBMI2
vpexpandb zmm30{k7}, ZMMWORD PTR [rcx] # AVX512VBMI2
vpexpandb zmm30{k7}{z}, ZMMWORD PTR [rcx] # AVX512VBMI2
vpexpandb zmm30, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpexpandb zmm30, ZMMWORD PTR [rdx+126] # AVX512VBMI2 Disp8
vpexpandb zmm30, zmm29 # AVX512VBMI2
vpexpandb zmm30{k7}, zmm29 # AVX512VBMI2
vpexpandb zmm30{k7}{z}, zmm29 # AVX512VBMI2
vpexpandw zmm30{k7}, ZMMWORD PTR [rcx] # AVX512VBMI2
vpexpandw zmm30{k7}{z}, ZMMWORD PTR [rcx] # AVX512VBMI2
vpexpandw zmm30, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpexpandw zmm30, ZMMWORD PTR [rdx+254] # AVX512VBMI2 Disp8
vpexpandw zmm30, zmm29 # AVX512VBMI2
vpexpandw zmm30{k7}, zmm29 # AVX512VBMI2
vpexpandw zmm30{k7}{z}, zmm29 # AVX512VBMI2
vpshldvw zmm30, zmm29, zmm28 # AVX512VBMI2
vpshldvw zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
vpshldvw zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
vpshldvw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpshldvw zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
vpshldvd zmm30, zmm29, zmm28 # AVX512VBMI2
vpshldvd zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
vpshldvd zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
vpshldvd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpshldvd zmm30, zmm29, [rcx]{1to16} # AVX512VBMI2
vpshldvd zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
vpshldvd zmm30, zmm29, [rdx+508]{1to16} # AVX512VBMI2 Disp8
vpshldvq zmm30, zmm29, zmm28 # AVX512VBMI2
vpshldvq zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
vpshldvq zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
vpshldvq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpshldvq zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
vpshldvq zmm30, zmm29, [rdx+1016]{1to8} # AVX512VBMI2 Disp8
vpshrdvw zmm30, zmm29, zmm28 # AVX512VBMI2
vpshrdvw zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
vpshrdvw zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
vpshrdvw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpshrdvw zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
vpshrdvd zmm30, zmm29, zmm28 # AVX512VBMI2
vpshrdvd zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
vpshrdvd zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
vpshrdvd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpshrdvd zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
vpshrdvd zmm30, zmm29, [rdx+508]{1to16} # AVX512VBMI2 Disp8
vpshrdvq zmm30, zmm29, zmm28 # AVX512VBMI2
vpshrdvq zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
vpshrdvq zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
vpshrdvq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
vpshrdvq zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
vpshrdvq zmm30, zmm29, [rdx+1016]{1to8} # AVX512VBMI2 Disp8
vpshldw zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldw zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldw zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
vpshldw zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
vpshldd zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldd zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldd zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
vpshldd zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
vpshldd zmm30, zmm29, [rdx+508]{1to16}, 123 # AVX512VBMI2 Disp8
vpshldq zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldq zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldq zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshldq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
vpshldq zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
vpshldq zmm30, zmm29, [rdx+1016]{1to8}, 123 # AVX512VBMI2 Disp8
vpshrdw zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdw zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdw zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
vpshrdw zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
vpshrdd zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdd zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdd zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
vpshrdd zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
vpshrdd zmm30, zmm29, [rdx+508]{1to16}, 123 # AVX512VBMI2 Disp8
vpshrdq zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdq zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdq zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
vpshrdq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
vpshrdq zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
vpshrdq zmm30, zmm29, [rdx+1016]{1to8}, 123 # AVX512VBMI2 Disp8