Commit | Line | Data |
---|---|---|
43234a1e L |
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 | ||
931d03b7 JB |
17 | {evex} vpextrb $0, %xmm0, %eax |
18 | {evex} vpextrb $0, %xmm0, (%rax) | |
19 | ||
20 | {evex} vpextrw $0, %xmm0, %eax | |
21 | {evex} {store} vpextrw $0, %xmm0, %eax | |
22 | {evex} vpextrw $0, %xmm0, (%rax) | |
23 | ||
24 | {evex} vpinsrb $0, %eax, %xmm0, %xmm0 | |
25 | {evex} vpinsrb $0, (%rax), %xmm0, %xmm0 | |
26 | ||
27 | {evex} vpinsrw $0, %eax, %xmm0, %xmm0 | |
28 | {evex} vpinsrw $0, (%rax), %xmm0, %xmm0 | |
29 | ||
43234a1e L |
30 | vpmovsxbd %xmm29, %zmm30{%k7} # AVX512 |
31 | vpmovsxbd %xmm29, %zmm30{%k7}{z} # AVX512 | |
32 | vpmovsxbd (%rcx), %zmm30{%k7} # AVX512 | |
33 | vpmovsxbd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
34 | vpmovsxbd 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
35 | vpmovsxbd 2048(%rdx), %zmm30{%k7} # AVX512 | |
36 | vpmovsxbd -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
37 | vpmovsxbd -2064(%rdx), %zmm30{%k7} # AVX512 | |
38 | ||
39 | vpmovsxbq %xmm29, %zmm30{%k7} # AVX512 | |
40 | vpmovsxbq %xmm29, %zmm30{%k7}{z} # AVX512 | |
41 | vpmovsxbq (%rcx), %zmm30{%k7} # AVX512 | |
42 | vpmovsxbq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
43 | vpmovsxbq 1016(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
44 | vpmovsxbq 1024(%rdx), %zmm30{%k7} # AVX512 | |
45 | vpmovsxbq -1024(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
46 | vpmovsxbq -1032(%rdx), %zmm30{%k7} # AVX512 | |
47 | ||
48 | vpmovsxwd %ymm29, %zmm30{%k7} # AVX512 | |
49 | vpmovsxwd %ymm29, %zmm30{%k7}{z} # AVX512 | |
50 | vpmovsxwd (%rcx), %zmm30{%k7} # AVX512 | |
51 | vpmovsxwd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
52 | vpmovsxwd 4064(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
53 | vpmovsxwd 4096(%rdx), %zmm30{%k7} # AVX512 | |
54 | vpmovsxwd -4096(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
55 | vpmovsxwd -4128(%rdx), %zmm30{%k7} # AVX512 | |
56 | ||
57 | vpmovsxwq %xmm29, %zmm30{%k7} # AVX512 | |
58 | vpmovsxwq %xmm29, %zmm30{%k7}{z} # AVX512 | |
59 | vpmovsxwq (%rcx), %zmm30{%k7} # AVX512 | |
60 | vpmovsxwq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
61 | vpmovsxwq 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
62 | vpmovsxwq 2048(%rdx), %zmm30{%k7} # AVX512 | |
63 | vpmovsxwq -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
64 | vpmovsxwq -2064(%rdx), %zmm30{%k7} # AVX512 | |
65 | ||
66 | vpmovzxbd %xmm29, %zmm30{%k7} # AVX512 | |
67 | vpmovzxbd %xmm29, %zmm30{%k7}{z} # AVX512 | |
68 | vpmovzxbd (%rcx), %zmm30{%k7} # AVX512 | |
69 | vpmovzxbd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
70 | vpmovzxbd 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
71 | vpmovzxbd 2048(%rdx), %zmm30{%k7} # AVX512 | |
72 | vpmovzxbd -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
73 | vpmovzxbd -2064(%rdx), %zmm30{%k7} # AVX512 | |
74 | ||
75 | vpmovzxbq %xmm29, %zmm30{%k7} # AVX512 | |
76 | vpmovzxbq %xmm29, %zmm30{%k7}{z} # AVX512 | |
77 | vpmovzxbq (%rcx), %zmm30{%k7} # AVX512 | |
78 | vpmovzxbq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
79 | vpmovzxbq 1016(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
80 | vpmovzxbq 1024(%rdx), %zmm30{%k7} # AVX512 | |
81 | vpmovzxbq -1024(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
82 | vpmovzxbq -1032(%rdx), %zmm30{%k7} # AVX512 | |
83 | ||
84 | vpmovzxwd %ymm29, %zmm30{%k7} # AVX512 | |
85 | vpmovzxwd %ymm29, %zmm30{%k7}{z} # AVX512 | |
86 | vpmovzxwd (%rcx), %zmm30{%k7} # AVX512 | |
87 | vpmovzxwd 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
88 | vpmovzxwd 4064(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
89 | vpmovzxwd 4096(%rdx), %zmm30{%k7} # AVX512 | |
90 | vpmovzxwd -4096(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
91 | vpmovzxwd -4128(%rdx), %zmm30{%k7} # AVX512 | |
92 | ||
93 | vpmovzxwq %xmm29, %zmm30{%k7} # AVX512 | |
94 | vpmovzxwq %xmm29, %zmm30{%k7}{z} # AVX512 | |
95 | vpmovzxwq (%rcx), %zmm30{%k7} # AVX512 | |
96 | vpmovzxwq 0x123(%rax,%r14,8), %zmm30{%k7} # AVX512 | |
97 | vpmovzxwq 2032(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
98 | vpmovzxwq 2048(%rdx), %zmm30{%k7} # AVX512 | |
99 | vpmovzxwq -2048(%rdx), %zmm30{%k7} # AVX512 Disp8 | |
100 | vpmovzxwq -2064(%rdx), %zmm30{%k7} # AVX512 | |
101 | ||
102 | .intel_syntax noprefix | |
103 | vextractps rax, xmm29, 0xab # AVX512 | |
104 | vextractps rax, xmm29, 123 # AVX512 | |
105 | vextractps r8, xmm29, 123 # AVX512 | |
106 | vextractps DWORD PTR [rcx], xmm29, 123 # AVX512 | |
107 | vextractps DWORD PTR [rax+r14*8+0x1234], xmm29, 123 # AVX512 | |
108 | vextractps DWORD PTR [rdx+508], xmm29, 123 # AVX512 Disp8 | |
109 | vextractps DWORD PTR [rdx+512], xmm29, 123 # AVX512 | |
110 | vextractps DWORD PTR [rdx-512], xmm29, 123 # AVX512 Disp8 | |
111 | vextractps DWORD PTR [rdx-516], xmm29, 123 # AVX512 | |
112 | ||
113 | vpmovsxbd zmm30{k7}, xmm29 # AVX512 | |
114 | vpmovsxbd zmm30{k7}{z}, xmm29 # AVX512 | |
115 | vpmovsxbd zmm30{k7}, XMMWORD PTR [rcx] # AVX512 | |
116 | vpmovsxbd zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 | |
117 | vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 | |
118 | vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 | |
119 | vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 | |
120 | vpmovsxbd zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 | |
121 | ||
122 | vpmovsxbq zmm30{k7}, xmm29 # AVX512 | |
123 | vpmovsxbq zmm30{k7}{z}, xmm29 # AVX512 | |
124 | vpmovsxbq zmm30{k7}, QWORD PTR [rcx] # AVX512 | |
125 | vpmovsxbq zmm30{k7}, QWORD PTR [rax+r14*8+0x1234] # AVX512 | |
126 | vpmovsxbq zmm30{k7}, QWORD PTR [rdx+1016] # AVX512 Disp8 | |
127 | vpmovsxbq zmm30{k7}, QWORD PTR [rdx+1024] # AVX512 | |
128 | vpmovsxbq zmm30{k7}, QWORD PTR [rdx-1024] # AVX512 Disp8 | |
129 | vpmovsxbq zmm30{k7}, QWORD PTR [rdx-1032] # AVX512 | |
130 | ||
131 | vpmovsxwd zmm30{k7}, ymm29 # AVX512 | |
132 | vpmovsxwd zmm30{k7}{z}, ymm29 # AVX512 | |
133 | vpmovsxwd zmm30{k7}, YMMWORD PTR [rcx] # AVX512 | |
134 | vpmovsxwd zmm30{k7}, YMMWORD PTR [rax+r14*8+0x1234] # AVX512 | |
135 | vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx+4064] # AVX512 Disp8 | |
136 | vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx+4096] # AVX512 | |
137 | vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx-4096] # AVX512 Disp8 | |
138 | vpmovsxwd zmm30{k7}, YMMWORD PTR [rdx-4128] # AVX512 | |
139 | ||
140 | vpmovsxwq zmm30{k7}, xmm29 # AVX512 | |
141 | vpmovsxwq zmm30{k7}{z}, xmm29 # AVX512 | |
142 | vpmovsxwq zmm30{k7}, XMMWORD PTR [rcx] # AVX512 | |
143 | vpmovsxwq zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 | |
144 | vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 | |
145 | vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 | |
146 | vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 | |
147 | vpmovsxwq zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 | |
148 | ||
149 | vpmovzxbd zmm30{k7}, xmm29 # AVX512 | |
150 | vpmovzxbd zmm30{k7}{z}, xmm29 # AVX512 | |
151 | vpmovzxbd zmm30{k7}, XMMWORD PTR [rcx] # AVX512 | |
152 | vpmovzxbd zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 | |
153 | vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 | |
154 | vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 | |
155 | vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 | |
156 | vpmovzxbd zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 | |
157 | ||
158 | vpmovzxbq zmm30{k7}, xmm29 # AVX512 | |
159 | vpmovzxbq zmm30{k7}{z}, xmm29 # AVX512 | |
160 | vpmovzxbq zmm30{k7}, QWORD PTR [rcx] # AVX512 | |
161 | vpmovzxbq zmm30{k7}, QWORD PTR [rax+r14*8+0x1234] # AVX512 | |
162 | vpmovzxbq zmm30{k7}, QWORD PTR [rdx+1016] # AVX512 Disp8 | |
163 | vpmovzxbq zmm30{k7}, QWORD PTR [rdx+1024] # AVX512 | |
164 | vpmovzxbq zmm30{k7}, QWORD PTR [rdx-1024] # AVX512 Disp8 | |
165 | vpmovzxbq zmm30{k7}, QWORD PTR [rdx-1032] # AVX512 | |
166 | ||
167 | vpmovzxwd zmm30{k7}, ymm29 # AVX512 | |
168 | vpmovzxwd zmm30{k7}{z}, ymm29 # AVX512 | |
169 | vpmovzxwd zmm30{k7}, YMMWORD PTR [rcx] # AVX512 | |
170 | vpmovzxwd zmm30{k7}, YMMWORD PTR [rax+r14*8+0x1234] # AVX512 | |
171 | vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx+4064] # AVX512 Disp8 | |
172 | vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx+4096] # AVX512 | |
173 | vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx-4096] # AVX512 Disp8 | |
174 | vpmovzxwd zmm30{k7}, YMMWORD PTR [rdx-4128] # AVX512 | |
175 | ||
176 | vpmovzxwq zmm30{k7}, xmm29 # AVX512 | |
177 | vpmovzxwq zmm30{k7}{z}, xmm29 # AVX512 | |
178 | vpmovzxwq zmm30{k7}, XMMWORD PTR [rcx] # AVX512 | |
179 | vpmovzxwq zmm30{k7}, XMMWORD PTR [rax+r14*8+0x1234] # AVX512 | |
180 | vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx+2032] # AVX512 Disp8 | |
181 | vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx+2048] # AVX512 | |
182 | vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx-2048] # AVX512 Disp8 | |
183 | vpmovzxwq zmm30{k7}, XMMWORD PTR [rdx-2064] # AVX512 | |
184 |