GCC Middle and Back End API Reference
target-def.h File Reference
#include "target-hooks-def.h"
#include "hooks.h"
#include "targhooks.h"
#include "insn-target-def.h"
Include dependency graph for target-def.h:

Go to the source code of this file.

Macros

#define TARGET_ASM_ALIGNED_HI_OP   "\t.short\t"
 
#define TARGET_ASM_ALIGNED_SI_OP   "\t.long\t"
 
#define TARGET_ASM_ALIGNED_DI_OP   NULL
 
#define TARGET_ASM_ALIGNED_TI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_HI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_SI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_DI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_TI_OP   NULL
 
#define TARGET_ASM_ALIGNED_PSI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_PSI_OP   NULL
 
#define TARGET_ASM_ALIGNED_PDI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_PDI_OP   NULL
 
#define TARGET_ASM_ALIGNED_PTI_OP   NULL
 
#define TARGET_ASM_UNALIGNED_PTI_OP   NULL
 
#define TARGET_ASM_CONSTRUCTOR   default_asm_out_constructor
 
#define TARGET_ASM_DESTRUCTOR   default_asm_out_destructor
 
#define TARGET_HAVE_CTORS_DTORS   true
 
#define TARGET_ASM_OUTPUT_ANCHOR   NULL
 
#define TARGET_ASM_ALIGNED_INT_OP
 
#define TARGET_ASM_UNALIGNED_INT_OP
 
#define TARGET_FUNCTION_INCOMING_ARG   TARGET_FUNCTION_ARG
 
#define TARGET_GNU_ATTRIBUTES(NAME, ...)
 

Macro Definition Documentation

◆ TARGET_ASM_ALIGNED_DI_OP

#define TARGET_ASM_ALIGNED_DI_OP   NULL

◆ TARGET_ASM_ALIGNED_HI_OP

#define TARGET_ASM_ALIGNED_HI_OP   "\t.short\t"
Default initializers for a generic GCC target.
Copyright (C) 2001-2024 Free Software Foundation, Inc.

This program 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 3, or (at your option) any
later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.

In other words, you are welcome to use, share and improve this program.
You are forbidden to forbid anyone else to use, share and improve
what you give them.   Help stamp out software-hoarding!   
See target.def for a description of what this file contains and how to
use it.

We want to have non-NULL default definitions of all hook functions,
even if they do nothing.   
Note that if one of these macros must be defined in an OS .h file
rather than the .c file, then we need to wrap the default
definition in a #ifndef, since files include tm.h before this one.   

◆ TARGET_ASM_ALIGNED_INT_OP

#define TARGET_ASM_ALIGNED_INT_OP
Value:
#define TARGET_ASM_ALIGNED_HI_OP
Definition target-def.h:32
#define TARGET_ASM_ALIGNED_PTI_OP
Definition target-def.h:56
#define TARGET_ASM_ALIGNED_SI_OP
Definition target-def.h:33
#define TARGET_ASM_ALIGNED_PSI_OP
Definition target-def.h:52
#define TARGET_ASM_ALIGNED_DI_OP
Definition target-def.h:34
#define TARGET_ASM_ALIGNED_PDI_OP
Definition target-def.h:54
#define TARGET_ASM_ALIGNED_TI_OP
Definition target-def.h:35

◆ TARGET_ASM_ALIGNED_PDI_OP

#define TARGET_ASM_ALIGNED_PDI_OP   NULL

◆ TARGET_ASM_ALIGNED_PSI_OP

#define TARGET_ASM_ALIGNED_PSI_OP   NULL
There is no standard way to handle P{S,D,T}Imode, targets must implement them
if required.   

◆ TARGET_ASM_ALIGNED_PTI_OP

#define TARGET_ASM_ALIGNED_PTI_OP   NULL

◆ TARGET_ASM_ALIGNED_SI_OP

#define TARGET_ASM_ALIGNED_SI_OP   "\t.long\t"

◆ TARGET_ASM_ALIGNED_TI_OP

#define TARGET_ASM_ALIGNED_TI_OP   NULL

◆ TARGET_ASM_CONSTRUCTOR

#define TARGET_ASM_CONSTRUCTOR   default_asm_out_constructor

◆ TARGET_ASM_DESTRUCTOR

#define TARGET_ASM_DESTRUCTOR   default_asm_out_destructor

◆ TARGET_ASM_OUTPUT_ANCHOR

#define TARGET_ASM_OUTPUT_ANCHOR   NULL

◆ TARGET_ASM_UNALIGNED_DI_OP

#define TARGET_ASM_UNALIGNED_DI_OP   NULL

◆ TARGET_ASM_UNALIGNED_HI_OP

#define TARGET_ASM_UNALIGNED_HI_OP   NULL
GAS and SYSV4 assemblers accept these.   

◆ TARGET_ASM_UNALIGNED_INT_OP

#define TARGET_ASM_UNALIGNED_INT_OP
Value:
#define TARGET_ASM_UNALIGNED_PSI_OP
Definition target-def.h:53
#define TARGET_ASM_UNALIGNED_PTI_OP
Definition target-def.h:57
#define TARGET_ASM_UNALIGNED_TI_OP
Definition target-def.h:47
#define TARGET_ASM_UNALIGNED_PDI_OP
Definition target-def.h:55
#define TARGET_ASM_UNALIGNED_HI_OP
Definition target-def.h:44
#define TARGET_ASM_UNALIGNED_SI_OP
Definition target-def.h:45
#define TARGET_ASM_UNALIGNED_DI_OP
Definition target-def.h:46

◆ TARGET_ASM_UNALIGNED_PDI_OP

#define TARGET_ASM_UNALIGNED_PDI_OP   NULL

◆ TARGET_ASM_UNALIGNED_PSI_OP

#define TARGET_ASM_UNALIGNED_PSI_OP   NULL

◆ TARGET_ASM_UNALIGNED_PTI_OP

#define TARGET_ASM_UNALIGNED_PTI_OP   NULL

◆ TARGET_ASM_UNALIGNED_SI_OP

#define TARGET_ASM_UNALIGNED_SI_OP   NULL

◆ TARGET_ASM_UNALIGNED_TI_OP

#define TARGET_ASM_UNALIGNED_TI_OP   NULL

◆ TARGET_FUNCTION_INCOMING_ARG

#define TARGET_FUNCTION_INCOMING_ARG   TARGET_FUNCTION_ARG

◆ TARGET_GNU_ATTRIBUTES

#define TARGET_GNU_ATTRIBUTES ( NAME,
... )
Value:
static const attribute_spec NAME##_2[] = __VA_ARGS__; \
static const scoped_attribute_specs NAME##_1 = { "gnu", { NAME##_2 } }; \
static const scoped_attribute_specs *const NAME[] = { &NAME##_1 }
Definition attribs.h:25
@ NAME
Definition tree-ssa-pre.cc:242
Declare a target attribute table called NAME that only has GNU attributes.
There should be no null trailing element.  E.g.:

  TARGET_GNU_ATTRIBUTES (aarch64_attribute_table,
  {
    { "aarch64_vector_pcs", ... },
    ...
  });   

◆ TARGET_HAVE_CTORS_DTORS

#define TARGET_HAVE_CTORS_DTORS   true