1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
# Check 32bit AVX512{VBMI,VL} instructions
.allow_index_reg
.text
_start:
vpermb %xmm4, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermb %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{VBMI,VL}
vpermb (%ecx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermb -123456(%esp,%esi,8), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermb 2032(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpermb 2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermb -2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpermb -2064(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermb %ymm4, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermb %ymm4, %ymm5, %ymm6{%k7}{z} # AVX512{VBMI,VL}
vpermb (%ecx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermb -123456(%esp,%esi,8), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermb 4064(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpermb 4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermb -4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpermb -4128(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermi2b %xmm4, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermi2b %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{VBMI,VL}
vpermi2b (%ecx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermi2b -123456(%esp,%esi,8), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermi2b 2032(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpermi2b 2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermi2b -2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpermi2b -2064(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermi2b %ymm4, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermi2b %ymm4, %ymm5, %ymm6{%k7}{z} # AVX512{VBMI,VL}
vpermi2b (%ecx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermi2b -123456(%esp,%esi,8), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermi2b 4064(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpermi2b 4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermi2b -4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpermi2b -4128(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermt2b %xmm4, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermt2b %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{VBMI,VL}
vpermt2b (%ecx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermt2b -123456(%esp,%esi,8), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermt2b 2032(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpermt2b 2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermt2b -2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpermt2b -2064(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpermt2b %ymm4, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermt2b %ymm4, %ymm5, %ymm6{%k7}{z} # AVX512{VBMI,VL}
vpermt2b (%ecx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermt2b -123456(%esp,%esi,8), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermt2b 4064(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpermt2b 4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpermt2b -4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpermt2b -4128(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb %xmm4, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{VBMI,VL}
vpmultishiftqb (%ecx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb -123456(%esp,%esi,8), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb (%eax){1to2}, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb 2032(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb 2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb -2048(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb -2064(%edx), %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb 1016(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb 1024(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb -1024(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb -1032(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb %ymm4, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb %ymm4, %ymm5, %ymm6{%k7}{z} # AVX512{VBMI,VL}
vpmultishiftqb (%ecx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb -123456(%esp,%esi,8), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb (%eax){1to4}, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb 4064(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb 4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb -4096(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb -4128(%edx), %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb 1016(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb 1024(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
vpmultishiftqb -1024(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL} Disp8
vpmultishiftqb -1032(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{VBMI,VL}
.intel_syntax noprefix
vpermb xmm6{k7}, xmm5, xmm4 # AVX512{VBMI,VL}
vpermb xmm6{k7}{z}, xmm5, xmm4 # AVX512{VBMI,VL}
vpermb xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpermb xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpermb xmm6{k7}, xmm5, XMMWORD PTR [edx+2032] # AVX512{VBMI,VL} Disp8
vpermb xmm6{k7}, xmm5, XMMWORD PTR [edx+2048] # AVX512{VBMI,VL}
vpermb xmm6{k7}, xmm5, XMMWORD PTR [edx-2048] # AVX512{VBMI,VL} Disp8
vpermb xmm6{k7}, xmm5, XMMWORD PTR [edx-2064] # AVX512{VBMI,VL}
vpermb ymm6{k7}, ymm5, ymm4 # AVX512{VBMI,VL}
vpermb ymm6{k7}{z}, ymm5, ymm4 # AVX512{VBMI,VL}
vpermb ymm6{k7}, ymm5, YMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpermb ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpermb ymm6{k7}, ymm5, YMMWORD PTR [edx+4064] # AVX512{VBMI,VL} Disp8
vpermb ymm6{k7}, ymm5, YMMWORD PTR [edx+4096] # AVX512{VBMI,VL}
vpermb ymm6{k7}, ymm5, YMMWORD PTR [edx-4096] # AVX512{VBMI,VL} Disp8
vpermb ymm6{k7}, ymm5, YMMWORD PTR [edx-4128] # AVX512{VBMI,VL}
vpermi2b xmm6{k7}, xmm5, xmm4 # AVX512{VBMI,VL}
vpermi2b xmm6{k7}{z}, xmm5, xmm4 # AVX512{VBMI,VL}
vpermi2b xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpermi2b xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpermi2b xmm6{k7}, xmm5, XMMWORD PTR [edx+2032] # AVX512{VBMI,VL} Disp8
vpermi2b xmm6{k7}, xmm5, XMMWORD PTR [edx+2048] # AVX512{VBMI,VL}
vpermi2b xmm6{k7}, xmm5, XMMWORD PTR [edx-2048] # AVX512{VBMI,VL} Disp8
vpermi2b xmm6{k7}, xmm5, XMMWORD PTR [edx-2064] # AVX512{VBMI,VL}
vpermi2b ymm6{k7}, ymm5, ymm4 # AVX512{VBMI,VL}
vpermi2b ymm6{k7}{z}, ymm5, ymm4 # AVX512{VBMI,VL}
vpermi2b ymm6{k7}, ymm5, YMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpermi2b ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpermi2b ymm6{k7}, ymm5, YMMWORD PTR [edx+4064] # AVX512{VBMI,VL} Disp8
vpermi2b ymm6{k7}, ymm5, YMMWORD PTR [edx+4096] # AVX512{VBMI,VL}
vpermi2b ymm6{k7}, ymm5, YMMWORD PTR [edx-4096] # AVX512{VBMI,VL} Disp8
vpermi2b ymm6{k7}, ymm5, YMMWORD PTR [edx-4128] # AVX512{VBMI,VL}
vpermt2b xmm6{k7}, xmm5, xmm4 # AVX512{VBMI,VL}
vpermt2b xmm6{k7}{z}, xmm5, xmm4 # AVX512{VBMI,VL}
vpermt2b xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpermt2b xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpermt2b xmm6{k7}, xmm5, XMMWORD PTR [edx+2032] # AVX512{VBMI,VL} Disp8
vpermt2b xmm6{k7}, xmm5, XMMWORD PTR [edx+2048] # AVX512{VBMI,VL}
vpermt2b xmm6{k7}, xmm5, XMMWORD PTR [edx-2048] # AVX512{VBMI,VL} Disp8
vpermt2b xmm6{k7}, xmm5, XMMWORD PTR [edx-2064] # AVX512{VBMI,VL}
vpermt2b ymm6{k7}, ymm5, ymm4 # AVX512{VBMI,VL}
vpermt2b ymm6{k7}{z}, ymm5, ymm4 # AVX512{VBMI,VL}
vpermt2b ymm6{k7}, ymm5, YMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpermt2b ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpermt2b ymm6{k7}, ymm5, YMMWORD PTR [edx+4064] # AVX512{VBMI,VL} Disp8
vpermt2b ymm6{k7}, ymm5, YMMWORD PTR [edx+4096] # AVX512{VBMI,VL}
vpermt2b ymm6{k7}, ymm5, YMMWORD PTR [edx-4096] # AVX512{VBMI,VL} Disp8
vpermt2b ymm6{k7}, ymm5, YMMWORD PTR [edx-4128] # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, xmm4 # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}{z}, xmm5, xmm4 # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, [eax]{1to2} # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, XMMWORD PTR [edx+2032] # AVX512{VBMI,VL} Disp8
vpmultishiftqb xmm6{k7}, xmm5, XMMWORD PTR [edx+2048] # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, XMMWORD PTR [edx-2048] # AVX512{VBMI,VL} Disp8
vpmultishiftqb xmm6{k7}, xmm5, XMMWORD PTR [edx-2064] # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, [edx+1016]{1to2} # AVX512{VBMI,VL} Disp8
vpmultishiftqb xmm6{k7}, xmm5, [edx+1024]{1to2} # AVX512{VBMI,VL}
vpmultishiftqb xmm6{k7}, xmm5, [edx-1024]{1to2} # AVX512{VBMI,VL} Disp8
vpmultishiftqb xmm6{k7}, xmm5, [edx-1032]{1to2} # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, ymm4 # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}{z}, ymm5, ymm4 # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, YMMWORD PTR [ecx] # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456] # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, [eax]{1to4} # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, YMMWORD PTR [edx+4064] # AVX512{VBMI,VL} Disp8
vpmultishiftqb ymm6{k7}, ymm5, YMMWORD PTR [edx+4096] # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, YMMWORD PTR [edx-4096] # AVX512{VBMI,VL} Disp8
vpmultishiftqb ymm6{k7}, ymm5, YMMWORD PTR [edx-4128] # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, [edx+1016]{1to4} # AVX512{VBMI,VL} Disp8
vpmultishiftqb ymm6{k7}, ymm5, [edx+1024]{1to4} # AVX512{VBMI,VL}
vpmultishiftqb ymm6{k7}, ymm5, [edx-1024]{1to4} # AVX512{VBMI,VL} Disp8
vpmultishiftqb ymm6{k7}, ymm5, [edx-1032]{1to4} # AVX512{VBMI,VL}
|