282ef7e8ef
Better constraint for tcg_out_cmp, based on the comparison. We can't yet remove the fallback to load constants into a scratch because of tcg_out_cmp2, but that path should not be as frequent. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
26 lines
629 B
C
26 lines
629 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Define PowerPC target-specific operand constraints.
|
|
* Copyright (c) 2021 Linaro
|
|
*/
|
|
|
|
/*
|
|
* Define constraint letters for register sets:
|
|
* REGS(letter, register_mask)
|
|
*/
|
|
REGS('r', ALL_GENERAL_REGS)
|
|
REGS('o', ALL_GENERAL_REGS & 0xAAAAAAAAu) /* odd registers */
|
|
REGS('v', ALL_VECTOR_REGS)
|
|
|
|
/*
|
|
* Define constraint letters for constants:
|
|
* CONST(letter, TCG_CT_CONST_* bit set)
|
|
*/
|
|
CONST('C', TCG_CT_CONST_CMP)
|
|
CONST('I', TCG_CT_CONST_S16)
|
|
CONST('M', TCG_CT_CONST_MONE)
|
|
CONST('T', TCG_CT_CONST_S32)
|
|
CONST('U', TCG_CT_CONST_U32)
|
|
CONST('W', TCG_CT_CONST_WSZ)
|
|
CONST('Z', TCG_CT_CONST_ZERO)
|