Home | History | Annotate | Download | only in config
      1 /* rx-defs.h Renesas RX internal definitions
      2    Copyright (C) 2008-2016 Free Software Foundation, Inc.
      3 
      4    This file is part of GAS, the GNU Assembler.
      5 
      6    GAS is free software; you can redistribute it and/or modify
      7    it under the terms of the GNU General Public License as published by
      8    the Free Software Foundation; either version 3, or (at your option)
      9    any later version.
     10 
     11    GAS is distributed in the hope that it will be useful,
     12    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14    GNU General Public License for more details.
     15 
     16    You should have received a copy of the GNU General Public License
     17    along with GAS; see the file COPYING.  If not, write to the Free
     18    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
     19    02110-1301, USA.  */
     20 
     21 #ifndef RX_DEFS_H
     22 #define RX_DEFS_H
     23 
     24 /* Third operand to rx_op.  */
     25 #define RXREL_SIGNED		0
     26 #define RXREL_UNSIGNED		1
     27 #define RXREL_NEGATIVE		2
     28 #define RXREL_PCREL		3
     29 #define RXREL_NEGATIVE_BORROW	4
     30 
     31 #define RX_RELAX_NONE	0
     32 #define RX_RELAX_BRANCH	1
     33 #define RX_RELAX_IMM	2
     34 #define RX_RELAX_DISP	3
     35 
     36 enum rx_cpu_types
     37 {
     38   RX600,
     39   RX610,
     40   RX200,
     41   RX100,
     42   RXV2
     43 };
     44 
     45 extern int rx_pid_register;
     46 extern int rx_gp_register;
     47 extern enum rx_cpu_types rx_cpu;
     48 
     49 extern int    rx_error (const char *);
     50 extern void   rx_lex_init (char *, char *);
     51 extern void   rx_base1 (int);
     52 extern void   rx_base2 (int, int);
     53 extern void   rx_base3 (int, int, int);
     54 extern void   rx_base4 (int, int, int, int);
     55 extern void   rx_field (int, int, int);
     56 extern void   rx_op (expressionS, int, int);
     57 extern void   rx_disp3 (expressionS, int);
     58 extern void   rx_field5s (expressionS);
     59 extern void   rx_field5s2 (expressionS);
     60 extern void   rx_relax (int, int);
     61 extern void   rx_linkrelax_dsp (int);
     62 extern void   rx_linkrelax_imm (int);
     63 extern void   rx_linkrelax_branch (void);
     64 extern int    rx_parse (void);
     65 extern int    rx_wrap (void);
     66 extern void   rx_note_string_insn_use (void);
     67 
     68 extern char * rx_lex_start;
     69 extern char * rx_lex_end;
     70 
     71 #endif /* RX_DEFS_H */
     72