Skip to content

Commit 3502a04

Browse files
committed
Add tests for permutevar8x32, permutevar8x32_epi32
1 parent 6752579 commit 3502a04

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

clang/test/CodeGen/X86/avx2-builtins.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,12 +1119,16 @@ __m256i test_mm256_permutevar8x32_epi32(__m256i a, __m256i b) {
11191119
// CHECK: call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> %{{.*}}, <8 x i32> %{{.*}})
11201120
return _mm256_permutevar8x32_epi32(a, b);
11211121
}
1122+
TEST_CONSTEXPR(match_v8si(_mm256_permutevar8x32_epi32((__m256i)(__v8si){7, 6, 5, 4, 3, 2, 1, 0}, (__m256i)(__v8si){0, 1, 2, 3, 4, 5, 6, 7}), 7, 6, 5, 4, 3, 2, 1, 0));
1123+
TEST_CONSTEXPR(match_v8si(_mm256_permutevar8x32_epi32((__m256i)(__v8si){0, 0, 0, 0, 0, 0, 0, 0}, (__m256i)(__v8si){1, 2, 3, 4, 5, 6, 7, 8}), 0, 0, 0, 0, 0, 0, 0, 0));
11221124

11231125
__m256 test_mm256_permutevar8x32_ps(__m256 a, __m256i b) {
11241126
// CHECK-LABEL: test_mm256_permutevar8x32_ps
11251127
// CHECK: call {{.*}}<8 x float> @llvm.x86.avx2.permps(<8 x float> %{{.*}}, <8 x i32> %{{.*}})
11261128
return _mm256_permutevar8x32_ps(a, b);
11271129
}
1130+
TEST_CONSTEXPR(match_m256(_mm256_permutevar8x32_ps((__m256){7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f, 0.0f}, (__m256i)(__v8si){0, 1, 2, 3, 4, 5, 6, 7}), 7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f, 0.0f));
1131+
TEST_CONSTEXPR(match_m256(_mm256_permutevar8x32_ps((__m256){0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, (__m256i)(__v8si){1, 2, 3, 4, 5, 6, 7, 8}), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f));
11281132

11291133
__m256i test_mm256_sad_epu8(__m256i x, __m256i y) {
11301134
// CHECK-LABEL: test_mm256_sad_epu8

0 commit comments

Comments
 (0)