1# Check 32bit AVX512VBMI instructions 2 3 .allow_index_reg 4 .text 5_start: 6 vpermb %zmm4, %zmm5, %zmm6 # AVX512VBMI 7 vpermb %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI 8 vpermb %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI 9 vpermb (%ecx), %zmm5, %zmm6 # AVX512VBMI 10 vpermb -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI 11 vpermb 8128(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 12 vpermb 8192(%edx), %zmm5, %zmm6 # AVX512VBMI 13 vpermb -8192(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 14 vpermb -8256(%edx), %zmm5, %zmm6 # AVX512VBMI 15 vpermi2b %zmm4, %zmm5, %zmm6 # AVX512VBMI 16 vpermi2b %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI 17 vpermi2b %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI 18 vpermi2b (%ecx), %zmm5, %zmm6 # AVX512VBMI 19 vpermi2b -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI 20 vpermi2b 8128(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 21 vpermi2b 8192(%edx), %zmm5, %zmm6 # AVX512VBMI 22 vpermi2b -8192(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 23 vpermi2b -8256(%edx), %zmm5, %zmm6 # AVX512VBMI 24 vpermt2b %zmm4, %zmm5, %zmm6 # AVX512VBMI 25 vpermt2b %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI 26 vpermt2b %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI 27 vpermt2b (%ecx), %zmm5, %zmm6 # AVX512VBMI 28 vpermt2b -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI 29 vpermt2b 8128(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 30 vpermt2b 8192(%edx), %zmm5, %zmm6 # AVX512VBMI 31 vpermt2b -8192(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 32 vpermt2b -8256(%edx), %zmm5, %zmm6 # AVX512VBMI 33 vpmultishiftqb %zmm4, %zmm5, %zmm6 # AVX512VBMI 34 vpmultishiftqb %zmm4, %zmm5, %zmm6{%k7} # AVX512VBMI 35 vpmultishiftqb %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512VBMI 36 vpmultishiftqb (%ecx), %zmm5, %zmm6 # AVX512VBMI 37 vpmultishiftqb -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512VBMI 38 vpmultishiftqb (%eax){1to8}, %zmm5, %zmm6 # AVX512VBMI 39 vpmultishiftqb 8128(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 40 vpmultishiftqb 8192(%edx), %zmm5, %zmm6 # AVX512VBMI 41 vpmultishiftqb -8192(%edx), %zmm5, %zmm6 # AVX512VBMI Disp8 42 vpmultishiftqb -8256(%edx), %zmm5, %zmm6 # AVX512VBMI 43 vpmultishiftqb 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI Disp8 44 vpmultishiftqb 1024(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI 45 vpmultishiftqb -1024(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI Disp8 46 vpmultishiftqb -1032(%edx){1to8}, %zmm5, %zmm6 # AVX512VBMI 47 48 .intel_syntax noprefix 49 vpermb zmm6, zmm5, zmm4 # AVX512VBMI 50 vpermb zmm6{k7}, zmm5, zmm4 # AVX512VBMI 51 vpermb zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI 52 vpermb zmm6, zmm5, ZMMWORD PTR [ecx] # AVX512VBMI 53 vpermb zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI 54 vpermb zmm6, zmm5, ZMMWORD PTR [edx+8128] # AVX512VBMI Disp8 55 vpermb zmm6, zmm5, ZMMWORD PTR [edx+8192] # AVX512VBMI 56 vpermb zmm6, zmm5, ZMMWORD PTR [edx-8192] # AVX512VBMI Disp8 57 vpermb zmm6, zmm5, ZMMWORD PTR [edx-8256] # AVX512VBMI 58 vpermi2b zmm6, zmm5, zmm4 # AVX512VBMI 59 vpermi2b zmm6{k7}, zmm5, zmm4 # AVX512VBMI 60 vpermi2b zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI 61 vpermi2b zmm6, zmm5, ZMMWORD PTR [ecx] # AVX512VBMI 62 vpermi2b zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI 63 vpermi2b zmm6, zmm5, ZMMWORD PTR [edx+8128] # AVX512VBMI Disp8 64 vpermi2b zmm6, zmm5, ZMMWORD PTR [edx+8192] # AVX512VBMI 65 vpermi2b zmm6, zmm5, ZMMWORD PTR [edx-8192] # AVX512VBMI Disp8 66 vpermi2b zmm6, zmm5, ZMMWORD PTR [edx-8256] # AVX512VBMI 67 vpermt2b zmm6, zmm5, zmm4 # AVX512VBMI 68 vpermt2b zmm6{k7}, zmm5, zmm4 # AVX512VBMI 69 vpermt2b zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI 70 vpermt2b zmm6, zmm5, ZMMWORD PTR [ecx] # AVX512VBMI 71 vpermt2b zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI 72 vpermt2b zmm6, zmm5, ZMMWORD PTR [edx+8128] # AVX512VBMI Disp8 73 vpermt2b zmm6, zmm5, ZMMWORD PTR [edx+8192] # AVX512VBMI 74 vpermt2b zmm6, zmm5, ZMMWORD PTR [edx-8192] # AVX512VBMI Disp8 75 vpermt2b zmm6, zmm5, ZMMWORD PTR [edx-8256] # AVX512VBMI 76 vpmultishiftqb zmm6, zmm5, zmm4 # AVX512VBMI 77 vpmultishiftqb zmm6{k7}, zmm5, zmm4 # AVX512VBMI 78 vpmultishiftqb zmm6{k7}{z}, zmm5, zmm4 # AVX512VBMI 79 vpmultishiftqb zmm6, zmm5, ZMMWORD PTR [ecx] # AVX512VBMI 80 vpmultishiftqb zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512VBMI 81 vpmultishiftqb zmm6, zmm5, [eax]{1to8} # AVX512VBMI 82 vpmultishiftqb zmm6, zmm5, ZMMWORD PTR [edx+8128] # AVX512VBMI Disp8 83 vpmultishiftqb zmm6, zmm5, ZMMWORD PTR [edx+8192] # AVX512VBMI 84 vpmultishiftqb zmm6, zmm5, ZMMWORD PTR [edx-8192] # AVX512VBMI Disp8 85 vpmultishiftqb zmm6, zmm5, ZMMWORD PTR [edx-8256] # AVX512VBMI 86 vpmultishiftqb zmm6, zmm5, [edx+1016]{1to8} # AVX512VBMI Disp8 87 vpmultishiftqb zmm6, zmm5, [edx+1024]{1to8} # AVX512VBMI 88 vpmultishiftqb zmm6, zmm5, [edx-1024]{1to8} # AVX512VBMI Disp8 89 vpmultishiftqb zmm6, zmm5, [edx-1032]{1to8} # AVX512VBMI 90