File: x86-64-avx512vbmi_vl.s

package info (click to toggle)
binutils 2.31.1-16
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 309,412 kB
  • sloc: ansic: 1,161,194; asm: 638,508; cpp: 128,829; exp: 68,580; makefile: 55,828; sh: 22,360; yacc: 14,238; lisp: 13,272; perl: 2,111; ada: 1,681; lex: 1,652; pascal: 1,446; cs: 879; sed: 195; python: 154; xml: 95; awk: 25
file content (171 lines) | stat: -rw-r--r-- 10,356 bytes parent folder | download | duplicates (17)
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# Check 64bit AVX512{VBMI,VL} instructions

	.allow_index_reg
	.text
_start:
	vpermb	%xmm28, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermb	%xmm28, %xmm29, %xmm30{%k7}	 # AVX512{VBMI,VL}
	vpermb	%xmm28, %xmm29, %xmm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpermb	(%rcx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermb	0x123(%rax,%r14,8), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermb	2032(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpermb	2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermb	-2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpermb	-2064(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermb	%ymm28, %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermb	%ymm28, %ymm29, %ymm30{%k7}	 # AVX512{VBMI,VL}
	vpermb	%ymm28, %ymm29, %ymm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpermb	(%rcx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermb	0x123(%rax,%r14,8), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermb	4064(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpermb	4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermb	-4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpermb	-4128(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermi2b	%xmm28, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermi2b	%xmm28, %xmm29, %xmm30{%k7}	 # AVX512{VBMI,VL}
	vpermi2b	%xmm28, %xmm29, %xmm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpermi2b	(%rcx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermi2b	0x123(%rax,%r14,8), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermi2b	2032(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpermi2b	2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermi2b	-2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpermi2b	-2064(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermi2b	%ymm28, %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermi2b	%ymm28, %ymm29, %ymm30{%k7}	 # AVX512{VBMI,VL}
	vpermi2b	%ymm28, %ymm29, %ymm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpermi2b	(%rcx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermi2b	0x123(%rax,%r14,8), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermi2b	4064(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpermi2b	4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermi2b	-4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpermi2b	-4128(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermt2b	%xmm28, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermt2b	%xmm28, %xmm29, %xmm30{%k7}	 # AVX512{VBMI,VL}
	vpermt2b	%xmm28, %xmm29, %xmm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpermt2b	(%rcx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermt2b	0x123(%rax,%r14,8), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermt2b	2032(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpermt2b	2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermt2b	-2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpermt2b	-2064(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpermt2b	%ymm28, %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermt2b	%ymm28, %ymm29, %ymm30{%k7}	 # AVX512{VBMI,VL}
	vpermt2b	%ymm28, %ymm29, %ymm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpermt2b	(%rcx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermt2b	0x123(%rax,%r14,8), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermt2b	4064(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpermt2b	4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpermt2b	-4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpermt2b	-4128(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	%xmm28, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	%xmm28, %xmm29, %xmm30{%k7}	 # AVX512{VBMI,VL}
	vpmultishiftqb	%xmm28, %xmm29, %xmm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpmultishiftqb	(%rcx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	0x123(%rax,%r14,8), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	(%rcx){1to2}, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	2032(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	-2048(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	-2064(%rdx), %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	1016(%rdx){1to2}, %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	1024(%rdx){1to2}, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	-1024(%rdx){1to2}, %xmm29, %xmm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	-1032(%rdx){1to2}, %xmm29, %xmm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	%ymm28, %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	%ymm28, %ymm29, %ymm30{%k7}	 # AVX512{VBMI,VL}
	vpmultishiftqb	%ymm28, %ymm29, %ymm30{%k7}{z}	 # AVX512{VBMI,VL}
	vpmultishiftqb	(%rcx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	0x123(%rax,%r14,8), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	(%rcx){1to4}, %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	4064(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	-4096(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	-4128(%rdx), %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	1016(%rdx){1to4}, %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	1024(%rdx){1to4}, %ymm29, %ymm30	 # AVX512{VBMI,VL}
	vpmultishiftqb	-1024(%rdx){1to4}, %ymm29, %ymm30	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	-1032(%rdx){1to4}, %ymm29, %ymm30	 # AVX512{VBMI,VL}

	.intel_syntax noprefix
	vpermb	xmm30, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermb	xmm30{k7}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermb	xmm30{k7}{z}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermb	xmm30, xmm29, XMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpermb	xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpermb	xmm30, xmm29, XMMWORD PTR [rdx+2032]	 # AVX512{VBMI,VL} Disp8
	vpermb	xmm30, xmm29, XMMWORD PTR [rdx+2048]	 # AVX512{VBMI,VL}
	vpermb	xmm30, xmm29, XMMWORD PTR [rdx-2048]	 # AVX512{VBMI,VL} Disp8
	vpermb	xmm30, xmm29, XMMWORD PTR [rdx-2064]	 # AVX512{VBMI,VL}
	vpermb	ymm30, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermb	ymm30{k7}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermb	ymm30{k7}{z}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermb	ymm30, ymm29, YMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpermb	ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpermb	ymm30, ymm29, YMMWORD PTR [rdx+4064]	 # AVX512{VBMI,VL} Disp8
	vpermb	ymm30, ymm29, YMMWORD PTR [rdx+4096]	 # AVX512{VBMI,VL}
	vpermb	ymm30, ymm29, YMMWORD PTR [rdx-4096]	 # AVX512{VBMI,VL} Disp8
	vpermb	ymm30, ymm29, YMMWORD PTR [rdx-4128]	 # AVX512{VBMI,VL}
	vpermi2b	xmm30, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermi2b	xmm30{k7}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermi2b	xmm30{k7}{z}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermi2b	xmm30, xmm29, XMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpermi2b	xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpermi2b	xmm30, xmm29, XMMWORD PTR [rdx+2032]	 # AVX512{VBMI,VL} Disp8
	vpermi2b	xmm30, xmm29, XMMWORD PTR [rdx+2048]	 # AVX512{VBMI,VL}
	vpermi2b	xmm30, xmm29, XMMWORD PTR [rdx-2048]	 # AVX512{VBMI,VL} Disp8
	vpermi2b	xmm30, xmm29, XMMWORD PTR [rdx-2064]	 # AVX512{VBMI,VL}
	vpermi2b	ymm30, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermi2b	ymm30{k7}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermi2b	ymm30{k7}{z}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermi2b	ymm30, ymm29, YMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpermi2b	ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpermi2b	ymm30, ymm29, YMMWORD PTR [rdx+4064]	 # AVX512{VBMI,VL} Disp8
	vpermi2b	ymm30, ymm29, YMMWORD PTR [rdx+4096]	 # AVX512{VBMI,VL}
	vpermi2b	ymm30, ymm29, YMMWORD PTR [rdx-4096]	 # AVX512{VBMI,VL} Disp8
	vpermi2b	ymm30, ymm29, YMMWORD PTR [rdx-4128]	 # AVX512{VBMI,VL}
	vpermt2b	xmm30, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermt2b	xmm30{k7}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermt2b	xmm30{k7}{z}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpermt2b	xmm30, xmm29, XMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpermt2b	xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpermt2b	xmm30, xmm29, XMMWORD PTR [rdx+2032]	 # AVX512{VBMI,VL} Disp8
	vpermt2b	xmm30, xmm29, XMMWORD PTR [rdx+2048]	 # AVX512{VBMI,VL}
	vpermt2b	xmm30, xmm29, XMMWORD PTR [rdx-2048]	 # AVX512{VBMI,VL} Disp8
	vpermt2b	xmm30, xmm29, XMMWORD PTR [rdx-2064]	 # AVX512{VBMI,VL}
	vpermt2b	ymm30, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermt2b	ymm30{k7}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermt2b	ymm30{k7}{z}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpermt2b	ymm30, ymm29, YMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpermt2b	ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpermt2b	ymm30, ymm29, YMMWORD PTR [rdx+4064]	 # AVX512{VBMI,VL} Disp8
	vpermt2b	ymm30, ymm29, YMMWORD PTR [rdx+4096]	 # AVX512{VBMI,VL}
	vpermt2b	ymm30, ymm29, YMMWORD PTR [rdx-4096]	 # AVX512{VBMI,VL} Disp8
	vpermt2b	ymm30, ymm29, YMMWORD PTR [rdx-4128]	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30{k7}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30{k7}{z}, xmm29, xmm28	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, XMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, [rcx]{1to2}	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, XMMWORD PTR [rdx+2032]	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	xmm30, xmm29, XMMWORD PTR [rdx+2048]	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, XMMWORD PTR [rdx-2048]	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	xmm30, xmm29, XMMWORD PTR [rdx-2064]	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, [rdx+1016]{1to2}	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	xmm30, xmm29, [rdx+1024]{1to2}	 # AVX512{VBMI,VL}
	vpmultishiftqb	xmm30, xmm29, [rdx-1024]{1to2}	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	xmm30, xmm29, [rdx-1032]{1to2}	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30{k7}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30{k7}{z}, ymm29, ymm28	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, YMMWORD PTR [rcx]	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234]	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, [rcx]{1to4}	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, YMMWORD PTR [rdx+4064]	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	ymm30, ymm29, YMMWORD PTR [rdx+4096]	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, YMMWORD PTR [rdx-4096]	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	ymm30, ymm29, YMMWORD PTR [rdx-4128]	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, [rdx+1016]{1to4}	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	ymm30, ymm29, [rdx+1024]{1to4}	 # AVX512{VBMI,VL}
	vpmultishiftqb	ymm30, ymm29, [rdx-1024]{1to4}	 # AVX512{VBMI,VL} Disp8
	vpmultishiftqb	ymm30, ymm29, [rdx-1032]{1to4}	 # AVX512{VBMI,VL}