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