1*abc730e1SRichard Henderson /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*abc730e1SRichard Henderson /* 3*abc730e1SRichard Henderson * Define AArch64 target-specific operand constraints. 4*abc730e1SRichard Henderson * Copyright (c) 2021 Linaro 5*abc730e1SRichard Henderson */ 6*abc730e1SRichard Henderson 7*abc730e1SRichard Henderson /* 8*abc730e1SRichard Henderson * Define constraint letters for register sets: 9*abc730e1SRichard Henderson * REGS(letter, register_mask) 10*abc730e1SRichard Henderson */ 11*abc730e1SRichard Henderson REGS('r', ALL_GENERAL_REGS) 12*abc730e1SRichard Henderson REGS('w', ALL_VECTOR_REGS) 13*abc730e1SRichard Henderson 14*abc730e1SRichard Henderson /* 15*abc730e1SRichard Henderson * Define constraint letters for constants: 16*abc730e1SRichard Henderson * CONST(letter, TCG_CT_CONST_* bit set) 17*abc730e1SRichard Henderson */ 18*abc730e1SRichard Henderson CONST('A', TCG_CT_CONST_AIMM) 19*abc730e1SRichard Henderson CONST('L', TCG_CT_CONST_LIMM) 20*abc730e1SRichard Henderson CONST('M', TCG_CT_CONST_MONE) 21*abc730e1SRichard Henderson CONST('O', TCG_CT_CONST_ORRI) 22*abc730e1SRichard Henderson CONST('N', TCG_CT_CONST_ANDI) 23*abc730e1SRichard Henderson CONST('Z', TCG_CT_CONST_ZERO) 24