Skip to content

Commit e817965

Browse files
committed
intrinsic-test: no SVE testing under GCC
GCC quickly ICEs when asked to compile intrinsic-test's wrapper sources.
1 parent 276f896 commit e817965

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

  • crates/intrinsic-test/src/arm

crates/intrinsic-test/src/arm/mod.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,7 @@ impl SupportedArchitecture for Arm {
4747
f32mm+f64mm+sve2p1",
4848
],
4949
CcArgStyle::Clang => vec!["-march=armv8.6a+crypto+crc+dotprod+fp16"],
50-
CcArgStyle::Gcc if !a32 && !big_endian => vec![
51-
"-march=armv8.6-a+crypto+crc+dotprod+fp16+sha3+sm4+sve2-aes+sve2-sm4+sve2-sha3+\
52-
sve2-bitperm+f32mm+f64mm+sve2p1",
53-
],
50+
// SVE tests aren't run under GCC so there are no target features added for SVE
5451
CcArgStyle::Gcc => vec!["-march=armv8.6-a+crypto+crc+dotprod+fp16+sha3+sm4"],
5552
}
5653
}
@@ -132,6 +129,11 @@ impl SupportedArchitecture for Arm {
132129
.filter(|i| !(a32 && i.arch_tags == vec!["A64".to_string()]))
133130
// Skip SVE intrinsics on big endian
134131
.filter(|i| !(big_endian && (i.extension == "SVE" || i.extension == "SVE2")))
132+
// Skip SVE intrinsics when testing against GCC as our wrappers run into ICEs
133+
.filter(|i| {
134+
!(matches!(cli_options.cc_arg_style, CcArgStyle::Gcc)
135+
&& (i.extension == "SVE" || i.extension == "SVE2"))
136+
})
135137
.take(sample_size)
136138
.collect::<Vec<_>>();
137139

0 commit comments

Comments
 (0)