2020-10-15 20:53:54 +02:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
/*
|
|
|
|
* Define Arm target-specific operand constraints.
|
|
|
|
* Copyright (c) 2021 Linaro
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Define constraint letters for register sets:
|
|
|
|
* REGS(letter, register_mask)
|
|
|
|
*/
|
2022-10-14 02:24:52 +02:00
|
|
|
REGS('e', ALL_GENERAL_REGS & 0x5555) /* even regs */
|
2020-10-15 20:53:54 +02:00
|
|
|
REGS('r', ALL_GENERAL_REGS)
|
2023-04-24 13:31:46 +02:00
|
|
|
REGS('q', ALL_QLDST_REGS)
|
|
|
|
REGS('Q', ALL_QLDST_REGS & 0x5555) /* even qldst */
|
2021-05-04 01:47:52 +02:00
|
|
|
REGS('w', ALL_VECTOR_REGS)
|
2020-10-15 20:53:54 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Define constraint letters for constants:
|
|
|
|
* CONST(letter, TCG_CT_CONST_* bit set)
|
|
|
|
*/
|
|
|
|
CONST('I', TCG_CT_CONST_ARM)
|
|
|
|
CONST('K', TCG_CT_CONST_INV)
|
|
|
|
CONST('N', TCG_CT_CONST_NEG)
|
2020-09-06 00:54:33 +02:00
|
|
|
CONST('O', TCG_CT_CONST_ORRI)
|
|
|
|
CONST('V', TCG_CT_CONST_ANDI)
|
2020-10-15 20:53:54 +02:00
|
|
|
CONST('Z', TCG_CT_CONST_ZERO)
|