On 17 February 2018 at 18:22, Richard Henderson
<[email protected]> wrote:
> Signed-off-by: Richard Henderson <[email protected]>
> +/* Two operand predicated copy immediate with merge. All valid immediates
> + * can fit within 17 signed bits in the simd_data field.
> + */
> +void HELPER(sve_cpy_m_b)(void *vd, void *vn, void *vg,
> + uint64_t mm, uint32_t desc)
> +{
> + intptr_t i, opr_sz = simd_oprsz(desc) / 8;
> + uint64_t *d = vd, *n = vn;
> + uint8_t *pg = vg;
> +
> + mm = (mm & 0xff) * (-1ull / 0xff);
What is this expression doing? I guess from context that it's
replicating the low 8 bits of mm across the 64-bit value,
but this is too obscure to do without a comment or wrapping
it in a helper function with a useful name, I think.
Otherwise
Reviewed-by: Peter Maydell <[email protected]>
thanks
-- PMM