[AArch64][PATCH 11/14] Add support for the 2H vector type.
[deliverable/binutils-gdb.git] / gas / config / tc-i860.h
index afb21c1b556b2e36298d1cb30a7e17fe72591050..fcab3938b87cb1f9367fe7cedd40c3d8cae1ba59 100644 (file)
@@ -1,11 +1,14 @@
-/* tc-i860.h -- Header file for the I860
-   Copyright (C) 1991, 92, 95, 1998 Free Software Foundation, Inc.
+/* tc-i860.h -- Header file for the i860.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
+
+   Brought back from the dead and completely reworked
+   by Jason Eckhardt <jle@cygnus.com>.
 
    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
 
    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,
    any later version.
 
    GAS is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License along
    with GAS; see the file COPYING.  If not, write to the Free Software
 
    You should have received a copy of the GNU General Public License along
    with GAS; see the file COPYING.  If not, write to the Free Software
-   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 
+#ifndef TC_I860
 #define TC_I860 1
 
 #define TC_I860 1
 
-#define TARGET_BYTES_BIG_ENDIAN 1
+enum i860_fix_info
+{
+  OP_NONE       = 0x00000,
+  OP_IMM_U5     = 0x00001,
+  OP_IMM_S16    = 0x00002,
+  OP_IMM_U16    = 0x00004,
+  OP_IMM_SPLIT16 = 0x00008,
+  OP_IMM_BR26   = 0x00010,
+  OP_IMM_BR16   = 0x00020,
+  OP_ENCODE1    = 0x00040,
+  OP_ENCODE2    = 0x00080,
+  OP_ENCODE3    = 0x00100,
+  OP_SEL_HA     = 0x00200,
+  OP_SEL_H      = 0x00400,
+  OP_SEL_L      = 0x00800,
+  OP_SEL_GOT    = 0x01000,
+  OP_SEL_GOTOFF         = 0x02000,
+  OP_SEL_PLT    = 0x04000,
+  OP_ALIGN2     = 0x08000,
+  OP_ALIGN4     = 0x10000,
+  OP_ALIGN8     = 0x20000,
+  OP_ALIGN16    = 0x40000
+};
+
+/* Set the endianness we are using.  Default to little endian.  */
+#ifndef TARGET_BYTES_BIG_ENDIAN
+#define TARGET_BYTES_BIG_ENDIAN 0
+#endif
+
+/* Whether or not the target is big endian.  */
+extern int target_big_endian;
+
+/* BFD target architecture.  */
+#define TARGET_ARCH     bfd_arch_i860
+
+/* The target BFD format.  */
+#ifdef OBJ_ELF
+#define TARGET_FORMAT (target_big_endian ? "elf32-i860" : "elf32-i860-little")
+#else
+#error i860 GAS currently supports only the ELF object format
+#endif
 
 #define WORKING_DOT_WORD
 
 #define WORKING_DOT_WORD
+#define DIFF_EXPR_OK
+
+/* Permit temporary numeric labels.  */
+#define LOCAL_LABELS_FB                1
+#define LISTING_HEADER         "GAS for i860"
+
+#define md_convert_frag(b,s,f)  abort ()
+
+/* Values passed to md_apply_fix don't include the symbol value.  */
+#define MD_APPLY_SYM_VALUE(FIX) 0
+
+/* No shared lib support, so we don't need to ensure externally
+   visible symbols can be overridden.  */
+#define EXTERN_FORCE_RELOC 0
 
 
-#define tc_headers_hook(a)             {;}     /* not used */
-#define tc_crawl_symbol_chain(a)       {;}     /* not used */
-#define tc_aout_pre_write_hook(x)      {;}     /* not used */
+/* Bits for post-processing of a user defined label to check if
+   it has a double colon (Intel syntax only).  */
+extern void i860_check_label (symbolS *labelsym);
+#define tc_check_label(ls)     i860_check_label (ls)
 
 
-#define md_operand(x)
+/* Bits for filling in rs_align_code fragments with NOPs.  */
+extern void i860_handle_align (struct frag *);
+#define HANDLE_ALIGN(fragp) i860_handle_align (fragp)
 
 
-/*
- * Local Variables:
- * comment-column: 0
- * fill-column: 131
- * End:
- */
+#define MAX_MEM_FOR_RS_ALIGN_CODE  (3 + 4 + 4)
 
 
-/* end of tc-i860.h */
+#endif /* TC_I860 */
This page took 0.023915 seconds and 4 git commands to generate.