fuzzgen: Enable s390x and disable unimplemented ops (#5596)
Also fix assertion failure when using "i128 uext" or "i128 sext" arguments or return values, as discovered by the fuzzer.
This commit is contained in:
@@ -275,7 +275,6 @@ impl ABIMachineSpec for S390xMachineDeps {
|
||||
} else if call_conv.extends_wasmtime() {
|
||||
panic!("i128 args/return values not supported in the Wasmtime ABI");
|
||||
} else {
|
||||
assert!(param.extension == ir::ArgumentExtension::None);
|
||||
// We must pass this by implicit reference.
|
||||
if args_or_rets == ArgsOrRets::Rets {
|
||||
// For return values, just force them to memory.
|
||||
|
||||
@@ -2975,9 +2975,9 @@
|
||||
|
||||
;; Helper to compute the type of an implicitly extended argument/return value.
|
||||
(decl abi_ext_ty (ArgumentExtension Type) Type)
|
||||
(rule (abi_ext_ty (ArgumentExtension.None) ty) ty)
|
||||
(rule (abi_ext_ty (ArgumentExtension.Uext) _) $I64)
|
||||
(rule (abi_ext_ty (ArgumentExtension.Sext) _) $I64)
|
||||
(rule 0 (abi_ext_ty _ ty) ty)
|
||||
(rule 1 (abi_ext_ty (ArgumentExtension.Uext) (gpr32_ty _)) $I64)
|
||||
(rule 1 (abi_ext_ty (ArgumentExtension.Sext) (gpr32_ty _)) $I64)
|
||||
|
||||
|
||||
;; Helpers for generating immediate values ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
Reference in New Issue
Block a user