/* Declarations for stacks of tokenized Xtensa instructions.
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003-2017 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
#include "xtensa-isa.h"
#define MAX_ISTACK 12
-#define MAX_INSN_ARGS 10
+#define MAX_INSN_ARGS 64
enum itype_enum
{
bfd_boolean keep_wide;
int ntok;
expressionS tok[MAX_INSN_ARGS];
- unsigned linenum;
+ bfd_boolean loc_directive_seen;
+ struct dwarf2_line_info debug_line;
- struct fixP *fixup;
+ /* This field is used for two types of special pseudo ops:
+ 1. TLS-related operations. Eg: callx8.tls
+ 2. j.l label, a2
+
+ For the tls-related operations, it will hold a tls-related opcode
+ and info to be used in a fixup. For j.l it will hold a
+ register to be used during relaxation. */
+ expressionS extra_arg;
/* Filled out by relaxation_requirements: */
enum xtensa_relax_statesE subtype;
int literal_space;
+
/* Filled out by vinsn_to_insnbuf: */
symbolS *symbol;
offsetT offset;
/* TInsn utilities. */
void tinsn_init (TInsn *);
-expressionS *tinsn_get_tok (TInsn *, int);
/* vliw_insn: bundles of TInsns. */