Add #[track_caller] to assert_eq_* functions
This commit is contained in:
parent
dd2d469c8b
commit
f056604ac2
1 changed files with 9 additions and 0 deletions
|
|
@ -3,11 +3,13 @@
|
|||
use crate::core_arch::x86::*;
|
||||
use std::mem::transmute;
|
||||
|
||||
#[track_caller]
|
||||
#[target_feature(enable = "sse2")]
|
||||
pub unsafe fn assert_eq_m128i(a: __m128i, b: __m128i) {
|
||||
assert_eq!(transmute::<_, [u64; 2]>(a), transmute::<_, [u64; 2]>(b))
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
#[target_feature(enable = "sse2")]
|
||||
pub unsafe fn assert_eq_m128d(a: __m128d, b: __m128d) {
|
||||
if _mm_movemask_pd(_mm_cmpeq_pd(a, b)) != 0b11 {
|
||||
|
|
@ -20,6 +22,7 @@ pub unsafe fn get_m128d(a: __m128d, idx: usize) -> f64 {
|
|||
transmute::<_, [f64; 2]>(a)[idx]
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
#[target_feature(enable = "sse")]
|
||||
pub unsafe fn assert_eq_m128(a: __m128, b: __m128) {
|
||||
let r = _mm_cmpeq_ps(a, b);
|
||||
|
|
@ -40,11 +43,13 @@ pub unsafe fn _mm_setr_epi64x(a: i64, b: i64) -> __m128i {
|
|||
_mm_set_epi64x(b, a)
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
#[target_feature(enable = "avx")]
|
||||
pub unsafe fn assert_eq_m256i(a: __m256i, b: __m256i) {
|
||||
assert_eq!(transmute::<_, [u64; 4]>(a), transmute::<_, [u64; 4]>(b))
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
#[target_feature(enable = "avx")]
|
||||
pub unsafe fn assert_eq_m256d(a: __m256d, b: __m256d) {
|
||||
let cmp = _mm256_cmp_pd::<_CMP_EQ_OQ>(a, b);
|
||||
|
|
@ -58,6 +63,7 @@ pub unsafe fn get_m256d(a: __m256d, idx: usize) -> f64 {
|
|||
transmute::<_, [f64; 4]>(a)[idx]
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
#[target_feature(enable = "avx")]
|
||||
pub unsafe fn assert_eq_m256(a: __m256, b: __m256) {
|
||||
let cmp = _mm256_cmp_ps::<_CMP_EQ_OQ>(a, b);
|
||||
|
|
@ -125,10 +131,12 @@ mod x86_polyfill {
|
|||
}
|
||||
pub use self::x86_polyfill::*;
|
||||
|
||||
#[track_caller]
|
||||
pub unsafe fn assert_eq_m512i(a: __m512i, b: __m512i) {
|
||||
assert_eq!(transmute::<_, [i32; 16]>(a), transmute::<_, [i32; 16]>(b))
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
pub unsafe fn assert_eq_m512(a: __m512, b: __m512) {
|
||||
let cmp = _mm512_cmp_ps_mask::<_CMP_EQ_OQ>(a, b);
|
||||
if cmp != 0b11111111_11111111 {
|
||||
|
|
@ -136,6 +144,7 @@ pub unsafe fn assert_eq_m512(a: __m512, b: __m512) {
|
|||
}
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
pub unsafe fn assert_eq_m512d(a: __m512d, b: __m512d) {
|
||||
let cmp = _mm512_cmp_pd_mask::<_CMP_EQ_OQ>(a, b);
|
||||
if cmp != 0b11111111 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue