On 5/5/23 14:20, Peter Maydell wrote:
> On Wed, 3 May 2023 at 08:13, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>> tcg/sparc64/tcg-target.c.inc | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/tcg/sparc64/tcg-target.c.inc b/tcg/sparc64/tcg-target.c.inc
>> index bb23038529..4f9ec02b1f 100644
>> --- a/tcg/sparc64/tcg-target.c.inc
>> +++ b/tcg/sparc64/tcg-target.c.inc
>> @@ -1028,11 +1028,13 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h,
>> {
>> TCGLabelQemuLdst *ldst = NULL;
>> MemOp opc = get_memop(oi);
>> - unsigned a_bits = get_alignment_bits(opc);
>> - unsigned s_bits = opc & MO_SIZE;
>> + MemOp s_bits = opc & MO_SIZE;
>> + MemOp a_bits, atom_a, atom_u;
>> unsigned a_mask;
>>
>> /* We don't support unaligned accesses. */
>> + a_bits = atom_and_align_for_opc(s, &atom_a, &atom_u, opc,
>> + MO_ATOM_IFALIGN, false);
>> a_bits = MAX(a_bits, s_bits);
>> a_mask = (1u << a_bits) - 1;
>>
>> --
>
> No changes to HostAddress struct again?
Again, no use of alignment outside of prepare_host_addr.
No 128-bit operations, and all host operations aligned.
r~