@@ -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