+2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (XTENSA_MARCH_EARLIEST): Define macro as 0
+ if it's not defined.
+ (microarch_earliest): New static variable.
+ (xg_translate_idioms): Translate "simcall" to "simcall 0" when
+ simcall opcode has mandatory parameter.
+ (xg_init_global_config): Initialize microarch_earliest.
+
2020-04-29 Nick Clifton <nickc@redhat.com>
PR 22699
#define XSHAL_ABI 0
#endif
+#ifndef XTENSA_MARCH_EARLIEST
+#define XTENSA_MARCH_EARLIEST 0
+#endif
+
#ifndef uint32
#define uint32 unsigned int
#endif
bfd_boolean density_supported;
bfd_boolean absolute_literals_supported;
+static unsigned microarch_earliest;
+
static vliw_insn cur_vinsn;
unsigned xtensa_num_pipe_stages;
return 0;
}
+ /* Without an operand, this is given a default immediate operand of 0. */
+ if ((strcmp (opname, "simcall") == 0 && microarch_earliest >= 280000))
+ {
+ if (*pnum_args == 0)
+ {
+ arg_strings[0] = (char *) xmalloc (2);
+ strcpy (arg_strings[0], "0");
+ *pnum_args = 1;
+ }
+ return 0;
+ }
+
if (strcmp (opname, "bbsi.l") == 0)
{
if (xg_check_num_args (pnum_args, 3, opname, arg_strings))
directive_state[directive_density] = XCHAL_HAVE_DENSITY;
directive_state[directive_absolute_literals] = XSHAL_USE_ABSOLUTE_LITERALS;
+
+ microarch_earliest = XTENSA_MARCH_EARLIEST;
}
void