Skip to content

Commit 50a767e

Browse files
committed
Split test case to reduce memory consumption
1 parent be686e6 commit 50a767e

File tree

1 file changed

+30
-5
lines changed

1 file changed

+30
-5
lines changed

test/sse/test_avx2.cpp

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,18 @@ void test_logical(void) {
102102
Ret_M256i_M256i(__m256i, _mm256_xor_si256);
103103
}
104104

105-
void test_swizzle(void) {
105+
// Split test_swizzle to reduce memory consumption
106+
void test_swizzle1(void) {
106107
Ret_M256i_M256i_M256i(__m256i, _mm256_blendv_epi8);
107108
Ret_M256i_M256i_Tint(__m256i, _mm256_blend_epi16);
108109

109110
Ret_M256i_M256i(__m256i, _mm256_shuffle_epi8);
110111
Ret_M256i_Tint(__m256i, _mm256_shuffle_epi32);
111112
Ret_M256i_Tint(__m256i, _mm256_shufflehi_epi16);
112113
Ret_M256i_Tint(__m256i, _mm256_shufflelo_epi16);
114+
}
113115

116+
void test_swizzle2(void) {
114117
Ret_M256i_M256i(__m256i, _mm256_unpackhi_epi8);
115118
Ret_M256i_M256i(__m256i, _mm256_unpackhi_epi16);
116119
Ret_M256i_M256i(__m256i, _mm256_unpackhi_epi32);
@@ -143,13 +146,22 @@ void test_swizzle(void) {
143146
Ret_M256i_M256i(__m256i, _mm256_permutevar8x32_epi32);
144147
Ret_M256_M256i(__m256, _mm256_permutevar8x32_ps);
145148
Ret_M256i_Tint(__m256i, _mm256_permute4x64_epi64);
149+
}
150+
151+
void test_swizzle3(void) {
146152
Ret_M256d_Tint(__m256d, _mm256_permute4x64_pd);
147153
Ret_M256i_M256i_Tint(__m256i, _mm256_permute2x128_si256);
148154

149155
Ret_M256i_Tint(__m128i, _mm256_extracti128_si256);
150156
Ret_M256i_M128i_Tint(__m256i, _mm256_inserti128_si256);
151157
}
152158

159+
void test_swizzle(void) {
160+
test_swizzle1();
161+
test_swizzle2();
162+
test_swizzle3();
163+
}
164+
153165
void test_convert(void) {
154166
Ret_M128i(__m256i, _mm256_cvtepi8_epi16);
155167
Ret_M128i(__m256i, _mm256_cvtepi8_epi32);
@@ -191,7 +203,8 @@ void test_misc(void) {
191203
Ret_M256i(int, _mm256_movemask_epi8);
192204
}
193205

194-
void test_load(void) {
206+
// Split test_load to reduce memory consumption
207+
void test_load1(void) {
195208
Ret_IntPtr(__m256i, _mm256_stream_load_si256, __m256i*, 8, 8);
196209

197210
Ret_IntPtr_M128i(__m128i, _mm_maskload_epi32, int32_t*, 4, 4);
@@ -228,7 +241,9 @@ void test_load(void) {
228241
__m128i, _mm_mask_i64gather_epi64, 8);
229242
Ret_M256i_Int64Ptr_I64x4_M256i_Tint_body(
230243
__m256i, _mm256_mask_i64gather_epi64, 8);
244+
}
231245

246+
void test_load2(void) {
232247
Ret_DoublePtr_I32x4_Tint_body(__m128d, _mm_i32gather_pd, 8);
233248
Ret_DoublePtr_I32x4_Tint_body(__m256d, _mm256_i32gather_pd, 8);
234249
Ret_DoublePtr_I64x2_Tint_body(__m128d, _mm_i64gather_pd, 8);
@@ -250,6 +265,11 @@ void test_load(void) {
250265
Ret_Int64Ptr_I64x4_Tint_body(__m256i, _mm256_i64gather_epi64, 8);
251266
}
252267

268+
void test_load(void) {
269+
test_load1();
270+
test_load2();
271+
}
272+
253273
void test_store(void) {
254274
void_OutIntPtr_M128i_M128i(_mm_maskstore_epi32, int*, 16, 4);
255275
void_OutIntPtr_M256i_M256i(_mm256_maskstore_epi32, int*, 32, 4);
@@ -262,13 +282,16 @@ void test_statisticsa(void) {
262282
Ret_M256i_M256i(__m256i, _mm256_avg_epu8);
263283
}
264284

265-
// Split test_shift into two functions to reduce memory consumption
285+
// Split test_shift to reduce memory consumption
266286
void test_shift1(void) {
267287
Ret_M256i_Tint(__m256i, _mm256_slli_si256);
268288
Ret_M256i_Tint(__m256i, _mm256_bslli_epi128);
269289

270290
Ret_M256i_Tint(__m256i, _mm256_slli_epi16);
271291
Ret_M256i_Tint(__m256i, _mm256_slli_epi32);
292+
}
293+
294+
void test_shift2(void) {
272295
Ret_M256i_Tint(__m256i, _mm256_slli_epi64);
273296
Ret_M256i_M128i(__m256i, _mm256_sll_epi16);
274297
Ret_M256i_M128i(__m256i, _mm256_sll_epi32);
@@ -278,10 +301,11 @@ void test_shift1(void) {
278301
Ret_M256i_Tint(__m256i, _mm256_srai_epi32);
279302
Ret_M256i_M128i(__m256i, _mm256_sra_epi16);
280303
Ret_M256i_M128i(__m256i, _mm256_sra_epi32);
281-
}
282304

283-
void test_shift2(void) {
284305
Ret_M256i_Tint(__m256i, _mm256_srli_si256);
306+
}
307+
308+
void test_shift3(void) {
285309
Ret_M256i_Tint(__m256i, _mm256_bsrli_epi128);
286310

287311
Ret_M256i_Tint(__m256i, _mm256_srli_epi16);
@@ -308,6 +332,7 @@ void test_shift2(void) {
308332
void test_shift(void) {
309333
test_shift1();
310334
test_shift2();
335+
test_shift3();
311336
}
312337

313338
int main() {

0 commit comments

Comments
 (0)