Skip to content

Commit 35b154e

Browse files
committed
Add test-everything annotations to more targets to ensure test coverage
+ Upgrade CPU for `qemu` + Disable `vsx` tests for `ppc` and `ppc64` + Disable `tme` tests for `aarch64` and `aarch64_be` + Disable `frecipe` tests for `loongarch64` + Map `usize` to pointer-width in `stdarch-verify/x86-intel.rs`
1 parent 9f7e42f commit 35b154e

File tree

14 files changed

+50
-23
lines changed

14 files changed

+50
-23
lines changed

.github/workflows/main.yml

+28
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,31 @@ jobs:
122122

123123
# Add additional variables to the matrix variations generated above using `include`:
124124
include:
125+
# `TEST_EVERYTHING` setups - there should be at least 1 for each architecture
126+
- target:
127+
tuple: aarch64-unknown-linux-gnu
128+
os: ubuntu-latest
129+
test_everything: true
130+
- target:
131+
tuple: armv7-unknown-linux-gnueabihf
132+
os: ubuntu-latest
133+
test_everything: true
134+
- target:
135+
tuple: loongarch64-unknown-linux-gnu
136+
os: ubuntu-latest
137+
test_everything: true
138+
- target:
139+
tuple: riscv64gc-unknown-linux-gnu
140+
os: ubuntu-latest
141+
test_everything: true
142+
- target:
143+
tuple: s390x-unknown-linux-gnu
144+
os: ubuntu-latest
145+
test_everything: true
146+
- target:
147+
tuple: riscv64gc-unknown-linux-gnu
148+
os: ubuntu-latest
149+
test_everything: true
125150
- target:
126151
tuple: x86_64-unknown-linux-gnu-emulated
127152
os: ubuntu-latest
@@ -147,14 +172,17 @@ jobs:
147172
- target:
148173
tuple: powerpc-unknown-linux-gnu
149174
os: ubuntu-latest
175+
test_everything: true
150176
disable_assert_instr: true
151177
- target:
152178
tuple: powerpc64-unknown-linux-gnu
153179
os: ubuntu-latest
180+
test_everything: true
154181
disable_assert_instr: true
155182
- target:
156183
tuple: powerpc64le-unknown-linux-gnu
157184
os: ubuntu-latest
185+
test_everything: true
158186
disable_assert_instr: true
159187
- target:
160188
tuple: aarch64-apple-darwin

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

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
lld
1515

1616
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
17-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \
18-
OBJDUMP=aarch64-linux-gnu-objdump
17+
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -cpu max -L /usr/aarch64-linux-gnu" \
18+
OBJDUMP=aarch64-linux-gnu-objdump \
19+
STDARCH_TEST_SKIP_FEATURE=tme

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ ENV AARCH64_BE_TOOLCHAIN="/toolchains/${TOOLCHAIN}"
2525
ENV AARCH64_BE_LIBC="${AARCH64_BE_TOOLCHAIN}/aarch64_be-none-linux-gnu/libc"
2626

2727
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_LINKER="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-gcc"
28-
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -L ${AARCH64_BE_LIBC}"
28+
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -cpu max -L ${AARCH64_BE_LIBC}"
2929
ENV OBJDUMP="${AARCH64_BE_TOOLCHAIN}/bin/bin/aarch64-none-linux-gnu-objdump"
30+
ENV STDARCH_TEST_SKIP_FEATURE=tme

ci/docker/arm-unknown-linux-gnueabihf/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
99
make \
1010
file
1111
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
12-
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
12+
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -cpu max -L /usr/arm-linux-gnueabihf" \
1313
OBJDUMP=arm-linux-gnueabihf-objdump

ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1313
clang-19 \
1414
lld
1515
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
16-
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
16+
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -cpu max -L /usr/arm-linux-gnueabihf" \
1717
OBJDUMP=arm-linux-gnueabihf-objdump

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

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ RUN apt-get update && \
77

88

