On Mon, 16 Jun 2025 at 14:11, Alex Bennée <alex.ben...@linaro.org> wrote: > > Peter Maydell <peter.mayd...@linaro.org> writes: > > > > The UNDEF is in the "Decode for all variants of this encoding" > > pseudocode for RETAA, RETAB: > > > > if !IsFeatureImplemented(FEAT_PAuth) then EndOfDecode(Decode_UNDEF); > > Doh - totally missed that section which is right above Operation on the > web page :-/ > > > This is an accidental regression introduced in commit 0ebbe9021254f > > where we converted these insns to decodetree. The old hand > > written decoder has: > > > > - if (!dc_isar_feature(aa64_pauth, s)) { > > - goto do_unallocated; > > - } > > > > in the codepath for RETAA/RETAB/BRAAZ/BRABZ/BLRAAZ/BLRABZ, > > and although we put the check in the new trans_BRAZ, > > trans_BLRAZ we forgot it in trans_RETA. > > Are you going to fix this up or do you want a patch?
Solomon has volunteered to write a patch: see the other email. > It does still seem weird - I thought the point of PAUTH using the NOP > hint space was to allow for binaries to optionally add pointer > authentication? I guess if it has to pair with RETAA anyway that doesn't > work. PACIASP is in the hint space and will NOP on older implementations. RETAA is not and will UNDEF. -- PMM