xref: /qemu/tcg/s390x/tcg-target-con-str.h (revision 19b9fc2a39c733f585388918e4e093f08e2c33eb)
1c947deb1SRichard Henderson /* SPDX-License-Identifier: MIT */
2c947deb1SRichard Henderson /*
3c947deb1SRichard Henderson  * Define S390 target-specific operand constraints.
4c947deb1SRichard Henderson  * Copyright (c) 2021 Linaro
5c947deb1SRichard Henderson  */
6c947deb1SRichard Henderson 
7c947deb1SRichard Henderson /*
8c947deb1SRichard Henderson  * Define constraint letters for register sets:
9c947deb1SRichard Henderson  * REGS(letter, register_mask)
10c947deb1SRichard Henderson  */
11c947deb1SRichard Henderson REGS('r', ALL_GENERAL_REGS)
1234ef7676SRichard Henderson REGS('v', ALL_VECTOR_REGS)
134143f78dSRichard Henderson REGS('o', 0xaaaa) /* odd numbered general regs */
14c947deb1SRichard Henderson 
15c947deb1SRichard Henderson /*
16c947deb1SRichard Henderson  * Define constraint letters for constants:
17c947deb1SRichard Henderson  * CONST(letter, TCG_CT_CONST_* bit set)
18c947deb1SRichard Henderson  */
19d95b51d3SRichard Henderson CONST('C', TCG_CT_CONST_CMP)
20c947deb1SRichard Henderson CONST('I', TCG_CT_CONST_S16)
21c947deb1SRichard Henderson CONST('J', TCG_CT_CONST_S32)
22b2509accSRichard Henderson CONST('K', TCG_CT_CONST_P32)
2350695fb8SRichard Henderson CONST('M', TCG_CT_CONST_M1)
244134083fSRichard Henderson CONST('N', TCG_CT_CONST_INV)
254134083fSRichard Henderson CONST('R', TCG_CT_CONST_INVRISBG)
26cbaddf30SRichard Henderson CONST('U', TCG_CT_CONST_U32)
27*19b9fc2aSRichard Henderson CONST('V', TCG_CT_CONST_N32)
28c947deb1SRichard Henderson CONST('Z', TCG_CT_CONST_ZERO)
29