1*85d251d7SRichard Henderson /* SPDX-License-Identifier: MIT */ 2*85d251d7SRichard Henderson /* 3*85d251d7SRichard Henderson * Define PowerPC target-specific operand constraints. 4*85d251d7SRichard Henderson * Copyright (c) 2021 Linaro 5*85d251d7SRichard Henderson */ 6*85d251d7SRichard Henderson 7*85d251d7SRichard Henderson /* 8*85d251d7SRichard Henderson * Define constraint letters for register sets: 9*85d251d7SRichard Henderson * REGS(letter, register_mask) 10*85d251d7SRichard Henderson */ 11*85d251d7SRichard Henderson REGS('r', ALL_GENERAL_REGS) 12*85d251d7SRichard Henderson REGS('v', ALL_VECTOR_REGS) 13*85d251d7SRichard Henderson REGS('A', 1u << TCG_REG_R3) 14*85d251d7SRichard Henderson REGS('B', 1u << TCG_REG_R4) 15*85d251d7SRichard Henderson REGS('C', 1u << TCG_REG_R5) 16*85d251d7SRichard Henderson REGS('D', 1u << TCG_REG_R6) 17*85d251d7SRichard Henderson REGS('L', ALL_QLOAD_REGS) 18*85d251d7SRichard Henderson REGS('S', ALL_QSTORE_REGS) 19*85d251d7SRichard Henderson 20*85d251d7SRichard Henderson /* 21*85d251d7SRichard Henderson * Define constraint letters for constants: 22*85d251d7SRichard Henderson * CONST(letter, TCG_CT_CONST_* bit set) 23*85d251d7SRichard Henderson */ 24*85d251d7SRichard Henderson CONST('I', TCG_CT_CONST_S16) 25*85d251d7SRichard Henderson CONST('J', TCG_CT_CONST_U16) 26*85d251d7SRichard Henderson CONST('M', TCG_CT_CONST_MONE) 27*85d251d7SRichard Henderson CONST('T', TCG_CT_CONST_S32) 28*85d251d7SRichard Henderson CONST('U', TCG_CT_CONST_U32) 29*85d251d7SRichard Henderson CONST('W', TCG_CT_CONST_WSZ) 30*85d251d7SRichard Henderson CONST('Z', TCG_CT_CONST_ZERO) 31