On 06/26/2018 05:24 AM, Peter Maydell wrote: >> + * TODO: The implementation so far could handle predicated merging movprfx. >> + * The helper functions as written take an extra source register to >> + * use in the operation, but the result is only written when predication >> + * succeeds. For unpredicated movprfx, we need to rearrange the helpers >> + * to allow the final write back to the destination to be unconditional. >> + * For predicated zering movprfz, we need to rearrange the helpers to > > "zeroing". Should that be "movprfx" or is "movprfz" a thing? (the SVE > spec doesn't mention it.)
Yes, typo for movprfx. > >> + * allow the final write back to zero inactives. >> + * >> + * In the meantime, just emit the moves. >> + */ >> + >> +static bool trans_MOVPRFX(DisasContext *s, arg_MOVPRFX *a, uint32_t insn) >> +{ >> + return do_mov_z(s, a->rd, a->rn); >> +} > > A bit confusing that do_mov_z() does the sve_access_check() for us > but do_sel_z() and do_movz_zpz() do not... Yes. I regret do_mov_z does the check, but that patch is already in mainline, and fixing it up isn't a necessity or a priority. r~