Lint SIMD code, fix generic expectation failures#696
Lint SIMD code, fix generic expectation failures#696clarfonthey wants to merge 1 commit intorust-lang:masterfrom
Conversation
7920d4a to
d84850b
Compare
|
cc @xtqqczze since you were the one who brought this up initially, and I assume you can run the script to verify that it correctly identifies that your target uses NEON. |
d84850b to
57648d2
Compare
57648d2 to
39a76f8
Compare
|
I run the script, it appeared to run successfully, and I saw "Host target supports NEON" in the output. FYI: If you wanted, you could specify something like the following in the GitHub Actions file: shell: bash
run: ./ci/tools.sh |
|
Eh, I figured I wouldn't bother messing with the CI config too much. The scripts aren't executable which is annoying, but, whatever. Might change my mind and fix it later, though. :p |
|
I just noticed the only target for |
|
We should probably include |
|
Yeah, not sure what the best solution for the miri tests would be, since it depends a lot on CI capacity. We already have quite a lot of jobs running and it's not exactly clear what the project is currently able to support. Ideally, we'd have miri run every test suite that's run normally, but that would be quite a lot of overhead. |
Closes #691.
This code ends up using a cursed bash feature (associative arrays) to help people running the lints on their own machines. Since we don't actually need a host compiler to lint the code, we can just download the necessary targets with rustc, with an exception carved out for whichever SIMD implementation the host target supports, to avoid downloading unnecessary targets (e.g.
aarch64-unknown-linux-gnuwhen you're running on a Mac, for example).Side note: this could be done with POSIX sh by replacing the associative arrays with variable expansion (creating new variables instead), but I couldn't be bothered when pretty much everyone has a copy of bash available.