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