@@ -66,6 +66,14 @@ case ${TARGET} in
6666 TEST_CXX_COMPILER=" clang++"
6767 TEST_RUNNER=" ${CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER} "
6868 ;;
69+
70+ x86_64-unknown-linux-gnu* )
71+ TEST_CPPFLAGS=" -fuse-ld=lld -I/usr/include/x86_64-linux-gnu/"
72+ TEST_CXX_COMPILER=" clang++"
73+ TEST_RUNNER=" ${CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER} "
74+ TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_x86.txt
75+ TEST_SAMPLE_INTRINSICS_PERCENTAGE=5
76+ ;;
6977 * )
7078 ;;
7179
@@ -94,6 +102,22 @@ case "${TARGET}" in
94102 --linker " ${CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_LINKER} " \
95103 --cxx-toolchain-dir " ${AARCH64_BE_TOOLCHAIN} "
96104 ;;
105+
106+ x86_64-unknown-linux-gnu* )
107+ # `CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER` is not necessary for `intrinsic-test`
108+ # because the binary needs to run directly on the host.
109+ # Hence the use of `env -u`.
110+ env -u CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER \
111+ CPPFLAGS=" ${TEST_CPPFLAGS} " RUSTFLAGS=" ${HOST_RUSTFLAGS} " \
112+ RUST_LOG=warn RUST_BACKTRACE=1 \
113+ cargo run " ${INTRINSIC_TEST} " " ${PROFILE} " \
114+ --bin intrinsic-test -- intrinsics_data/x86-intel.xml \
115+ --runner " ${TEST_RUNNER} " \
116+ --skip " ${TEST_SKIP_INTRINSICS} " \
117+ --cppcompiler " ${TEST_CXX_COMPILER} " \
118+ --target " ${TARGET} " \
119+ --sample-percentage " ${TEST_SAMPLE_INTRINSICS_PERCENTAGE} "
120+ ;;
97121 * )
98122 ;;
99123esac
0 commit comments