On Tue, 14 Oct 2025 at 21:12, Richard Henderson
<[email protected]> wrote:
>
> Add the functions and update raw_accessors_invalid to match.
> Add assertions for !ARM_CP_128BIT in read_raw_cp_reg and
> write_raw_cp_reg.
>

> +__attribute__((unused))
> +static void write_raw_cp_reg128(CPUARMState *env, const ARMCPRegInfo *ri,
> +                                Int128 v)

Why does this one take an Int128 rather than a lo/hi pair?

> +{
> +    uint64_t lo = int128_getlo(v);
> +    uint64_t hi = int128_gethi(v);
> +
> +    assert(ri->type & ARM_CP_128BIT);
> +    if (ri->raw_write128fn) {
> +        ri->raw_write128fn(env, ri, lo, hi);
> +    } else if (ri->write128fn) {
> +        ri->write128fn(env, ri, lo, hi);
> +    } else {
> +        raw_write128(env, ri, lo, hi);
> +    }
> +}

thanks
-- PMM

Reply via email to