#[cfg(zisk_guest)]
use core::arch::asm;
#[cfg(zisk_guest)]
use crate::ziskos_syscall;
#[derive(Debug)]
#[repr(C)]
pub struct SyscallArith384ModParams<'a> {
pub a: &'a [u64; 6],
pub b: &'a [u64; 6],
pub c: &'a [u64; 6],
pub module: &'a [u64; 6],
pub d: &'a mut [u64; 6],
}
#[allow(unused_variables)]
#[cfg_attr(not(feature = "hints"), no_mangle)]
#[cfg_attr(feature = "hints", export_name = "hints_syscall_arith384_mod")]
pub extern "C" fn syscall_arith384_mod(
params: &mut SyscallArith384ModParams,
#[cfg(feature = "hints")] hints: &mut Vec<u64>,
) {
#[cfg(zisk_guest)]
ziskos_syscall!(zisk_definitions::SYSCALL_ARITH384_MOD_ID, params);
#[cfg(not(zisk_guest))]
{
zisk_precomp_helpers::arith384_mod(params.a, params.b, params.c, params.module, params.d);
#[cfg(feature = "hints")]
{
hints.extend_from_slice(params.d);
}
}
}