(root)/
gcc-13.2.0/
gcc/
target-def.h
       1  /* Default initializers for a generic GCC target.
       2     Copyright (C) 2001-2023 Free Software Foundation, Inc.
       3  
       4     This program is free software; you can redistribute it and/or modify it
       5     under the terms of the GNU General Public License as published by the
       6     Free Software Foundation; either version 3, or (at your option) any
       7     later version.
       8  
       9     This program is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      12     GNU General Public License for more details.
      13  
      14     You should have received a copy of the GNU General Public License
      15     along with this program; see the file COPYING3.  If not see
      16     <http://www.gnu.org/licenses/>.
      17  
      18     In other words, you are welcome to use, share and improve this program.
      19     You are forbidden to forbid anyone else to use, share and improve
      20     what you give them.   Help stamp out software-hoarding!  */
      21  
      22  /* See target.def for a description of what this file contains and how to
      23     use it.
      24  
      25     We want to have non-NULL default definitions of all hook functions,
      26     even if they do nothing.  */
      27  
      28  /* Note that if one of these macros must be defined in an OS .h file
      29     rather than the .c file, then we need to wrap the default
      30     definition in a #ifndef, since files include tm.h before this one.  */
      31  
      32  #define TARGET_ASM_ALIGNED_HI_OP "\t.short\t"
      33  #define TARGET_ASM_ALIGNED_SI_OP "\t.long\t"
      34  #define TARGET_ASM_ALIGNED_DI_OP NULL
      35  #define TARGET_ASM_ALIGNED_TI_OP NULL
      36  
      37  /* GAS and SYSV4 assemblers accept these.  */
      38  #if defined (OBJECT_FORMAT_ELF)
      39  #define TARGET_ASM_UNALIGNED_HI_OP "\t.2byte\t"
      40  #define TARGET_ASM_UNALIGNED_SI_OP "\t.4byte\t"
      41  #define TARGET_ASM_UNALIGNED_DI_OP "\t.8byte\t"
      42  #define TARGET_ASM_UNALIGNED_TI_OP NULL
      43  #else
      44  #define TARGET_ASM_UNALIGNED_HI_OP NULL
      45  #define TARGET_ASM_UNALIGNED_SI_OP NULL
      46  #define TARGET_ASM_UNALIGNED_DI_OP NULL
      47  #define TARGET_ASM_UNALIGNED_TI_OP NULL
      48  #endif /* OBJECT_FORMAT_ELF */
      49  
      50  /* There is no standard way to handle P{S,D,T}Imode, targets must implement them
      51     if required.  */
      52  #define TARGET_ASM_ALIGNED_PSI_OP NULL
      53  #define TARGET_ASM_UNALIGNED_PSI_OP NULL
      54  #define TARGET_ASM_ALIGNED_PDI_OP NULL
      55  #define TARGET_ASM_UNALIGNED_PDI_OP NULL
      56  #define TARGET_ASM_ALIGNED_PTI_OP NULL
      57  #define TARGET_ASM_UNALIGNED_PTI_OP NULL
      58  
      59  #if !defined(TARGET_ASM_CONSTRUCTOR) && !defined(USE_COLLECT2)
      60  # ifdef CTORS_SECTION_ASM_OP
      61  #  define TARGET_ASM_CONSTRUCTOR default_ctor_section_asm_out_constructor
      62  # else
      63  #  ifdef TARGET_ASM_NAMED_SECTION
      64  #   define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor
      65  #  else
      66  #   define TARGET_ASM_CONSTRUCTOR default_asm_out_constructor
      67  #  endif
      68  # endif
      69  #endif
      70  
      71  #if !defined(TARGET_ASM_DESTRUCTOR) && !defined(USE_COLLECT2)
      72  # ifdef DTORS_SECTION_ASM_OP
      73  #  define TARGET_ASM_DESTRUCTOR default_dtor_section_asm_out_destructor
      74  # else
      75  #  ifdef TARGET_ASM_NAMED_SECTION
      76  #   define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor
      77  #  else
      78  #   define TARGET_ASM_DESTRUCTOR default_asm_out_destructor
      79  #  endif
      80  # endif
      81  #endif
      82  
      83  #if !defined(TARGET_HAVE_CTORS_DTORS)
      84  # if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
      85  # define TARGET_HAVE_CTORS_DTORS true
      86  # endif
      87  #endif
      88  
      89  #ifndef TARGET_TERMINATE_DW2_EH_FRAME_INFO
      90  #ifdef EH_FRAME_SECTION_NAME
      91  #define TARGET_TERMINATE_DW2_EH_FRAME_INFO false
      92  #endif
      93  #endif
      94  
      95  #if !defined(TARGET_ASM_OUTPUT_ANCHOR) && !defined(ASM_OUTPUT_DEF)
      96  #define TARGET_ASM_OUTPUT_ANCHOR NULL
      97  #endif
      98  
      99  #define TARGET_ASM_ALIGNED_INT_OP				\
     100  		       {TARGET_ASM_ALIGNED_HI_OP,		\
     101  			TARGET_ASM_ALIGNED_PSI_OP,		\
     102  			TARGET_ASM_ALIGNED_SI_OP,		\
     103  			TARGET_ASM_ALIGNED_PDI_OP,		\
     104  			TARGET_ASM_ALIGNED_DI_OP,		\
     105  			TARGET_ASM_ALIGNED_PTI_OP,		\
     106  			TARGET_ASM_ALIGNED_TI_OP}
     107  
     108  #define TARGET_ASM_UNALIGNED_INT_OP				\
     109  		       {TARGET_ASM_UNALIGNED_HI_OP,		\
     110  			TARGET_ASM_UNALIGNED_PSI_OP,		\
     111  			TARGET_ASM_UNALIGNED_SI_OP,		\
     112  			TARGET_ASM_UNALIGNED_PDI_OP,		\
     113  			TARGET_ASM_UNALIGNED_DI_OP,		\
     114  			TARGET_ASM_UNALIGNED_PTI_OP,		\
     115  			TARGET_ASM_UNALIGNED_TI_OP}
     116  
     117  #if !defined (TARGET_FUNCTION_INCOMING_ARG)
     118  #define TARGET_FUNCTION_INCOMING_ARG TARGET_FUNCTION_ARG
     119  #endif
     120  
     121  #include "target-hooks-def.h"
     122  
     123  #include "hooks.h"
     124  #include "targhooks.h"
     125  #include "insn-target-def.h"