On 17 February 2018 at 18:22, Richard Henderson
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> +/* 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.
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>