Skip to content

Commit 290c761

Browse files
fix: update the comparison algorithm for cleaner comparisons
1 parent 3c30d91 commit 290c761

File tree

2 files changed

+15
-16
lines changed

2 files changed

+15
-16
lines changed

crates/intrinsic-test/missing_x86.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -890,15 +890,14 @@ _mm256_extract_epi16
890890
_mm256_extract_epi8
891891
_mm512_castsi128_si512
892892
_mm512_castsi256_si512
893-
# _mm512_conj_pch
893+
_mm512_conj_pch
894894
_mm512_mask_reduce_max_pd
895895
_mm512_mask_reduce_max_ps
896896
_mm512_mask_reduce_min_pd
897897
_mm512_mask_reduce_min_ps
898898
_mm_comineq_sh
899899
_mm_extract_epi16
900900
_mm_extract_epi8
901-
_mm_mask_cvtepi16_epi8
902901
_mm_mask_cvtpd_epi32
903902
_mm_mask_cvtpd_ps
904903
_mm_ucomineq_sh

crates/intrinsic-test/src/common/compare.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,31 +68,31 @@ pub fn compare_outputs(intrinsic_name_list: &Vec<String>, runner: &str, target:
6868
let intrinsics_diff_count = intrinsics
6969
.par_iter()
7070
.filter_map(|&&intrinsic| {
71-
println!("Difference for intrinsic: {intrinsic}");
7271
let c_output = c_output_map.get(intrinsic).unwrap();
7372
let rust_output = rust_output_map.get(intrinsic).unwrap();
7473
let diff = diff::lines(c_output, rust_output);
75-
let diff_count = diff
74+
let diffs = diff
7675
.into_iter()
7776
.filter_map(|diff| match diff {
78-
diff::Result::Left(c) => {
79-
println!("C: {c}");
80-
Some(c)
81-
}
82-
diff::Result::Right(rust) => {
83-
println!("Rust: {rust}");
84-
Some(rust)
85-
}
77+
diff::Result::Left(_) | diff::Result::Right(_) => Some(diff),
8678
diff::Result::Both(_, _) => None,
8779
})
88-
.count();
89-
println!("****************************************************************");
90-
if diff_count > 0 {
91-
Some(intrinsic)
80+
.collect_vec();
81+
if diffs.len() > 0 {
82+
Some((intrinsic, diffs))
9283
} else {
9384
None
9485
}
9586
})
87+
.inspect(|(intrinsic, diffs)| {
88+
println!("Difference for intrinsic: {intrinsic}");
89+
diffs.into_iter().for_each(|diff| match diff {
90+
diff::Result::Left(c) => println!("C: {c}"),
91+
diff::Result::Right(rust) => println!("Rust: {rust}"),
92+
_ => (),
93+
});
94+
println!("****************************************************************");
95+
})
9696
.count();
9797

9898
println!(

0 commit comments

Comments
 (0)