From a7bb5084c7228ddc68c53f6dae5a3884f4519ab3 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 15 Oct 2024 20:54:56 -0700 Subject: [PATCH] Don't generate 128-bit atomics in fuzzing This commit fixes some issues cropping up due to fuzzing 128-bit atomics in `cranelift-{icache,fuzzgen}`. Not all backends support these operations and x64 only supports them with a feature enabled, so for now disable fuzzing until it's ready to fuzz later. --- cranelift/fuzzgen/src/function_generator.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cranelift/fuzzgen/src/function_generator.rs b/cranelift/fuzzgen/src/function_generator.rs index d8145acfb4cc..382a2ac19824 100644 --- a/cranelift/fuzzgen/src/function_generator.rs +++ b/cranelift/fuzzgen/src/function_generator.rs @@ -1051,6 +1051,12 @@ static OPCODE_SIGNATURES: Lazy> = Lazy::new(|| { (Opcode::FcvtFromSint, &[I8X16], &[F64X2]), (Opcode::FcvtFromSint, &[I16X8], &[F64X2]), (Opcode::FcvtFromSint, &[I32X4], &[F64X2]), + // Only supported on x64 with a feature at this time, so 128-bit + // atomics are not suitable to fuzz yet. + (Opcode::AtomicRmw, _, &[I128]), + (Opcode::AtomicCas, _, &[I128]), + (Opcode::AtomicLoad, _, &[I128]), + (Opcode::AtomicStore, &[I128, _], _), ) }) .filter(|(op, ..)| {