ppc/svp64: introduce non-zero operand flag

svstep and svshape instructions subtract 1 before encoding some of the
operands. Obviously zero is not supported for these operands. Whilst
PPC_OPERAND_PLUS1 fits perfectly to mark that maximal value should be
incremented, there is no flag which marks the fact that zero values are
not allowed. This patch adds a new flag, PPC_OPERAND_NONZERO, for this
purpose.
This commit is contained in:
Dmitry Selyutin
2022-07-25 16:10:15 +03:00
committed by Alan Modra
parent 33ae8a3ae3
commit 59f08271dd
3 changed files with 26 additions and 3 deletions

View File

@ -463,6 +463,11 @@ extern const unsigned int num_powerpc_operands;
#define PPC_OPERAND_FCR (0x1000000)
#define PPC_OPERAND_UDI (0x2000000)
/* Valid range of operand is 1..n rather than 0..n-1.
Before encoding, the operand value is decremented.
After decoding, the operand value is incremented. */
#define PPC_OPERAND_NONZERO (0x4000000)
extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
static inline int64_t