Hi Julien,

static inline void vreg_reg##sz##_update(uint##sz##_t *reg,
                                         register_t val,
                                         const mmio_info_t *info)
{
    uint##sz##_t tmp = *reg;
Drop this as we don't use tmp.
uint##sz##_t mask = VREG_REG_MASK(info->dabt.size);
unsigned int offset = info->gap & (offsetmask);
      int shift = offset * 8;

    *reg &= ~(mask << shift);
    *reg |= ((uint##sz##_t)val & mask) << shift;
}

I think this is correct. Except for an improvement (as above).

Also, we will always keep this defined for both Arm32 and Arm64

VREG_REG_HELPERS(32, 0x3);
VREG_REG_HELPERS(64, 0x7);

- Ayan


Reply via email to