aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/i386.c')
-rw-r--r--gcc/config/i386/i386.c94
1 files changed, 46 insertions, 48 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 3503743..551395f 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -6270,10 +6270,8 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
arguments as in struct attribute_spec.handler. */
static tree
-ix86_handle_cconv_attribute (tree *node, tree name,
- tree args,
- int,
- bool *no_add_attrs)
+ix86_handle_cconv_attribute (tree *node, tree name, tree args, int,
+ bool *no_add_attrs)
{
if (TREE_CODE (*node) != FUNCTION_TYPE
&& TREE_CODE (*node) != METHOD_TYPE
@@ -40230,10 +40228,8 @@ x86_order_regs_for_local_alloc (void)
/* Handle a "callee_pop_aggregate_return" attribute; arguments as
in struct attribute_spec handler. */
static tree
-ix86_handle_callee_pop_aggregate_return (tree *node, tree name,
- tree args,
- int,
- bool *no_add_attrs)
+ix86_handle_callee_pop_aggregate_return (tree *node, tree name, tree args, int,
+ bool *no_add_attrs)
{
if (TREE_CODE (*node) != FUNCTION_TYPE
&& TREE_CODE (*node) != METHOD_TYPE
@@ -44711,72 +44707,74 @@ ix86_expand_round_sse4 (rtx op0, rtx op1)
/* Table of valid machine attributes. */
static const struct attribute_spec ix86_attribute_table[] =
{
- /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- affects_type_identity, exclusions } */
+ /* { name, min_len, max_len, decl_req, type_req, fn_type_req,
+ affects_type_identity, handler, exclude } */
/* Stdcall attribute says callee is responsible for popping arguments
if they are not variable. */
- { "stdcall", 0, 0, false, true, true, ix86_handle_cconv_attribute,
- true, NULL },
+ { "stdcall", 0, 0, false, true, true, true, ix86_handle_cconv_attribute,
+ NULL },
/* Fastcall attribute says callee is responsible for popping arguments
if they are not variable. */
- { "fastcall", 0, 0, false, true, true, ix86_handle_cconv_attribute,
- true, NULL },
+ { "fastcall", 0, 0, false, true, true, true, ix86_handle_cconv_attribute,
+ NULL },
/* Thiscall attribute says callee is responsible for popping arguments
if they are not variable. */
- { "thiscall", 0, 0, false, true, true, ix86_handle_cconv_attribute,
- true, NULL },
+ { "thiscall", 0, 0, false, true, true, true, ix86_handle_cconv_attribute,
+ NULL },
/* Cdecl attribute says the callee is a normal C declaration */
- { "cdecl", 0, 0, false, true, true, ix86_handle_cconv_attribute,
- true, NULL },
+ { "cdecl", 0, 0, false, true, true, true, ix86_handle_cconv_attribute,
+ NULL },
/* Regparm attribute specifies how many integer arguments are to be
passed in registers. */
- { "regparm", 1, 1, false, true, true, ix86_handle_cconv_attribute,
- true, NULL },
+ { "regparm", 1, 1, false, true, true, true, ix86_handle_cconv_attribute,
+ NULL },
/* Sseregparm attribute says we are using x86_64 calling conventions
for FP arguments. */
- { "sseregparm", 0, 0, false, true, true, ix86_handle_cconv_attribute,
- true, NULL },
+ { "sseregparm", 0, 0, false, true, true, true, ix86_handle_cconv_attribute,
+ NULL },
/* The transactional memory builtins are implicitly regparm or fastcall
depending on the ABI. Override the generic do-nothing attribute that
these builtins were declared with. */
- { "*tm regparm", 0, 0, false, true, true, ix86_handle_tm_regparm_attribute,
- true, NULL },
+ { "*tm regparm", 0, 0, false, true, true, true,
+ ix86_handle_tm_regparm_attribute, NULL },
/* force_align_arg_pointer says this function realigns the stack at entry. */
{ (const char *)&ix86_force_align_arg_pointer_string, 0, 0,
- false, true, true, ix86_handle_force_align_arg_pointer_attribute, false,
+ false, true, true, false, ix86_handle_force_align_arg_pointer_attribute,
NULL },
#if TARGET_DLLIMPORT_DECL_ATTRIBUTES
- { "dllimport", 0, 0, false, false, false, handle_dll_attribute, false, NULL },
- { "dllexport", 0, 0, false, false, false, handle_dll_attribute, false, NULL },
- { "shared", 0, 0, true, false, false, ix86_handle_shared_attribute,
- false, NULL },
+ { "dllimport", 0, 0, false, false, false, false, handle_dll_attribute,
+ NULL },
+ { "dllexport", 0, 0, false, false, false, false, handle_dll_attribute,
+ NULL },
+ { "shared", 0, 0, true, false, false, false,
+ ix86_handle_shared_attribute, false, NULL },
#endif
- { "ms_struct", 0, 0, false, false, false, ix86_handle_struct_attribute,
- false, NULL },
- { "gcc_struct", 0, 0, false, false, false, ix86_handle_struct_attribute,
- false, NULL },
+ { "ms_struct", 0, 0, false, false, false, false,
+ ix86_handle_struct_attribute, NULL },
+ { "gcc_struct", 0, 0, false, false, false, false,
+ ix86_handle_struct_attribute, NULL },
#ifdef SUBTARGET_ATTRIBUTE_TABLE
SUBTARGET_ATTRIBUTE_TABLE,
#endif
/* ms_abi and sysv_abi calling convention function attributes. */
- { "ms_abi", 0, 0, false, true, true, ix86_handle_abi_attribute, true, NULL },
- { "sysv_abi", 0, 0, false, true, true, ix86_handle_abi_attribute, true,
+ { "ms_abi", 0, 0, false, true, true, true, ix86_handle_abi_attribute, NULL },
+ { "sysv_abi", 0, 0, false, true, true, true, ix86_handle_abi_attribute,
NULL },
- { "ms_abi va_list", 0, 0, false, false, false, NULL, false, NULL },
- { "sysv_abi va_list", 0, 0, false, false, false, NULL, false, NULL },
- { "ms_hook_prologue", 0, 0, true, false, false, ix86_handle_fndecl_attribute,
- false, NULL },
- { "callee_pop_aggregate_return", 1, 1, false, true, true,
- ix86_handle_callee_pop_aggregate_return, true, NULL },
- { "interrupt", 0, 0, false, true, true,
- ix86_handle_interrupt_attribute, false, NULL },
- { "no_caller_saved_registers", 0, 0, false, true, true,
- ix86_handle_no_caller_saved_registers_attribute, false, NULL },
- { "naked", 0, 0, true, false, false,
- ix86_handle_fndecl_attribute, false, NULL },
+ { "ms_abi va_list", 0, 0, false, false, false, false, NULL, NULL },
+ { "sysv_abi va_list", 0, 0, false, false, false, false, NULL, NULL },
+ { "ms_hook_prologue", 0, 0, true, false, false, false,
+ ix86_handle_fndecl_attribute, NULL },
+ { "callee_pop_aggregate_return", 1, 1, false, true, true, true,
+ ix86_handle_callee_pop_aggregate_return, NULL },
+ { "interrupt", 0, 0, false, true, true, false,
+ ix86_handle_interrupt_attribute, NULL },
+ { "no_caller_saved_registers", 0, 0, false, true, true, false,
+ ix86_handle_no_caller_saved_registers_attribute, NULL },
+ { "naked", 0, 0, true, false, false, false,
+ ix86_handle_fndecl_attribute, NULL },
/* End element. */
- { NULL, 0, 0, false, false, false, NULL, false, NULL }
+ { NULL, 0, 0, false, false, false, false, NULL, NULL }
};
/* Implement targetm.vectorize.builtin_vectorization_cost. */