| 1 | # Check EVEX WIG instructions |
| 2 | |
| 3 | .allow_index_reg |
| 4 | .text |
| 5 | _start: |
| 6 | |
| 7 | {evex} vcvtsi2ss %eax, %xmm0, %xmm0 |
| 8 | {evex} vcvtsi2ss 4(%eax), %xmm0, %xmm0 |
| 9 | |
| 10 | {evex} vcvtsi2sd %eax, %xmm0, %xmm0 |
| 11 | {evex} vcvtsi2sd 4(%eax), %xmm0, %xmm0 |
| 12 | |
| 13 | {evex} vcvtss2si %xmm0, %eax |
| 14 | |
| 15 | {evex} vcvtsd2si %xmm0, %eax |
| 16 | |
| 17 | {evex} vcvttss2si %xmm0, %eax |
| 18 | |
| 19 | {evex} vcvttsd2si %xmm0, %eax |
| 20 | |
| 21 | vcvtusi2ss %eax, %xmm0, %xmm0 |
| 22 | vcvtusi2ss 4(%eax), %xmm0, %xmm0 |
| 23 | |
| 24 | vcvtusi2sd %eax, %xmm0, %xmm0 |
| 25 | vcvtusi2sd 4(%eax), %xmm0, %xmm0 |
| 26 | |
| 27 | vcvtss2usi %xmm0, %eax |
| 28 | |
| 29 | vcvtsd2usi %xmm0, %eax |
| 30 | |
| 31 | vcvttss2usi %xmm0, %eax |
| 32 | |
| 33 | vcvttsd2usi %xmm0, %eax |
| 34 | |
| 35 | {evex} vextractps $0, %xmm0, %eax |
| 36 | {evex} vextractps $0, %xmm0, 4(%eax) |
| 37 | |
| 38 | {evex} vmovd %eax, %xmm0 |
| 39 | {evex} vmovd 4(%eax), %xmm0 |
| 40 | |
| 41 | {evex} vmovd %xmm0, %eax |
| 42 | {evex} vmovd %xmm0, 4(%eax) |
| 43 | |
| 44 | {evex} vpextrb $0, %xmm0, %eax |
| 45 | {evex} vpextrb $0, %xmm0, 1(%eax) |
| 46 | |
| 47 | {evex} vpextrd $0, %xmm0, %eax |
| 48 | {evex} vpextrd $0, %xmm0, 4(%eax) |
| 49 | |
| 50 | {evex} vpextrw $0, %xmm0, %eax |
| 51 | {evex} {store} vpextrw $0, %xmm0, %eax |
| 52 | {evex} vpextrw $0, %xmm0, 2(%eax) |
| 53 | |
| 54 | {evex} vpinsrb $0, %eax, %xmm0, %xmm0 |
| 55 | {evex} vpinsrb $0, 1(%eax), %xmm0, %xmm0 |
| 56 | |
| 57 | {evex} vpinsrd $0, %eax, %xmm0, %xmm0 |
| 58 | {evex} vpinsrd $0, 4(%eax), %xmm0, %xmm0 |
| 59 | |
| 60 | {evex} vpinsrw $0, %eax, %xmm0, %xmm0 |
| 61 | {evex} vpinsrw $0, 2(%eax), %xmm0, %xmm0 |
| 62 | |
| 63 | vpmovsxbd %xmm5, %zmm6{%k7} # AVX512 |
| 64 | vpmovsxbd %xmm5, %zmm6{%k7}{z} # AVX512 |
| 65 | vpmovsxbd (%ecx), %zmm6{%k7} # AVX512 |
| 66 | vpmovsxbd -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 67 | vpmovsxbd 2032(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 68 | vpmovsxbd 2048(%edx), %zmm6{%k7} # AVX512 |
| 69 | vpmovsxbd -2048(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 70 | vpmovsxbd -2064(%edx), %zmm6{%k7} # AVX512 |
| 71 | |
| 72 | vpmovsxbq %xmm5, %zmm6{%k7} # AVX512 |
| 73 | vpmovsxbq %xmm5, %zmm6{%k7}{z} # AVX512 |
| 74 | vpmovsxbq (%ecx), %zmm6{%k7} # AVX512 |
| 75 | vpmovsxbq -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 76 | vpmovsxbq 1016(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 77 | vpmovsxbq 1024(%edx), %zmm6{%k7} # AVX512 |
| 78 | vpmovsxbq -1024(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 79 | vpmovsxbq -1032(%edx), %zmm6{%k7} # AVX512 |
| 80 | |
| 81 | vpmovsxwd %ymm5, %zmm6{%k7} # AVX512 |
| 82 | vpmovsxwd %ymm5, %zmm6{%k7}{z} # AVX512 |
| 83 | vpmovsxwd (%ecx), %zmm6{%k7} # AVX512 |
| 84 | vpmovsxwd -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 85 | vpmovsxwd 4064(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 86 | vpmovsxwd 4096(%edx), %zmm6{%k7} # AVX512 |
| 87 | vpmovsxwd -4096(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 88 | vpmovsxwd -4128(%edx), %zmm6{%k7} # AVX512 |
| 89 | |
| 90 | vpmovsxwq %xmm5, %zmm6{%k7} # AVX512 |
| 91 | vpmovsxwq %xmm5, %zmm6{%k7}{z} # AVX512 |
| 92 | vpmovsxwq (%ecx), %zmm6{%k7} # AVX512 |
| 93 | vpmovsxwq -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 94 | vpmovsxwq 2032(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 95 | vpmovsxwq 2048(%edx), %zmm6{%k7} # AVX512 |
| 96 | vpmovsxwq -2048(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 97 | vpmovsxwq -2064(%edx), %zmm6{%k7} # AVX512 |
| 98 | |
| 99 | vpmovzxbd %xmm5, %zmm6{%k7} # AVX512 |
| 100 | vpmovzxbd %xmm5, %zmm6{%k7}{z} # AVX512 |
| 101 | vpmovzxbd (%ecx), %zmm6{%k7} # AVX512 |
| 102 | vpmovzxbd -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 103 | vpmovzxbd 2032(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 104 | vpmovzxbd 2048(%edx), %zmm6{%k7} # AVX512 |
| 105 | vpmovzxbd -2048(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 106 | vpmovzxbd -2064(%edx), %zmm6{%k7} # AVX512 |
| 107 | |
| 108 | vpmovzxbq %xmm5, %zmm6{%k7} # AVX512 |
| 109 | vpmovzxbq %xmm5, %zmm6{%k7}{z} # AVX512 |
| 110 | vpmovzxbq (%ecx), %zmm6{%k7} # AVX512 |
| 111 | vpmovzxbq -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 112 | vpmovzxbq 1016(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 113 | vpmovzxbq 1024(%edx), %zmm6{%k7} # AVX512 |
| 114 | vpmovzxbq -1024(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 115 | vpmovzxbq -1032(%edx), %zmm6{%k7} # AVX512 |
| 116 | |
| 117 | vpmovzxwd %ymm5, %zmm6{%k7} # AVX512 |
| 118 | vpmovzxwd %ymm5, %zmm6{%k7}{z} # AVX512 |
| 119 | vpmovzxwd (%ecx), %zmm6{%k7} # AVX512 |
| 120 | vpmovzxwd -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 121 | vpmovzxwd 4064(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 122 | vpmovzxwd 4096(%edx), %zmm6{%k7} # AVX512 |
| 123 | vpmovzxwd -4096(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 124 | vpmovzxwd -4128(%edx), %zmm6{%k7} # AVX512 |
| 125 | |
| 126 | vpmovzxwq %xmm5, %zmm6{%k7} # AVX512 |
| 127 | vpmovzxwq %xmm5, %zmm6{%k7}{z} # AVX512 |
| 128 | vpmovzxwq (%ecx), %zmm6{%k7} # AVX512 |
| 129 | vpmovzxwq -123456(%esp,%esi,8), %zmm6{%k7} # AVX512 |
| 130 | vpmovzxwq 2032(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 131 | vpmovzxwq 2048(%edx), %zmm6{%k7} # AVX512 |
| 132 | vpmovzxwq -2048(%edx), %zmm6{%k7} # AVX512 Disp8 |
| 133 | vpmovzxwq -2064(%edx), %zmm6{%k7} # AVX512 |
| 134 | |
| 135 | .intel_syntax noprefix |
| 136 | vpmovsxbd zmm6{k7}, xmm5 # AVX512 |
| 137 | vpmovsxbd zmm6{k7}{z}, xmm5 # AVX512 |
| 138 | vpmovsxbd zmm6{k7}, XMMWORD PTR [ecx] # AVX512 |
| 139 | vpmovsxbd zmm6{k7}, XMMWORD PTR [esp+esi*8-123456] # AVX512 |
| 140 | vpmovsxbd zmm6{k7}, XMMWORD PTR [edx+2032] # AVX512 Disp8 |
| 141 | vpmovsxbd zmm6{k7}, XMMWORD PTR [edx+2048] # AVX512 |
| 142 | vpmovsxbd zmm6{k7}, XMMWORD PTR [edx-2048] # AVX512 Disp8 |
| 143 | vpmovsxbd zmm6{k7}, XMMWORD PTR [edx-2064] # AVX512 |
| 144 | |
| 145 | vpmovsxbq zmm6{k7}, xmm5 # AVX512 |
| 146 | vpmovsxbq zmm6{k7}{z}, xmm5 # AVX512 |
| 147 | vpmovsxbq zmm6{k7}, QWORD PTR [ecx] # AVX512 |
| 148 | vpmovsxbq zmm6{k7}, QWORD PTR [esp+esi*8-123456] # AVX512 |
| 149 | vpmovsxbq zmm6{k7}, QWORD PTR [edx+1016] # AVX512 Disp8 |
| 150 | vpmovsxbq zmm6{k7}, QWORD PTR [edx+1024] # AVX512 |
| 151 | vpmovsxbq zmm6{k7}, QWORD PTR [edx-1024] # AVX512 Disp8 |
| 152 | vpmovsxbq zmm6{k7}, QWORD PTR [edx-1032] # AVX512 |
| 153 | |
| 154 | vpmovsxwd zmm6{k7}, ymm5 # AVX512 |
| 155 | vpmovsxwd zmm6{k7}{z}, ymm5 # AVX512 |
| 156 | vpmovsxwd zmm6{k7}, YMMWORD PTR [ecx] # AVX512 |
| 157 | vpmovsxwd zmm6{k7}, YMMWORD PTR [esp+esi*8-123456] # AVX512 |
| 158 | vpmovsxwd zmm6{k7}, YMMWORD PTR [edx+4064] # AVX512 Disp8 |
| 159 | vpmovsxwd zmm6{k7}, YMMWORD PTR [edx+4096] # AVX512 |
| 160 | vpmovsxwd zmm6{k7}, YMMWORD PTR [edx-4096] # AVX512 Disp8 |
| 161 | vpmovsxwd zmm6{k7}, YMMWORD PTR [edx-4128] # AVX512 |
| 162 | |
| 163 | vpmovsxwq zmm6{k7}, xmm5 # AVX512 |
| 164 | vpmovsxwq zmm6{k7}{z}, xmm5 # AVX512 |
| 165 | vpmovsxwq zmm6{k7}, XMMWORD PTR [ecx] # AVX512 |
| 166 | vpmovsxwq zmm6{k7}, XMMWORD PTR [esp+esi*8-123456] # AVX512 |
| 167 | vpmovsxwq zmm6{k7}, XMMWORD PTR [edx+2032] # AVX512 Disp8 |
| 168 | vpmovsxwq zmm6{k7}, XMMWORD PTR [edx+2048] # AVX512 |
| 169 | vpmovsxwq zmm6{k7}, XMMWORD PTR [edx-2048] # AVX512 Disp8 |
| 170 | vpmovsxwq zmm6{k7}, XMMWORD PTR [edx-2064] # AVX512 |
| 171 | |
| 172 | vpmovzxbd zmm6{k7}, xmm5 # AVX512 |
| 173 | vpmovzxbd zmm6{k7}{z}, xmm5 # AVX512 |
| 174 | vpmovzxbd zmm6{k7}, XMMWORD PTR [ecx] # AVX512 |
| 175 | vpmovzxbd zmm6{k7}, XMMWORD PTR [esp+esi*8-123456] # AVX512 |
| 176 | vpmovzxbd zmm6{k7}, XMMWORD PTR [edx+2032] # AVX512 Disp8 |
| 177 | vpmovzxbd zmm6{k7}, XMMWORD PTR [edx+2048] # AVX512 |
| 178 | vpmovzxbd zmm6{k7}, XMMWORD PTR [edx-2048] # AVX512 Disp8 |
| 179 | vpmovzxbd zmm6{k7}, XMMWORD PTR [edx-2064] # AVX512 |
| 180 | |
| 181 | vpmovzxbq zmm6{k7}, xmm5 # AVX512 |
| 182 | vpmovzxbq zmm6{k7}{z}, xmm5 # AVX512 |
| 183 | vpmovzxbq zmm6{k7}, QWORD PTR [ecx] # AVX512 |
| 184 | vpmovzxbq zmm6{k7}, QWORD PTR [esp+esi*8-123456] # AVX512 |
| 185 | vpmovzxbq zmm6{k7}, QWORD PTR [edx+1016] # AVX512 Disp8 |
| 186 | vpmovzxbq zmm6{k7}, QWORD PTR [edx+1024] # AVX512 |
| 187 | vpmovzxbq zmm6{k7}, QWORD PTR [edx-1024] # AVX512 Disp8 |
| 188 | vpmovzxbq zmm6{k7}, QWORD PTR [edx-1032] # AVX512 |
| 189 | |
| 190 | vpmovzxwd zmm6{k7}, ymm5 # AVX512 |
| 191 | vpmovzxwd zmm6{k7}{z}, ymm5 # AVX512 |
| 192 | vpmovzxwd zmm6{k7}, YMMWORD PTR [ecx] # AVX512 |
| 193 | vpmovzxwd zmm6{k7}, YMMWORD PTR [esp+esi*8-123456] # AVX512 |
| 194 | vpmovzxwd zmm6{k7}, YMMWORD PTR [edx+4064] # AVX512 Disp8 |
| 195 | vpmovzxwd zmm6{k7}, YMMWORD PTR [edx+4096] # AVX512 |
| 196 | vpmovzxwd zmm6{k7}, YMMWORD PTR [edx-4096] # AVX512 Disp8 |
| 197 | vpmovzxwd zmm6{k7}, YMMWORD PTR [edx-4128] # AVX512 |
| 198 | |
| 199 | vpmovzxwq zmm6{k7}, xmm5 # AVX512 |
| 200 | vpmovzxwq zmm6{k7}{z}, xmm5 # AVX512 |
| 201 | vpmovzxwq zmm6{k7}, XMMWORD PTR [ecx] # AVX512 |
| 202 | vpmovzxwq zmm6{k7}, XMMWORD PTR [esp+esi*8-123456] # AVX512 |
| 203 | vpmovzxwq zmm6{k7}, XMMWORD PTR [edx+2032] # AVX512 Disp8 |
| 204 | vpmovzxwq zmm6{k7}, XMMWORD PTR [edx+2048] # AVX512 |
| 205 | vpmovzxwq zmm6{k7}, XMMWORD PTR [edx-2048] # AVX512 Disp8 |
| 206 | vpmovzxwq zmm6{k7}, XMMWORD PTR [edx-2064] # AVX512 |
| 207 | |