File: avx2.sh

package info (click to toggle)
xsimd 14.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,144 kB
  • sloc: cpp: 41,628; sh: 541; makefile: 184; python: 117
file content (173 lines) | stat: -rw-r--r-- 3,531 bytes parent folder | download | duplicates (6)
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
172
173
#!/bin/sh
exit_code=0
for instr in `grep -o -E '^_mm256_[a-z1Z0-9_]+' $0`
do
    if ! grep -q -r $instr ../include-refactoring
    then
        echo $instr
        exit_code=1
    fi
done
exit $exit_code

# Instructions below starting with a # are known to be unused in xsimd
_mm256_abs_epi16
_mm256_abs_epi32
_mm256_abs_epi8
_mm256_add_epi16
_mm256_add_epi32
_mm256_add_epi64
_mm256_add_epi8
_mm256_adds_epi16
_mm256_adds_epi8
_mm256_adds_epu16
_mm256_adds_epu8
#_mm256_alignr_epi8
_mm256_and_si256
_mm256_andnot_si256
#_mm256_avg_epu16
#_mm256_avg_epu8
_mm256_blend_epi16
_mm256_blend_epi32
_mm256_blendv_epi8
#_mm256_broadcastb_epi8
#_mm256_broadcastd_epi32
#_mm256_broadcastq_epi64
#_mm256_broadcastsd_pd
#_mm256_broadcastsi128_si256
#_mm256_broadcastss_ps
#_mm256_broadcastw_epi16
#_mm256_bslli_epi128
#_mm256_bsrli_epi128
_mm256_cmpeq_epi16
_mm256_cmpeq_epi32
_mm256_cmpeq_epi64
_mm256_cmpeq_epi8
_mm256_cmpgt_epi16
_mm256_cmpgt_epi32
_mm256_cmpgt_epi64
_mm256_cmpgt_epi8
#_mm256_cvtepi16_epi32
#_mm256_cvtepi16_epi64
#_mm256_cvtepi32_epi64
#_mm256_cvtepi8_epi16
#_mm256_cvtepi8_epi32
#_mm256_cvtepi8_epi64
#_mm256_cvtepu16_epi32
#_mm256_cvtepu16_epi64
#_mm256_cvtepu32_epi64
#_mm256_cvtepu8_epi16
#_mm256_cvtepu8_epi32
#_mm256_cvtepu8_epi64
#_mm256_extract_epi16
#_mm256_extract_epi8
_mm256_extracti128_si256
_mm256_hadd_epi16
_mm256_hadd_epi32
#_mm256_hadds_epi16
#_mm256_hsub_epi16
#_mm256_hsub_epi32
#_mm256_hsubs_epi16
#_mm256_i32gather_epi32
#_mm256_mask_i32gather_epi32
#_mm256_i32gather_epi64
#_mm256_mask_i32gather_epi64
#_mm256_i32gather_pd
#_mm256_mask_i32gather_pd
#_mm256_i32gather_ps
#_mm256_mask_i32gather_ps
#_mm256_i64gather_epi32
#_mm256_mask_i64gather_epi32
#_mm256_i64gather_epi64
#_mm256_mask_i64gather_epi64
#_mm256_i64gather_pd
#_mm256_mask_i64gather_pd
#_mm256_i64gather_ps
#_mm256_mask_i64gather_ps
#_mm256_inserti128_si256
#_mm256_madd_epi16
#_mm256_maddubs_epi16
#_mm256_maskload_epi32
#_mm256_maskload_epi64
#_mm256_maskstore_epi32
#_mm256_maskstore_epi64
_mm256_max_epi16
_mm256_max_epi32
_mm256_max_epi8
_mm256_max_epu16
_mm256_max_epu32
_mm256_max_epu8
_mm256_min_epi16
_mm256_min_epi32
_mm256_min_epi8
_mm256_min_epu16
_mm256_min_epu32
_mm256_min_epu8
#_mm256_movemask_epi8
#_mm256_mpsadbw_epu8
#_mm256_mul_epi32
#_mm256_mul_epu32
#_mm256_mulhi_epi16
#_mm256_mulhi_epu16
#_mm256_mulhrs_epi16
_mm256_mullo_epi16
_mm256_mullo_epi32
_mm256_or_si256
#_mm256_packs_epi16
#_mm256_packs_epi32
#_mm256_packus_epi16
#_mm256_packus_epi32
#_mm256_permute2x128_si256
#_mm256_permute4x64_epi64
#_mm256_permute4x64_pd
#_mm256_permutevar8x32_epi32
#_mm256_permutevar8x32_ps
#_mm256_sad_epu8
#_mm256_shuffle_epi32
#_mm256_shuffle_epi8
#_mm256_shufflehi_epi16
#_mm256_shufflelo_epi16
#_mm256_sign_epi16
#_mm256_sign_epi32
#_mm256_sign_epi8
#_mm256_sll_epi16
#_mm256_sll_epi32
#_mm256_sll_epi64
_mm256_slli_epi16
_mm256_slli_epi32
_mm256_slli_epi64
#_mm256_slli_si256
_mm256_sllv_epi32
_mm256_sllv_epi64
#_mm256_sra_epi16
#_mm256_sra_epi32
_mm256_srai_epi16
_mm256_srai_epi32
_mm256_srav_epi32
#_mm256_srl_epi16
#_mm256_srl_epi32
#_mm256_srl_epi64
_mm256_srli_epi16
_mm256_srli_epi32
_mm256_srli_epi64
#_mm256_srli_si256
_mm256_srlv_epi32
_mm256_srlv_epi64
#_mm256_stream_load_si256
_mm256_sub_epi16
_mm256_sub_epi32
_mm256_sub_epi64
_mm256_sub_epi8
_mm256_subs_epi16
_mm256_subs_epi8
_mm256_subs_epu16
_mm256_subs_epu8
_mm256_unpackhi_epi16
_mm256_unpackhi_epi32
_mm256_unpackhi_epi64
_mm256_unpackhi_epi8
_mm256_unpacklo_epi16
_mm256_unpacklo_epi32
_mm256_unpacklo_epi64
_mm256_unpacklo_epi8
_mm256_xor_si256