Skip to content

Commit 27c2aed

Browse files
authored
Update the intrinsic checker tool (#1258)
1 parent 7f61e19 commit 27c2aed

File tree

20 files changed

+1204
-794
lines changed

20 files changed

+1204
-794
lines changed

.github/workflows/main.yml

-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ jobs:
116116
os: ubuntu-latest
117117
- target: armv7-unknown-linux-gnueabihf
118118
os: ubuntu-latest
119-
rustflags: -C target-feature=+neon
120119
- target: mips-unknown-linux-gnu
121120
os: ubuntu-latest
122121
norun: true

ci/docker/aarch64-unknown-linux-gnu/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:20.04
1+
FROM ubuntu:21.10
22
RUN apt-get update && apt-get install -y --no-install-recommends \
33
gcc \
44
g++ \
@@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1010
qemu-user \
1111
make \
1212
file \
13-
clang-12 \
13+
clang-13 \
1414
lld
1515

1616
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
FROM ubuntu:18.04
1+
FROM ubuntu:21.10
22
RUN apt-get update && apt-get install -y --no-install-recommends \
33
gcc \
4+
g++ \
45
ca-certificates \
56
libc6-dev \
67
gcc-arm-linux-gnueabihf \
8+
g++-arm-linux-gnueabihf \
79
libc6-dev-armhf-cross \
810
qemu-user \
911
make \
10-
file
12+
file \
13+
clang-13 \
14+
lld
1115
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
1216
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
1317
OBJDUMP=arm-linux-gnueabihf-objdump

ci/run-docker.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ run() {
2525
--env NORUN \
2626
--env RUSTFLAGS \
2727
--env STDARCH_TEST_NORUN \
28-
--volume "$(dirname "$(dirname "$(command -v cargo)")")":/cargo \
28+
--volume "${HOME}/.cargo":/cargo \
2929
--volume "$(rustc --print sysroot)":/rust:ro \
3030
--volume "$(pwd)":/checkout:ro \
3131
--volume "$(pwd)"/target:/checkout/target \

ci/run.sh

+11-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ case ${TARGET} in
3737
mips-* | mipsel-*)
3838
export RUSTFLAGS="${RUSTFLAGS} -C llvm-args=-fast-isel=false"
3939
;;
40+
# Some of our test dependencies use the deprecated `gcc` crates which is
41+
# missing a fix from https://github.com/alexcrichton/cc-rs/pull/627. Apply
42+
# the workaround manually here.
43+
armv7-*eabihf | thumbv7-*eabihf)
44+
export RUSTFLAGS="${RUSTFLAGS} -Ctarget-feature=+neon"
45+
export TARGET_CFLAGS="-mfpu=vfpv3-d16"
46+
;;
4047
esac
4148

4249
echo "RUSTFLAGS=${RUSTFLAGS}"
@@ -122,7 +129,10 @@ esac
122129

123130
if [ "${TARGET}" = "aarch64-unknown-linux-gnu" ]; then
124131
export CPPFLAGS="-fuse-ld=lld -I/usr/aarch64-linux-gnu/include/ -I/usr/aarch64-linux-gnu/include/c++/9/aarch64-linux-gnu/"
125-
cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/acle/tools/intrinsic_db/advsimd.csv --runner "${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}" --cppcompiler "clang++-12" --skip crates/intrinsic-test/missing.txt
132+
RUST_LOG=warn cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/acle/tools/intrinsic_db/advsimd.csv --runner "${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}" --cppcompiler "clang++-13" --skip crates/intrinsic-test/missing_aarch64.txt
133+
elif [ "${TARGET}" = "armv7-unknown-linux-gnueabihf" ]; then
134+
export CPPFLAGS="-fuse-ld=lld -I/usr/arm-linux-gnueabihf/include/ -I/usr/arm-linux-gnueabihf/include/c++/9/arm-linux-gnueabihf/"
135+
RUST_LOG=warn cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/acle/tools/intrinsic_db/advsimd.csv --runner "${CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER}" --cppcompiler "clang++-13" --skip crates/intrinsic-test/missing_arm.txt --a32
126136
fi
127137

128138
if [ "$NORUN" != "1" ] && [ "$NOSTD" != 1 ]; then

0 commit comments

Comments
 (0)