1# Check 32bit AVX512VBMI2 instructions 2 3 .allow_index_reg 4 .text 5_start: 6 vpcompressb %zmm6, (%ecx){%k7} # AVX512VBMI2 7 vpcompressb %zmm6, -123456(%esp,%esi,8) # AVX512VBMI2 8 vpcompressb %zmm6, 126(%edx) # AVX512VBMI2 Disp8 9 vpcompressb %zmm5, %zmm6 # AVX512VBMI2 10 vpcompressb %zmm5, %zmm6{%k7} # AVX512VBMI2 11 vpcompressb %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 12 13 vpcompressw %zmm6, (%ecx){%k7} # AVX512VBMI2 14 vpcompressw %zmm6, -123456(%esp,%esi,8) # AVX512VBMI2 15 vpcompressw %zmm6, 128(%edx) # AVX512VBMI2 Disp8 16 vpcompressw %zmm5, %zmm6 # AVX512VBMI2 17 vpcompressw %zmm5, %zmm6{%k7} # AVX512VBMI2 18 vpcompressw %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 19 20 vpexpandb (%ecx), %zmm6{%k7} # AVX512VBMI2 21 vpexpandb (%ecx), %zmm6{%k7}{z} # AVX512VBMI2 22 vpexpandb -123456(%esp,%esi,8), %zmm6 # AVX512VBMI2 23 vpexpandb 126(%edx), %zmm6 # AVX512VBMI2 Disp8 24 vpexpandb %zmm5, %zmm6 # AVX512VBMI2 25 vpexpandb %zmm5, %zmm6{%k7} # AVX512VBMI2 26 vpexpandb %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 27 28 vpexpandw (%ecx), %zmm6{%k7} # AVX512VBMI2 29 vpexpandw (%ecx), %zmm6{%k7}{z} # AVX512VBMI2 30 vpexpandw -123456(%esp,%esi,8), %zmm6 # AVX512VBMI2 31 vpexpandw 128(%edx), %zmm6 # AVX512VBMI2 Disp8 32 vpexpandw %zmm5, %zmm6 # AVX512VBMI2 33 vpexpandw %zmm5, %zmm6{%k7} # AVX512VBMI2 34 vpexpandw %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 35 36 vpshldvw %zmm4, %zmm5, %zmm6 # AVX512VBMI2 37 vpshldvw %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 38 vpshldvw %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 39 vpshldvw -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 40 vpshldvw 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 41 42 vpshldvd %zmm4, %zmm5, %zmm6 # AVX512VBMI2 43 vpshldvd %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 44 vpshldvd %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 45 vpshldvd -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 46 vpshldvd 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 47 vpshldvd 508(%edx){1to16}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 48 49 vpshldvq %zmm4, %zmm5, %zmm6 # AVX512VBMI2 50 vpshldvq %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 51 vpshldvq %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 52 vpshldvq -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 53 vpshldvq 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 54 vpshldvq 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 55 56 vpshrdvw %zmm4, %zmm5, %zmm6 # AVX512VBMI2 57 vpshrdvw %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 58 vpshrdvw %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 59 vpshrdvw -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 60 vpshrdvw 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 61 62 vpshrdvd %zmm4, %zmm5, %zmm6 # AVX512VBMI2 63 vpshrdvd %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 64 vpshrdvd %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 65 vpshrdvd -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 66 vpshrdvd 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 67 vpshrdvd 508(%edx){1to16}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 68 69 vpshrdvq %zmm4, %zmm5, %zmm6 # AVX512VBMI2 70 vpshrdvq %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 71 vpshrdvq %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 72 vpshrdvq -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 73 vpshrdvq 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 74 vpshrdvq 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 75 76 vpshldw $0xab, %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 77 vpshldw $0xab, %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 78 vpshldw $123, %zmm4, %zmm5, %zmm6 # AVX512VBMI2 79 vpshldw $123, -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 80 vpshldw $123, 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 81 82 vpshldd $0xab, %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 83 vpshldd $0xab, %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 84 vpshldd $123, %zmm4, %zmm5, %zmm6 # AVX512VBMI2 85 vpshldd $123, -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 86 vpshldd $123, 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 87 vpshldd $123, 508(%edx){1to16}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 88 89 vpshldq $0xab, %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 90 vpshldq $0xab, %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 91 vpshldq $123, -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 92 vpshldq $123, 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 93 vpshldq $123, 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 94 95 vpshrdw $0xab, %zmm4, %zmm5, %zmm6 # AVX512VBMI2 96 vpshrdw $0xab, %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 97 vpshrdw $0xab, %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 98 vpshrdw $123, -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 99 vpshrdw $123, 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 100 101 vpshrdd $0xab, %zmm4, %zmm5, %zmm6 # AVX512VBMI2 102 vpshrdd $0xab, %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 103 vpshrdd $0xab, %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 104 vpshrdd $123, -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 105 vpshrdd $123, 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 106 vpshrdd $123, 508(%edx){1to16}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 107 108 vpshrdq $0xab, %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI2 109 vpshrdq $0xab, %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI2 110 vpshrdq $123, %zmm4, %zmm5, %zmm6 # AVX512VBMI2 111 vpshrdq $123, -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI2 112 vpshrdq $123, 128(%edx), %zmm5, %zmm6 # AVX512VBMI2 Disp8 113 vpshrdq $123, 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI2 Disp8 114 115 .intel_syntax noprefix 116 vpcompressb ZMMWORD PTR [ecx]{k7}, zmm6 # AVX512VBMI2 117 vpcompressb ZMMWORD PTR [esp+esi*8-123456], zmm6 # AVX512VBMI2 118 vpcompressb ZMMWORD PTR [edx+126], zmm6 # AVX512VBMI2 Disp8 119 vpcompressb zmm6, zmm5 # AVX512VBMI2 120 vpcompressb zmm6{k7}, zmm5 # AVX512VBMI2 121 vpcompressb zmm6{k7}{z}, zmm5 # AVX512VBMI2 122 123 vpcompressw ZMMWORD PTR [ecx]{k7}, zmm6 # AVX512VBMI2 124 vpcompressw ZMMWORD PTR [esp+esi*8-123456], zmm6 # AVX512VBMI2 125 vpcompressw ZMMWORD PTR [edx+128], zmm6 # AVX512VBMI2 Disp8 126 vpcompressw zmm6, zmm5 # AVX512VBMI2 127 vpcompressw zmm6{k7}, zmm5 # AVX512VBMI2 128 vpcompressw zmm6{k7}{z}, zmm5 # AVX512VBMI2 129 130 vpexpandb zmm6{k7}, ZMMWORD PTR [ecx] # AVX512VBMI2 131 vpexpandb zmm6{k7}{z}, ZMMWORD PTR [ecx] # AVX512VBMI2 132 vpexpandb zmm6, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 133 vpexpandb zmm6, ZMMWORD PTR [edx+126] # AVX512VBMI2 Disp8 134 vpexpandb zmm6, zmm5 # AVX512VBMI2 135 vpexpandb zmm6{k7}, zmm5 # AVX512VBMI2 136 vpexpandb zmm6{k7}{z}, zmm5 # AVX512VBMI2 137 138 vpexpandw zmm6{k7}, ZMMWORD PTR [ecx] # AVX512VBMI2 139 vpexpandw zmm6{k7}{z}, ZMMWORD PTR [ecx] # AVX512VBMI2 140 vpexpandw zmm6, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 141 vpexpandw zmm6, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 142 vpexpandw zmm6, zmm5 # AVX512VBMI2 143 vpexpandw zmm6{k7}, zmm5 # AVX512VBMI2 144 vpexpandw zmm6{k7}{z}, zmm5 # AVX512VBMI2 145 146 vpshldvw zmm6, zmm5, zmm4 # AVX512VBMI2 147 vpshldvw zmm6{k7}, zmm5, zmm4 # AVX512VBMI2 148 vpshldvw zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI2 149 vpshldvw zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 150 vpshldvw zmm6, zmm5, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 151 152 vpshldvd zmm6, zmm5, zmm4 # AVX512VBMI2 153 vpshldvd zmm6{k7}, zmm5, zmm4 # AVX512VBMI2 154 vpshldvd zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI2 155 vpshldvd zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 156 vpshldvd zmm6, zmm5, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 157 vpshldvd zmm6, zmm5, [edx+508]{1to16} # AVX512VBMI2 Disp8 158 159 vpshldvq zmm6, zmm5, zmm4 # AVX512VBMI2 160 vpshldvq zmm6{k7}, zmm5, zmm4 # AVX512VBMI2 161 vpshldvq zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI2 162 vpshldvq zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 163 vpshldvq zmm6, zmm5, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 164 vpshldvq zmm6, zmm5, [edx+1016]{1to8} # AVX512VBMI2 Disp8 165 166 vpshrdvw zmm6, zmm5, zmm4 # AVX512VBMI2 167 vpshrdvw zmm6{k7}, zmm5, zmm4 # AVX512VBMI2 168 vpshrdvw zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI2 169 vpshrdvw zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 170 vpshrdvw zmm6, zmm5, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 171 172 vpshrdvd zmm6, zmm5, zmm4 # AVX512VBMI2 173 vpshrdvd zmm6{k7}, zmm5, zmm4 # AVX512VBMI2 174 vpshrdvd zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI2 175 vpshrdvd zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 176 vpshrdvd zmm6, zmm5, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 177 vpshrdvd zmm6, zmm5, [edx+508]{1to16} # AVX512VBMI2 Disp8 178 179 vpshrdvq zmm6, zmm5, zmm4 # AVX512VBMI2 180 vpshrdvq zmm6{k7}, zmm5, zmm4 # AVX512VBMI2 181 vpshrdvq zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI2 182 vpshrdvq zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI2 183 vpshrdvq zmm6, zmm5, ZMMWORD PTR [edx+128] # AVX512VBMI2 Disp8 184 vpshrdvq zmm6, zmm5, [edx+1016]{1to8} # AVX512VBMI2 Disp8 185 186 vpshldw zmm6, zmm5, zmm4, 0xab # AVX512VBMI2 187 vpshldw zmm6{k7}, zmm5, zmm4, 0xab # AVX512VBMI2 188 vpshldw zmm6{k7}{z}, zmm5, zmm4, 0xab # AVX512VBMI2 189 vpshldw zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456], 123 # AVX512VBMI2 190 vpshldw zmm6, zmm5, ZMMWORD PTR [edx+128], 123 # AVX512VBMI2 Disp8 191 192 vpshldd zmm6, zmm5, zmm4, 0xab # AVX512VBMI2 193 vpshldd zmm6{k7}, zmm5, zmm4, 0xab # AVX512VBMI2 194 vpshldd zmm6{k7}{z}, zmm5, zmm4, 0xab # AVX512VBMI2 195 vpshldd zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456], 123 # AVX512VBMI2 196 vpshldd zmm6, zmm5, ZMMWORD PTR [edx+128], 123 # AVX512VBMI2 Disp8 197 vpshldd zmm6, zmm5, [edx+508]{1to16}, 123 # AVX512VBMI2 Disp8 198 199 vpshldq zmm6, zmm5, zmm4, 0xab # AVX512VBMI2 200 vpshldq zmm6{k7}, zmm5, zmm4, 0xab # AVX512VBMI2 201 vpshldq zmm6{k7}{z}, zmm5, zmm4, 0xab # AVX512VBMI2 202 vpshldq zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456], 123 # AVX512VBMI2 203 vpshldq zmm6, zmm5, ZMMWORD PTR [edx+128], 123 # AVX512VBMI2 Disp8 204 vpshldq zmm6, zmm5, [edx+1016]{1to8}, 123 # AVX512VBMI2 Disp8 205 206 vpshrdw zmm6, zmm5, zmm4, 0xab # AVX512VBMI2 207 vpshrdw zmm6{k7}, zmm5, zmm4, 0xab # AVX512VBMI2 208 vpshrdw zmm6{k7}{z}, zmm5, zmm4, 0xab # AVX512VBMI2 209 vpshrdw zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456], 123 # AVX512VBMI2 210 vpshrdw zmm6, zmm5, ZMMWORD PTR [edx+128], 123 # AVX512VBMI2 Disp8 211 212 vpshrdd zmm6, zmm5, zmm4, 0xab # AVX512VBMI2 213 vpshrdd zmm6{k7}, zmm5, zmm4, 0xab # AVX512VBMI2 214 vpshrdd zmm6{k7}{z}, zmm5, zmm4, 0xab # AVX512VBMI2 215 vpshrdd zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456], 123 # AVX512VBMI2 216 vpshrdd zmm6, zmm5, ZMMWORD PTR [edx+128], 123 # AVX512VBMI2 Disp8 217 vpshrdd zmm6, zmm5, [edx+508]{1to16}, 123 # AVX512VBMI2 Disp8 218 219 vpshrdq zmm6, zmm5, zmm4, 0xab # AVX512VBMI2 220 vpshrdq zmm6{k7}, zmm5, zmm4, 0xab # AVX512VBMI2 221 vpshrdq zmm6{k7}{z}, zmm5, zmm4, 0xab # AVX512VBMI2 222 vpshrdq zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456], 123 # AVX512VBMI2 223 vpshrdq zmm6, zmm5, ZMMWORD PTR [edx+128], 123 # AVX512VBMI2 Disp8 224 vpshrdq zmm6, zmm5, [edx+1016]{1to8}, 123 # AVX512VBMI2 Disp8 225