Skip to content

Commit 8c0645b

Browse files
committed
test: skip mulhilo subcase on clang<18 RVV (hangs under qemu)
clang 17's RVV backend miscompiles the new __riscv_vmulh/__riscv_vmulhu instantiations under -mrvv-vector-bits=zvl at vlen=128: the build succeeds but the test binary makes no forward progress under qemu-riscv64, hitting the 6h GHA job timeout. clang >= 18 and gcc are unaffected.
1 parent 244d74b commit 8c0645b

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

test/test_batch.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,10 +1198,16 @@ TEST_CASE_TEMPLATE("[batch]", B, BATCH_TYPES)
11981198
Test.test_incr_decr();
11991199
}
12001200

1201+
#if !(defined(__riscv_vector) && defined(__clang__) && __clang_major__ < 18)
1202+
// clang < 18 miscompiles __riscv_vmulh / __riscv_vmulhu under -mrvv-vector-bits=zvl
1203+
// at vlen=128, causing the resulting test binary to hang under qemu-riscv64
1204+
// (build succeeds, runtime never makes progress). Skip the subcase on that
1205+
// toolchain combination; gcc and clang >= 18 cover RVV here.
12011206
SUBCASE("mulhilo")
12021207
{
12031208
Test.test_mulhilo();
12041209
}
1210+
#endif
12051211

12061212
SUBCASE("saturated_arithmetic")
12071213
{

0 commit comments

Comments
 (0)