Add avx512vl requirement to testsuite for avx512fp16 128 and 256 bit

This commit is contained in:
sayantn 2025-04-28 11:32:14 +05:30 committed by Amanieu d'Antras
parent 288ae22354
commit a21396870c
3 changed files with 26 additions and 26 deletions

View file

@ -16670,14 +16670,14 @@ mod tests {
)
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_set_ph() {
let r = _mm_set_ph(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
let e = _mm_setr_ph(8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0);
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_set_ph() {
let r = _mm256_set_ph(
1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0,
@ -16703,21 +16703,21 @@ mod tests {
assert_eq_m512h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_set_sh() {
let r = _mm_set_sh(1.0);
let e = _mm_set_ph(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_set1_ph() {
let r = _mm_set1_ph(1.0);
let e = _mm_set_ph(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0);
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_set1_ph() {
let r = _mm256_set1_ph(1.0);
let e = _mm256_set_ph(
@ -16736,14 +16736,14 @@ mod tests {
assert_eq_m512h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_setr_ph() {
let r = _mm_setr_ph(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
let e = _mm_set_ph(8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0);
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_setr_ph() {
let r = _mm256_setr_ph(
1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0,
@ -16790,7 +16790,7 @@ mod tests {
assert_eq_m512h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_castsi128_ph() {
let a = _mm_set1_epi16(0x3c00);
let r = _mm_castsi128_ph(a);
@ -16798,7 +16798,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_castsi256_ph() {
let a = _mm256_set1_epi16(0x3c00);
let r = _mm256_castsi256_ph(a);
@ -16838,7 +16838,7 @@ mod tests {
assert_eq_m512i(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_castps_ph() {
let a = _mm_castsi128_ps(_mm_set1_epi16(0x3c00));
let r = _mm_castps_ph(a);
@ -16846,7 +16846,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_castps_ph() {
let a = _mm256_castsi256_ps(_mm256_set1_epi16(0x3c00));
let r = _mm256_castps_ph(a);
@ -16886,7 +16886,7 @@ mod tests {
assert_eq_m512(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_castpd_ph() {
let a = _mm_castsi128_pd(_mm_set1_epi16(0x3c00));
let r = _mm_castpd_ph(a);
@ -16894,7 +16894,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_castpd_ph() {
let a = _mm256_castsi256_pd(_mm256_set1_epi16(0x3c00));
let r = _mm256_castpd_ph(a);
@ -16934,7 +16934,7 @@ mod tests {
assert_eq_m512d(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_castph256_ph128() {
let a = _mm256_setr_ph(
1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16.,
@ -16944,7 +16944,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm512_castph512_ph128() {
let a = _mm512_setr_ph(
1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.,
@ -16955,7 +16955,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm512_castph512_ph256() {
let a = _mm512_setr_ph(
1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.,
@ -16968,21 +16968,21 @@ mod tests {
assert_eq_m256h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_castph128_ph256() {
let a = _mm_setr_ph(1., 2., 3., 4., 5., 6., 7., 8.);
let r = _mm256_castph128_ph256(a);
assert_eq_m128h(_mm256_castph256_ph128(r), a);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm512_castph128_ph512() {
let a = _mm_setr_ph(1., 2., 3., 4., 5., 6., 7., 8.);
let r = _mm512_castph128_ph512(a);
assert_eq_m128h(_mm512_castph512_ph128(r), a);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm512_castph256_ph512() {
let a = _mm256_setr_ph(
1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16.,
@ -16991,7 +16991,7 @@ mod tests {
assert_eq_m256h(_mm512_castph512_ph256(r), a);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm256_zextph128_ph256() {
let a = _mm_setr_ph(1., 2., 3., 4., 5., 6., 7., 8.);
let r = _mm256_zextph128_ph256(a);

View file

@ -37,7 +37,7 @@ pub unsafe fn get_m128(a: __m128, idx: usize) -> f32 {
}
#[track_caller]
#[target_feature(enable = "avx512fp16")]
#[target_feature(enable = "avx512fp16,avx512vl")]
pub unsafe fn assert_eq_m128h(a: __m128h, b: __m128h) {
let r = _mm_cmp_ph_mask::<_CMP_EQ_OQ>(a, b);
if r != 0b1111_1111 {
@ -87,7 +87,7 @@ pub unsafe fn get_m256(a: __m256, idx: usize) -> f32 {
}
#[track_caller]
#[target_feature(enable = "avx512fp16")]
#[target_feature(enable = "avx512fp16,avx512vl")]
pub unsafe fn assert_eq_m256h(a: __m256h, b: __m256h) {
let r = _mm256_cmp_ph_mask::<_CMP_EQ_OQ>(a, b);
if r != 0b11111111_11111111 {

View file

@ -231,7 +231,7 @@ mod tests {
use crate::core_arch::{x86::*, x86_64::*};
use stdarch_test::simd_test;
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_cvti64_sh() {
let a = _mm_setr_ph(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
let r = _mm_cvti64_sh(a, 10);
@ -239,7 +239,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_cvt_roundi64_sh() {
let a = _mm_setr_ph(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
let r = _mm_cvt_roundi64_sh::<{ _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC }>(a, 10);
@ -247,7 +247,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_cvtu64_sh() {
let a = _mm_setr_ph(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
let r = _mm_cvtu64_sh(a, 10);
@ -255,7 +255,7 @@ mod tests {
assert_eq_m128h(r, e);
}
#[simd_test(enable = "avx512fp16")]
#[simd_test(enable = "avx512fp16,avx512vl")]
unsafe fn test_mm_cvt_roundu64_sh() {
let a = _mm_setr_ph(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
let r = _mm_cvt_roundu64_sh::<{ _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC }>(a, 10);