S/390: Remove optional operand flag.

The per operand optional flag hasn't been used for quite some time.
Cleanup some remains.

include/ChangeLog:

2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* opcode/s390.h: Remove S390_OPERAND_OPTIONAL.

gas/ChangeLog:

2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/tc-s390.c (md_gather_operands): Remove code dealing with
	S390_OPERAND_OPTIONAL.
This commit is contained in:
Andreas Krebbel 2017-05-29 12:33:15 +02:00
parent 6813cafe52
commit bfcfbe611b
2 changed files with 6 additions and 29 deletions

View File

@ -1304,19 +1304,6 @@ md_gather_operands (char *str,
as_bad (_("illegal operand"));
else if (ex.X_op == O_absent)
{
/* No operands, check if all operands can be skipped. */
while (*opindex_ptr != 0 && operand->flags & S390_OPERAND_OPTIONAL)
{
if (operand->flags & S390_OPERAND_DISP)
{
/* An optional displacement makes the whole D(X,B)
D(L,B) or D(B) block optional. */
do {
operand = s390_operands + *(++opindex_ptr);
} while (!(operand->flags & S390_OPERAND_BASE));
}
operand = s390_operands + *(++opindex_ptr);
}
if (opindex_ptr[0] == '\0')
break;
as_bad (_("missing operand"));
@ -1486,8 +1473,6 @@ md_gather_operands (char *str,
while (opindex_ptr[1] != '\0')
{
operand = s390_operands + *(++opindex_ptr);
if (operand->flags & S390_OPERAND_OPTIONAL)
continue;
as_bad (_("syntax error; expected ','"));
break;
}
@ -1530,8 +1515,6 @@ md_gather_operands (char *str,
while (opindex_ptr[1] != '\0')
{
operand = s390_operands + *(++opindex_ptr);
if (operand->flags & S390_OPERAND_OPTIONAL)
continue;
as_bad (_("syntax error; expected ','"));
break;
}
@ -1564,8 +1547,6 @@ md_gather_operands (char *str,
while (opindex_ptr[1] != '\0')
{
operand = s390_operands + *(++opindex_ptr);
if (operand->flags & S390_OPERAND_OPTIONAL)
continue;
as_bad (_("syntax error; expected ','"));
break;
}

View File

@ -156,21 +156,17 @@ extern const struct s390_operand s390_operands[];
/* This operand is a length. */
#define S390_OPERAND_LENGTH 0x200
/* This operand is optional. Only a single operand at the end of
the instruction may be optional. */
#define S390_OPERAND_OPTIONAL 0x400
/* The operand needs to be a valid GP or FP register pair. */
#define S390_OPERAND_REG_PAIR 0x800
#define S390_OPERAND_REG_PAIR 0x400
/* This operand names a vector register. The disassembler uses this
to print register names with a leading 'v'. */
#define S390_OPERAND_VR 0x1000
#define S390_OPERAND_VR 0x800
#define S390_OPERAND_CP16 0x2000
#define S390_OPERAND_CP16 0x1000
#define S390_OPERAND_OR1 0x4000
#define S390_OPERAND_OR2 0x8000
#define S390_OPERAND_OR8 0x10000
#define S390_OPERAND_OR1 0x2000
#define S390_OPERAND_OR2 0x4000
#define S390_OPERAND_OR8 0x8000
#endif /* S390_H */