Commit | Line | Data |
---|---|---|
14f195c9 IT |
1 | # Check 64bit AVX512VBMI instructions |
2 | ||
3 | .allow_index_reg | |
4 | .text | |
5 | _start: | |
6 | vpermb %zmm28, %zmm29, %zmm30 # AVX512VBMI | |
7 | vpermb %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI | |
8 | vpermb %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI | |
9 | vpermb (%rcx), %zmm29, %zmm30 # AVX512VBMI | |
10 | vpermb 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI | |
11 | vpermb 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
12 | vpermb 8192(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
13 | vpermb -8192(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
14 | vpermb -8256(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
15 | vpermi2b %zmm28, %zmm29, %zmm30 # AVX512VBMI | |
16 | vpermi2b %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI | |
17 | vpermi2b %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI | |
18 | vpermi2b (%rcx), %zmm29, %zmm30 # AVX512VBMI | |
19 | vpermi2b 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI | |
20 | vpermi2b 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
21 | vpermi2b 8192(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
22 | vpermi2b -8192(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
23 | vpermi2b -8256(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
24 | vpermt2b %zmm28, %zmm29, %zmm30 # AVX512VBMI | |
25 | vpermt2b %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI | |
26 | vpermt2b %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI | |
27 | vpermt2b (%rcx), %zmm29, %zmm30 # AVX512VBMI | |
28 | vpermt2b 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI | |
29 | vpermt2b 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
30 | vpermt2b 8192(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
31 | vpermt2b -8192(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
32 | vpermt2b -8256(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
33 | vpmultishiftqb %zmm28, %zmm29, %zmm30 # AVX512VBMI | |
34 | vpmultishiftqb %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI | |
35 | vpmultishiftqb %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI | |
36 | vpmultishiftqb (%rcx), %zmm29, %zmm30 # AVX512VBMI | |
37 | vpmultishiftqb 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI | |
38 | vpmultishiftqb (%rcx){1to8}, %zmm29, %zmm30 # AVX512VBMI | |
39 | vpmultishiftqb 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
40 | vpmultishiftqb 8192(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
41 | vpmultishiftqb -8192(%rdx), %zmm29, %zmm30 # AVX512VBMI Disp8 | |
42 | vpmultishiftqb -8256(%rdx), %zmm29, %zmm30 # AVX512VBMI | |
43 | vpmultishiftqb 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI Disp8 | |
44 | vpmultishiftqb 1024(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI | |
45 | vpmultishiftqb -1024(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI Disp8 | |
46 | vpmultishiftqb -1032(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI | |
47 | ||
48 | .intel_syntax noprefix | |
49 | vpermb zmm30, zmm29, zmm28 # AVX512VBMI | |
50 | vpermb zmm30{k7}, zmm29, zmm28 # AVX512VBMI | |
51 | vpermb zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI | |
52 | vpermb zmm30, zmm29, ZMMWORD PTR [rcx] # AVX512VBMI | |
53 | vpermb zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI | |
54 | vpermb zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI Disp8 | |
55 | vpermb zmm30, zmm29, ZMMWORD PTR [rdx+8192] # AVX512VBMI | |
56 | vpermb zmm30, zmm29, ZMMWORD PTR [rdx-8192] # AVX512VBMI Disp8 | |
57 | vpermb zmm30, zmm29, ZMMWORD PTR [rdx-8256] # AVX512VBMI | |
58 | vpermi2b zmm30, zmm29, zmm28 # AVX512VBMI | |
59 | vpermi2b zmm30{k7}, zmm29, zmm28 # AVX512VBMI | |
60 | vpermi2b zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI | |
61 | vpermi2b zmm30, zmm29, ZMMWORD PTR [rcx] # AVX512VBMI | |
62 | vpermi2b zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI | |
63 | vpermi2b zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI Disp8 | |
64 | vpermi2b zmm30, zmm29, ZMMWORD PTR [rdx+8192] # AVX512VBMI | |
65 | vpermi2b zmm30, zmm29, ZMMWORD PTR [rdx-8192] # AVX512VBMI Disp8 | |
66 | vpermi2b zmm30, zmm29, ZMMWORD PTR [rdx-8256] # AVX512VBMI | |
67 | vpermt2b zmm30, zmm29, zmm28 # AVX512VBMI | |
68 | vpermt2b zmm30{k7}, zmm29, zmm28 # AVX512VBMI | |
69 | vpermt2b zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI | |
70 | vpermt2b zmm30, zmm29, ZMMWORD PTR [rcx] # AVX512VBMI | |
71 | vpermt2b zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI | |
72 | vpermt2b zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI Disp8 | |
73 | vpermt2b zmm30, zmm29, ZMMWORD PTR [rdx+8192] # AVX512VBMI | |
74 | vpermt2b zmm30, zmm29, ZMMWORD PTR [rdx-8192] # AVX512VBMI Disp8 | |
75 | vpermt2b zmm30, zmm29, ZMMWORD PTR [rdx-8256] # AVX512VBMI | |
76 | vpmultishiftqb zmm30, zmm29, zmm28 # AVX512VBMI | |
77 | vpmultishiftqb zmm30{k7}, zmm29, zmm28 # AVX512VBMI | |
78 | vpmultishiftqb zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI | |
79 | vpmultishiftqb zmm30, zmm29, ZMMWORD PTR [rcx] # AVX512VBMI | |
80 | vpmultishiftqb zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI | |
81 | vpmultishiftqb zmm30, zmm29, [rcx]{1to8} # AVX512VBMI | |
82 | vpmultishiftqb zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI Disp8 | |
83 | vpmultishiftqb zmm30, zmm29, ZMMWORD PTR [rdx+8192] # AVX512VBMI | |
84 | vpmultishiftqb zmm30, zmm29, ZMMWORD PTR [rdx-8192] # AVX512VBMI Disp8 | |
85 | vpmultishiftqb zmm30, zmm29, ZMMWORD PTR [rdx-8256] # AVX512VBMI | |
86 | vpmultishiftqb zmm30, zmm29, [rdx+1016]{1to8} # AVX512VBMI Disp8 | |
87 | vpmultishiftqb zmm30, zmm29, [rdx+1024]{1to8} # AVX512VBMI | |
88 | vpmultishiftqb zmm30, zmm29, [rdx-1024]{1to8} # AVX512VBMI Disp8 | |
89 | vpmultishiftqb zmm30, zmm29, [rdx-1032]{1to8} # AVX512VBMI |