Drop the target-specific trampolines for the standard slow path.
This lets us use tcg_out_helper_{ld,st}_args, and handles the new
atomicity bits within MemOp.
At the same time, use the full load/store helpers for user-only mode.
Drop inline unaligned access support for user-only mode, as it does
not handle atomicity.
Use TCG_REG_T[1-3] in the tlb lookup, instead of TCG_REG_O[0-2].
This allows the constraints to be simplified.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
21 lines
514 B
C
21 lines
514 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Define Sparc target-specific constraint sets.
|
|
* Copyright (c) 2021 Linaro
|
|
*/
|
|
|
|
/*
|
|
* C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
|
|
* Each operand should be a sequence of constraint letters as defined by
|
|
* tcg-target-con-str.h; the constraint combination is inclusive or.
|
|
*/
|
|
C_O0_I1(r)
|
|
C_O0_I2(rZ, r)
|
|
C_O0_I2(rZ, rJ)
|
|
C_O1_I1(r, r)
|
|
C_O1_I2(r, r, r)
|
|
C_O1_I2(r, rZ, rJ)
|
|
C_O1_I4(r, rZ, rJ, rI, 0)
|
|
C_O2_I2(r, r, rZ, rJ)
|
|
C_O2_I4(r, r, rZ, rZ, rJ, rJ)
|