File tree Expand file tree Collapse file tree 3 files changed +10
-3
lines changed
docker/aarch64-unknown-linux-gnu
crates/intrinsic-test/src Expand file tree Collapse file tree 3 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1010 qemu-user \
1111 make \
1212 file \
13- clang-9 \
13+ clang-12 \
1414 lld
1515
1616ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
Original file line number Diff line number Diff line change 115115
116116if [ " ${TARGET} " = " aarch64-unknown-linux-gnu" ]; then
117117 export CPPFLAGS=" -fuse-ld=lld -I/usr/aarch64-linux-gnu/include/ -I/usr/aarch64-linux-gnu/include/c++/9/aarch64-linux-gnu/"
118- cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/neon-intrinsics.csv --runner " ${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER} " --cppcompiler " clang++-9 "
118+ cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/neon-intrinsics.csv --runner " ${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER} " --cppcompiler " clang++-12 "
119119fi
120120
121121if [ " $NORUN " != " 1" ] && [ " $NOSTD " != 1 ]; then
Original file line number Diff line number Diff line change @@ -70,7 +70,7 @@ fn generate_rust_program(intrinsic: &Intrinsic) -> String {
7070#![feature(link_llvm_intrinsics)]
7171#![feature(stdsimd)]
7272#![allow(overflowing_literals)]
73- use core ::arch::aarch64::*;
73+ use core_arch ::arch::aarch64::*;
7474
7575fn main() {{
7676{passes}
@@ -159,6 +159,8 @@ version = "{version}"
159159authors = ["{authors}"]
160160edition = "2018"
161161[workspace]
162+ [dependencies]
163+ core_arch = {{ path = "../crates/core_arch" }}
162164{binaries}"# ,
163165 version = env!( "CARGO_PKG_VERSION" ) ,
164166 authors = env!( "CARGO_PKG_AUTHORS" ) ,
@@ -288,6 +290,11 @@ fn main() {
288290 . is_none ( )
289291 } )
290292 . filter ( |i| i. arguments . iter ( ) . find ( |a| a. name == "n" ) . is_none ( ) )
293+ // clang-12 fails to compile this intrinsic due to an error.
294+ // fatal error: error in backend: Cannot select: 0x2b99c30: i64 = AArch64ISD::VSHL Constant:i64<1>, Constant:i32<1>
295+ // 0x2b9a520: i64 = Constant<1>
296+ // 0x2b9a248: i32 = Constant<1>
297+ . filter ( |i| ![ "vshld_s64" , "vshld_u64" ] . contains ( & i. name . as_str ( ) ) )
291298 . collect :: < Vec < _ > > ( ) ;
292299 intrinsics. dedup ( ) ;
293300
You can’t perform that action at this time.
0 commit comments