-
Notifications
You must be signed in to change notification settings - Fork 297
intrinsic-test
: Adding x86 behavioural testing.
#1894
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
intrinsic-test
: Adding x86 behavioural testing.
#1894
Conversation
41db5a8
to
5fc0f3b
Compare
match str::parse::<u32>(etype_processed.as_str()) { | ||
Ok(value) => data.bit_len = Some(value), | ||
Err(_) => { | ||
data.bit_len = match data.kind() { | ||
TypeKind::Char(_) => Some(8), | ||
TypeKind::BFloat => Some(16), | ||
TypeKind::Int(_) => Some(32), | ||
TypeKind::Float => Some(32), | ||
_ => None, | ||
}; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why are only some type kinds covered here? Maybe this could be a method on TypeKind
?
9e28106
to
111cd5d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should rebase on top of the upstream master branch instead of merging it in. That keeps the git history clean.
x86_64-unknown-linux-gnu*) | ||
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" RUST_LOG=warn \ | ||
cargo run "${INTRINSIC_TEST}" "${PROFILE}" \ | ||
--bin intrinsic-test -- intrinsics_data/x86-intel.xml \ | ||
--runner "${TEST_RUNNER}" \ | ||
--cppcompiler "${TEST_CXX_COMPILER}" \ | ||
--target "${TARGET}" | ||
;; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we'll have to see how to do this exactly, but we want to split these out of the main CI job to speed it up
f3f87f2
to
2ec747c
Compare
2ec747c
to
a8313d0
Compare
Seems like the CI run at this point failed due to this error. I'll retry shortly:
|
a119be1
to
0f3900b
Compare
Notes: 1. chunk_info has been moved to `common/mod.rs` since it will be needed for all architectures
parameters/return value of an intrinsic
76f386e
to
126a3ce
Compare
126a3ce
to
e79129a
Compare
Can you rebase this (and remove the merge commits) sometime? That would make it a lot easier to see what has actually changed. Also, why do you push to then have CI fail? Running this locally is a lot faster than having CI do it, because you can skip the earlier steps and run just the intrinsic tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, wait, it probably is up to date? it's just that xml file is enormous. that's crazy. Should we like, try to trim that down?
fn compare_outputs(&self) -> bool { | ||
if self.cli_options.toolchain.is_some() { | ||
let intrinsics_name_list = self | ||
.intrinsics | ||
.iter() | ||
.map(|i| i.name.clone()) | ||
.collect::<Vec<_>>(); | ||
|
||
compare_outputs( | ||
&intrinsics_name_list, | ||
&self.cli_options.runner, | ||
&self.cli_options.target, | ||
) | ||
} else { | ||
true | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this function is already defined by the trait, so it can be removed here.
@folkertdev I've been syncing using the below command whenever I'm updating from master: git rebase master Am I doing it correctly? |
About the XML file specification, may I ask what "trim down" means? |
depends a bit on your git setup, but it seems to work allright. I was just confused by the enormous number of lines changed, but that's all due to that XML file. |
What i mean is, could we process that XML file into a smaller XML file that only stores what we need? That would reduce the size of the repo (not sure how big that file is, maybe it compresses well?) and the speed of the intrinsic tests. There are risks too, e.g. what we generate could go out of date with the official XML file. So maybe it's fine this way. |
Ahh, makes sense. I think it might be best to keep the source of truth as unchanged as possible, since there is no direct way to obtain the sources sometimes. For example, the XML file originally existed in the The entire XML data can be found stored as a hardcoded string that is assigned to a variable in a JS file. |
Eww cursed. Allright, that's fine then |
Context
This is a redo of PR #1814, since a lot of details have changed with PRs #1863, #1862, #1861, #1852.
r? @folkertdev
cc: @Amanieu