Add more manual aarch64 load/store intrinsic tests#2086
Conversation
|
r? @folkertdev rustbot has assigned @folkertdev. Use Why was this reviewer chosen?The reviewer was selected based on:
|
aa38fd0 to
4aba691
Compare
| macro_rules! lane_wide_store_load_roundtrip_fp16 { | ||
| ($( $name:ident $args:tt);* $(;)?) => { | ||
| $( | ||
| #[simd_test(enable = "neon,fp16")] |
There was a problem hiding this comment.
Any idea why these f16 tests pass on miri but not the regular ones above? They're all implemented with llvm builtins and aren't shimmed in miri as far as I can see
There was a problem hiding this comment.
what works and what doesn't work?
There was a problem hiding this comment.
Ah, got there - the simd_test macro was silently filtering out these tests under miri because the fp16 feature wasn't enabled. I've added brought some target features from a recent cpu in the github actions job, which causes these to fail, and then ignored them again 😄
4aba691 to
076805d
Compare
076805d to
2d49c7b
Compare
| macro_rules! wide_store_load_roundtrip_fp16 { | ||
| ($( $name:ident $args:tt);* $(;)?) => { | ||
| $( | ||
| #[cfg_attr(miri, ignore)] |
There was a problem hiding this comment.
Why is this disabled in Miri now? Please always add comments explaining that.
| macro_rules! lane_wide_store_load_roundtrip_neon { | ||
| ($( $name:ident $args:tt);* $(;)?) => { | ||
| $( | ||
| #[cfg_attr(miri, ignore)] |
There was a problem hiding this comment.
Same question here
| macro_rules! lane_wide_store_load_roundtrip_neon { | ||
| ($( $name:ident $args:tt);* $(;)?) => { | ||
| $( | ||
| #[cfg_attr(miri, ignore)] |
There was a problem hiding this comment.
and here
There was a problem hiding this comment.
Ah this one has a comment a few lines up (but far enough away that it's not visible when grepping).
Most of these are implemented with builtins, which miri can't handle
Would be good to have that comment on the same line as the cfg_attr, and mention which builtins. And then I'm still confused because surely we are missing tons of builtins tested in this file, why do just these two tests get an annotation?
| macro_rules! lane_wide_store_load_roundtrip_fp16 { | ||
| ($( $name:ident $args:tt);* $(;)?) => { | ||
| $( | ||
| #[cfg_attr(miri, ignore)] |
There was a problem hiding this comment.
and here
This was originally larger, but a fair number of the intrinsics I wrote tests for were already tested under different test names!