aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/config/tc-s390.c19
-rw-r--r--include/opcode/s390.h16
2 files changed, 6 insertions, 29 deletions
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 40c9f6f..a31cb3a 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -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;
}
diff --git a/include/opcode/s390.h b/include/opcode/s390.h
index 2e07664..a2d42e0 100644
--- a/include/opcode/s390.h
+++ b/include/opcode/s390.h
@@ -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 */