pass shorts as shorts, parameter alignment 2 bytes only

This commit is contained in:
Wolfgang Thaller 2012-04-13 20:42:45 +02:00
parent 3509493ef3
commit 49d3964993
2 changed files with 5 additions and 5 deletions

View File

@ -248,8 +248,8 @@ static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
#undef TARGET_ATTRIBUTE_TABLE
#define TARGET_ATTRIBUTE_TABLE m68k_attribute_table
#undef TARGET_PROMOTE_PROTOTYPES
#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true
//#undef TARGET_PROMOTE_PROTOTYPES
//#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true
#undef TARGET_STRUCT_VALUE_RTX
#define TARGET_STRUCT_VALUE_RTX m68k_struct_value_rtx
@ -1414,8 +1414,8 @@ m68k_function_arg_advance (cumulative_args_t cum_v, enum machine_mode mode,
CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v);
*cum += (mode != BLKmode
? (GET_MODE_SIZE (mode) + 3) & ~3
: (int_size_in_bytes (type) + 3) & ~3);
? (GET_MODE_SIZE (mode) + 1) & ~1
: (int_size_in_bytes (type) + 1) & ~1);
}
/* Convert X to a legitimate function call memory reference and return the

View File

@ -301,7 +301,7 @@ along with GCC; see the file COPYING3. If not see
#define UNITS_PER_WORD 4
#define PARM_BOUNDARY (TARGET_SHORT ? 16 : 32)
#define PARM_BOUNDARY 16 /* (TARGET_SHORT ? 16 : 32) */
#define STACK_BOUNDARY 16
#define FUNCTION_BOUNDARY 16
#define EMPTY_FIELD_BOUNDARY 16