1# Check EVEX WIG instructions 2 3 .allow_index_reg 4 .text 5_start: 6 7 vextractps $0xab, %xmm29, %rax # AVX512 8 vextractps $123, %xmm29, %rax # AVX512 9 vextractps $123, %xmm29, %r8 # AVX512 10 vextractps $123, %xmm29, (%rcx) # AVX512 11 vextractps $123, %xmm29, 0x123(%rax,%r14,8) # AVX512 12 vextractps $123, %xmm29, 508(%rdx) # AVX512 Disp8 13 vextractps $123, %xmm29, 512(%rdx) # AVX512 14 vextractps $123, %xmm29, -512(%rdx) # AVX512 Disp8 15 vextractps $123, %xmm29, -516(%rdx) # AVX512 16 17 vpmovsxbd %xmm29, %zmm30{%k7} # AVX512 18 vpmovsxbd %xmm29, %zmm30{%k7}{z} # AVX512 19 vpmovsxbd (%rcx), %zmm30{%k7} # AVX512 20 vpmovsxbd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 21 vpmovsxbd 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 22 vpmovsxbd 2048(%rdx), %zmm30{%k7} # AVX512 23 vpmovsxbd -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 24 vpmovsxbd -2064(%rdx), %zmm30{%k7} # AVX512 25 26 vpmovsxbq %xmm29, %zmm30{%k7} # AVX512 27 vpmovsxbq %xmm29, %zmm30{%k7}{z} # AVX512 28 vpmovsxbq (%rcx), %zmm30{%k7} # AVX512 29 vpmovsxbq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 30 vpmovsxbq 1016(%rdx), %zmm30{%k7} # AVX512 Disp8 31 vpmovsxbq 1024(%rdx), %zmm30{%k7} # AVX512 32 vpmovsxbq -1024(%rdx), %zmm30{%k7} # AVX512 Disp8 33 vpmovsxbq -1032(%rdx), %zmm30{%k7} # AVX512 34 35 vpmovsxwd %ymm29, %zmm30{%k7} # AVX512 36 vpmovsxwd %ymm29, %zmm30{%k7}{z} # AVX512 37 vpmovsxwd (%rcx), %zmm30{%k7} # AVX512 38 vpmovsxwd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 39 vpmovsxwd 4064(%rdx), %zmm30{%k7} # AVX512 Disp8 40 vpmovsxwd 4096(%rdx), %zmm30{%k7} # AVX512 41 vpmovsxwd -4096(%rdx), %zmm30{%k7} # AVX512 Disp8 42 vpmovsxwd -4128(%rdx), %zmm30{%k7} # AVX512 43 44 vpmovsxwq %xmm29, %zmm30{%k7} # AVX512 45 vpmovsxwq %xmm29, %zmm30{%k7}{z} # AVX512 46 vpmovsxwq (%rcx), %zmm30{%k7} # AVX512 47 vpmovsxwq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 48 vpmovsxwq 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 49 vpmovsxwq 2048(%rdx), %zmm30{%k7} # AVX512 50 vpmovsxwq -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 51 vpmovsxwq -2064(%rdx), %zmm30{%k7} # AVX512 52 53 vpmovzxbd %xmm29, %zmm30{%k7} # AVX512 54 vpmovzxbd %xmm29, %zmm30{%k7}{z} # AVX512 55 vpmovzxbd (%rcx), %zmm30{%k7} # AVX512 56 vpmovzxbd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 57 vpmovzxbd 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 58 vpmovzxbd 2048(%rdx), %zmm30{%k7} # AVX512 59 vpmovzxbd -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 60 vpmovzxbd -2064(%rdx), %zmm30{%k7} # AVX512 61 62 vpmovzxbq %xmm29, %zmm30{%k7} # AVX512 63 vpmovzxbq %xmm29, %zmm30{%k7}{z} # AVX512 64 vpmovzxbq (%rcx), %zmm30{%k7} # AVX512 65 vpmovzxbq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 66 vpmovzxbq 1016(%rdx), %zmm30{%k7} # AVX512 Disp8 67 vpmovzxbq 1024(%rdx), %zmm30{%k7} # AVX512 68 vpmovzxbq -1024(%rdx), %zmm30{%k7} # AVX512 Disp8 69 vpmovzxbq -1032(%rdx), %zmm30{%k7} # AVX512 70 71 vpmovzxwd %ymm29, %zmm30{%k7} # AVX512 72 vpmovzxwd %ymm29, %zmm30{%k7}{z} # AVX512 73 vpmovzxwd (%rcx), %zmm30{%k7} # AVX512 74 vpmovzxwd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 75 vpmovzxwd 4064(%rdx), %zmm30{%k7} # AVX512 Disp8 76 vpmovzxwd 4096(%rdx), %zmm30{%k7} # AVX512 77 vpmovzxwd -4096(%rdx), %zmm30{%k7} # AVX512 Disp8 78 vpmovzxwd -4128(%rdx), %zmm30{%k7} # AVX512 79 80 vpmovzxwq %xmm29, %zmm30{%k7} # AVX512 81 vpmovzxwq %xmm29, %zmm30{%k7}{z} # AVX512 82 vpmovzxwq (%rcx), %zmm30{%k7} # AVX512 83 vpmovzxwq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 84 vpmovzxwq 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 85 vpmovzxwq 2048(%rdx), %zmm30{%k7} # AVX512 86 vpmovzxwq -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 87 vpmovzxwq -2064(%rdx), %zmm30{%k7} # AVX512 88 89 .intel_syntax noprefix 90 vextractps rax, xmm29, 0xab # AVX512 91 vextractps rax, xmm29, 123 # AVX512 92 vextractps r8, xmm29, 123 # AVX512 93 vextractps DWORD PTR [rcx], xmm29, 123 # AVX512 94 vextractps DWORD PTR [rax+r14*8+0x1234], xmm29, 123 # AVX512 95 vextractps DWORD PTR [rdx+508], xmm29, 123 # AVX512 Disp8 96 vextractps DWORD PTR [rdx+512], xmm29, 123 # AVX512 97 vextractps DWORD PTR [rdx-512], xmm29, 123 # AVX512 Disp8 98 vextractps DWORD PTR [rdx-516], xmm29, 123 # AVX512 99 100 vpmovsxbd zmm30{k7}, xmm29 # AVX512 101 vpmovsxbd zmm30{k7}{z}, xmm29 # AVX512 102 vpmovsxbd zmm30{k7}, XMMWORD PTR [rcx] # AVX512 103 vpmovsxbd zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 104 vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 105 vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 106 vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 107 vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 108 109 vpmovsxbq zmm30{k7}, xmm29 # AVX512 110 vpmovsxbq zmm30{k7}{z}, xmm29 # AVX512 111 vpmovsxbq zmm30{k7}, QWORD PTR [rcx] # AVX512 112 vpmovsxbq zmm30{k7}, QWORD PTR [rax+r14*8+0x1234] # AVX512 113 vpmovsxbq zmm30{k7}, QWORD PTR [rdx+1016] # AVX512 Disp8 114 vpmovsxbq zmm30{k7}, QWORD PTR [rdx+1024] # AVX512 115 vpmovsxbq zmm30{k7}, QWORD PTR [rdx-1024] # AVX512 Disp8 116 vpmovsxbq zmm30{k7}, QWORD PTR [rdx-1032] # AVX512 117 118 vpmovsxwd zmm30{k7}, ymm29 # AVX512 119 vpmovsxwd zmm30{k7}{z}, ymm29 # AVX512 120 vpmovsxwd zmm30{k7}, YMMWORD PTR [rcx] # AVX512 121 vpmovsxwd zmm30{k7}, YMMWORD PTR [rax+r14*8+0x1234] # AVX512 122 vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx+4064] # AVX512 Disp8 123 vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx+4096] # AVX512 124 vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx-4096] # AVX512 Disp8 125 vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx-4128] # AVX512 126 127 vpmovsxwq zmm30{k7}, xmm29 # AVX512 128 vpmovsxwq zmm30{k7}{z}, xmm29 # AVX512 129 vpmovsxwq zmm30{k7}, XMMWORD PTR [rcx] # AVX512 130 vpmovsxwq zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 131 vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 132 vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 133 vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 134 vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 135 136 vpmovzxbd zmm30{k7}, xmm29 # AVX512 137 vpmovzxbd zmm30{k7}{z}, xmm29 # AVX512 138 vpmovzxbd zmm30{k7}, XMMWORD PTR [rcx] # AVX512 139 vpmovzxbd zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 140 vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 141 vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 142 vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 143 vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 144 145 vpmovzxbq zmm30{k7}, xmm29 # AVX512 146 vpmovzxbq zmm30{k7}{z}, xmm29 # AVX512 147 vpmovzxbq zmm30{k7}, QWORD PTR [rcx] # AVX512 148 vpmovzxbq zmm30{k7}, QWORD PTR [rax+r14*8+0x1234] # AVX512 149 vpmovzxbq zmm30{k7}, QWORD PTR [rdx+1016] # AVX512 Disp8 150 vpmovzxbq zmm30{k7}, QWORD PTR [rdx+1024] # AVX512 151 vpmovzxbq zmm30{k7}, QWORD PTR [rdx-1024] # AVX512 Disp8 152 vpmovzxbq zmm30{k7}, QWORD PTR [rdx-1032] # AVX512 153 154 vpmovzxwd zmm30{k7}, ymm29 # AVX512 155 vpmovzxwd zmm30{k7}{z}, ymm29 # AVX512 156 vpmovzxwd zmm30{k7}, YMMWORD PTR [rcx] # AVX512 157 vpmovzxwd zmm30{k7}, YMMWORD PTR [rax+r14*8+0x1234] # AVX512 158 vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx+4064] # AVX512 Disp8 159 vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx+4096] # AVX512 160 vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx-4096] # AVX512 Disp8 161 vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx-4128] # AVX512 162 163 vpmovzxwq zmm30{k7}, xmm29 # AVX512 164 vpmovzxwq zmm30{k7}{z}, xmm29 # AVX512 165 vpmovzxwq zmm30{k7}, XMMWORD PTR [rcx] # AVX512 166 vpmovzxwq zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 167 vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 168 vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 169 vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 170 vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 171 172