Richard Henderson <[email protected]> writes: > On 06/23/2016 09:18 AM, Alex Bennée wrote: >>> > + /* System instructions. */ >>> > + DMB_ISH = 0xd50338bf, >> As ISH is part of the CRm encoding I wonder if this should be split into >> the main DMB encoding (0xd50330bf) and a separate set of CRm defines. >> >> In fact the documentation of the struct above implies you should >> probably have: >> >> I6260_DMB = 0xd50330bf, >> >> And then: >> >> static void tcg_out_insn_6260(TCGContext *s, AArch64Insn insn, int crm); >> { >> tcg_out32(s, insn | (crm & 0xf) << 8); >> } > > I don't see any benefit to doing this over or-ing in the pre-shifted > values.
I'm mainly thinking about keeping in line with the layout of the rest of the code. I would home the compiler would generate the same either way! -- Alex Bennée
