tcg: Introduce TCGCallReturnKind and TCGCallArgumentKind
Prepare to replace a bunch of separate ifdefs with a consistent way to describe the ABI of a function call. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
31c9641746
commit
18ff36ab71
|
@ -27,6 +27,21 @@
|
||||||
|
|
||||||
#define TCG_HIGHWATER 1024
|
#define TCG_HIGHWATER 1024
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Describe the calling convention of a given argument type.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
TCG_CALL_RET_NORMAL, /* by registers */
|
||||||
|
} TCGCallReturnKind;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
TCG_CALL_ARG_NORMAL, /* by registers (continuing onto stack) */
|
||||||
|
TCG_CALL_ARG_EVEN, /* like normal, but skipping odd slots */
|
||||||
|
TCG_CALL_ARG_EXTEND, /* for i32, as a sign/zero-extended i64 */
|
||||||
|
TCG_CALL_ARG_EXTEND_U, /* ... as a zero-extended i64 */
|
||||||
|
TCG_CALL_ARG_EXTEND_S, /* ... as a sign-extended i64 */
|
||||||
|
} TCGCallArgumentKind;
|
||||||
|
|
||||||
typedef struct TCGHelperInfo {
|
typedef struct TCGHelperInfo {
|
||||||
void *func;
|
void *func;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
Loading…
Reference in New Issue