99
ENV CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_LINKER=loongarch64-linux-gnu-gcc-14 \
10-
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-loongarch64-static -L /usr/loongarch64-linux-gnu" \
11-
OBJDUMP=loongarch64-linux-gnu-objdump
10+
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-loongarch64-static -cpu max -L /usr/loongarch64-linux-gnu" \
11+
OBJDUMP=loongarch64-linux-gnu-objdump \
12+
STDARCH_TEST_SKIP_FEATURE=frecipe

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

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
qemu-system-ppc make file
77

88
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \
9-
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -cpu Vger -L /usr/powerpc-linux-gnu" \
9+
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -cpu apollo7 -L /usr/powerpc-linux-gnu" \
1010
CC=powerpc-linux-gnu-gcc \
11-
OBJDUMP=powerpc-linux-gnu-objdump
11+
OBJDUMP=powerpc-linux-gnu-objdump \
12+
STDARCH_TEST_SKIP_FEATURE=vsx

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

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
file make
77

88
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \
9-
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -cpu power10 -L /usr/powerpc64-linux-gnu" \
9+
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -cpu power11 -L /usr/powerpc64-linux-gnu" \
1010
CC=powerpc64-linux-gnu-gcc \
11-
OBJDUMP=powerpc64-linux-gnu-objdump
11+
OBJDUMP=powerpc64-linux-gnu-objdump \
12+
STDARCH_TEST_SKIP_FEATURE=vsx

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77

88
# Work around qemu triggering a sigill on vec_subs if the cpu target is not defined.
99
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \
10-
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -cpu power10 -L /usr/powerpc64le-linux-gnu" \
10+
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -cpu power11 -L /usr/powerpc64le-linux-gnu" \
1111
CC=powerpc64le-linux-gnu-gcc \
1212
OBJDUMP=powerpc64le-linux-gnu-objdump

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

+1-4
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
llvm
77

88
ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \
9-
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 \
10-
-L /usr/riscv64-linux-gnu \
11-
-cpu rv64,zk=true,zks=true,zbb=true,zbc=true \
12-
" \
9+
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 -cpu max -L /usr/riscv64-linux-gnu" \
1310
OBJDUMP=llvm-objdump

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1010
file
1111

1212
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
13-
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -L /usr/s390x-linux-gnu" \
13+
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -cpu max -L /usr/s390x-linux-gnu" \
1414
OBJDUMP=s390x-linux-gnu-objdump

ci/run-docker.sh

-2
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ run() {
2424
--env CARGO_TARGET_DIR=/checkout/target \
2525
--env TARGET="${target}" \
2626
--env STDARCH_TEST_EVERYTHING \
27-
--env STDARCH_ASSERT_INSTR_IGNORE \
2827
--env STDARCH_DISABLE_ASSERT_INSTR \
2928
--env NOSTD \
3029
--env NORUN \
3130
--env RUSTFLAGS \
32-
--env STDARCH_TEST_NORUN \
3331
--volume "${HOME}/.cargo":/cargo \
3432
--volume "$(rustc --print sysroot)":/rust:ro \
3533
--volume "$(pwd)":/checkout:ro \

ci/run.sh

+1-3
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,7 @@ case ${TARGET} in
129129
export RUSTFLAGS="${RUSTFLAGS} -C target-feature=+vector-enhancements-1"
130130
cargo_test "${PROFILE}"
131131
;;
132-
powerpc64*)
133-
# We don't build the ppc 32-bit targets with these - these targets
134-
# are mostly unsupported for now.
132+
powerpc*)
135133
OLD_RUSTFLAGS="${RUSTFLAGS}"
136134
export RUSTFLAGS="${OLD_RUSTFLAGS} -C target-feature=+altivec"
137135
cargo_test "${PROFILE}"

crates/stdarch-verify/tests/x86-intel.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,8 @@ fn equate(
701701
&Type::PrimUnsigned(32),
702702
"unsigned __int32" | "unsigned int" | "unsigned long" | "const unsigned int",
703703
) => {}
704-
(&Type::PrimUnsigned(64), "unsigned __int64" | "size_t") => {}
704+
(&Type::PrimUnsigned(64), "unsigned __int64") => {}
705+
(&Type::PrimUnsigned(SS), "size_t") => {}
705706

706707
(&Type::M128, "__m128") => {}
707708
(&Type::M128BH, "__m128bh") => {}

0 commit comments

Comments
 (0)