Skip to content

Commit b84d824

Browse files
nickcliftonNick Clifton
authored andcommitted
v850.c (F): New function.
* config/v850/v850.c (F): New function. Mark the given insn as being frame related. (v850_all_frame_related): New function. Mark the given push insn as being frame related. (v850_pass_by_reference): When using the RH850 ABI do not pass arguments by reference. (v850_strict_argument_naming): Delete function. (v850_function_arg): Use word alignment with the RH850 ABI. (v850_arg_partial_bytes): Likewise. (v850_function_arg_advance): Likewise. (v850_print_operand): Handle CONST_INT and CONST_DOUBLE. (compute_register_save_size): Use df_regs_ever_live_p. (increment_stack): Mark prologue adjustments as being frame related. (expand_prologue): Handle pretend args. Mark insns generated as being frame related. (expand_epilogue): Likewise. (v850_return_in_memory): When using the RH850 ABI return aggregates in memory. (v850_setup_incoming_varargs): Delete function. (v850_option_override): New function. (TARGET_DEBUG_UNWIND_INFO): Delete definition. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (TARGET_OPTION_OVERRIDE): Define. * config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi options on to assembler. (LINK_SPEC): Likewise. (TARGET_CPU_CPP_BUILTINS): Define __V850_8BYTE_ALIGN__ and __V850_GCC_ABI__. (STACK_BOUNDARY): Set to BIGGEST_ALIGNMENT. (FUNCTION_BOUNDARY): With the RH850 ABI always 32-bit alignment. (BIGGEST_ALIGNMENT): With -8byte-align set to 64-bits. (BIGGEST_FIELD_ALIGNMENT): Likewise. (enum reg_class): Swap EVEN_REGS and GENERAL_REGS. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (struct cum_arg): Delete anonymous_args field. (INIT_CUMULATIVE_ARGS): Update. (PREFERRED_DEBUG): Set to DWARF2_DEBUG. (DWARF2_FRAME_INFO): Define. (DWARF2_UNWIND_INFO): Define. (INCOMING_RETURN_ADDR_RTX): Define. (DWARF_FRAME_RETURN_COLUMN): Define. (TARGET_USE_FPU): Define. * config/v850/v850.md: Replace TARGET_V850E2V3 in floating point insns with TARGET_USE_FPU. (fixuns_truncsfsi2): New pattern. (fixuns_truncdfsi2): New pattern. (fix_truncsfdi2): New pattern. (fixuns_truncsfdi2): New pattern. (fix_truncdfdi2): New pattern. (fixuns_truncdfdi2): New pattern. (unsfloatsisf2): New pattern. (unsfloatsidf2): New pattern. (floatdisf2): New pattern. (unsfloatdisf2): New pattern. (floatdidf2): New pattern. (unsfloatdidf2): New pattern. (fnmasf4): Fix RTl description. (fnmssf4): Likewise. * config/v850/v850.opt (mrelax): New option. (mlong-jumps): Likewise. (msoft-float): Likewise. (mhard-float): Likewise. (mrh850-abi): Likewise. (mgcc-abi): Likewise. (m8byte-align): Likewise. * config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options. (MULTILIB_DIRNAMES): Likewise. From-SVN: r193661
1 parent aef5ffa commit b84d824

File tree

6 files changed

+513
-194
lines changed

6 files changed

+513
-194
lines changed

gcc/ChangeLog

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,79 @@
22

33
* config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
44

5+
2012-11-20 Nick Clifton <[email protected]>
6+
7+
* config/v850/v850.c (F): New function. Mark the given insn as
8+
being frame related.
9+
(v850_all_frame_related): New function. Mark the given push insn
10+
as being frame related.
11+
(v850_pass_by_reference): When using the RH850 ABI do not pass
12+
arguments by reference.
13+
(v850_strict_argument_naming): Delete function.
14+
(v850_function_arg): Use word alignment with the RH850 ABI.
15+
(v850_arg_partial_bytes): Likewise.
16+
(v850_function_arg_advance): Likewise.
17+
(v850_print_operand): Handle CONST_INT and CONST_DOUBLE.
18+
(compute_register_save_size): Use df_regs_ever_live_p.
19+
(increment_stack): Mark prologue adjustments as being frame
20+
related.
21+
(expand_prologue): Handle pretend args. Mark insns generated as
22+
being frame related.
23+
(expand_epilogue): Likewise.
24+
(v850_return_in_memory): When using the RH850 ABI return
25+
aggregates in memory.
26+
(v850_setup_incoming_varargs): Delete function.
27+
(v850_option_override): New function.
28+
(TARGET_DEBUG_UNWIND_INFO): Delete definition.
29+
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
30+
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
31+
(TARGET_OPTION_OVERRIDE): Define.
32+
* config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi
33+
options on to assembler.
34+
(LINK_SPEC): Likewise.
35+
(TARGET_CPU_CPP_BUILTINS): Define __V850_8BYTE_ALIGN__ and
36+
__V850_GCC_ABI__.
37+
(STACK_BOUNDARY): Set to BIGGEST_ALIGNMENT.
38+
(FUNCTION_BOUNDARY): With the RH850 ABI always 32-bit alignment.
39+
(BIGGEST_ALIGNMENT): With -8byte-align set to 64-bits.
40+
(BIGGEST_FIELD_ALIGNMENT): Likewise.
41+
(enum reg_class): Swap EVEN_REGS and GENERAL_REGS.
42+
(REG_CLASS_NAMES): Likewise.
43+
(REG_CLASS_CONTENTS): Likewise.
44+
(struct cum_arg): Delete anonymous_args field.
45+
(INIT_CUMULATIVE_ARGS): Update.
46+
(PREFERRED_DEBUG): Set to DWARF2_DEBUG.
47+
(DWARF2_FRAME_INFO): Define.
48+
(DWARF2_UNWIND_INFO): Define.
49+
(INCOMING_RETURN_ADDR_RTX): Define.
50+
(DWARF_FRAME_RETURN_COLUMN): Define.
51+
(TARGET_USE_FPU): Define.
52+
* config/v850/v850.md: Replace TARGET_V850E2V3 in floating point
53+
insns with TARGET_USE_FPU.
54+
(fixuns_truncsfsi2): New pattern.
55+
(fixuns_truncdfsi2): New pattern.
56+
(fix_truncsfdi2): New pattern.
57+
(fixuns_truncsfdi2): New pattern.
58+
(fix_truncdfdi2): New pattern.
59+
(fixuns_truncdfdi2): New pattern.
60+
(unsfloatsisf2): New pattern.
61+
(unsfloatsidf2): New pattern.
62+
(floatdisf2): New pattern.
63+
(unsfloatdisf2): New pattern.
64+
(floatdidf2): New pattern.
65+
(unsfloatdidf2): New pattern.
66+
(fnmasf4): Fix RTl description.
67+
(fnmssf4): Likewise.
68+
* config/v850/v850.opt (mrelax): New option.
69+
(mlong-jumps): Likewise.
70+
(msoft-float): Likewise.
71+
(mhard-float): Likewise.
72+
(mrh850-abi): Likewise.
73+
(mgcc-abi): Likewise.
74+
(m8byte-align): Likewise.
75+
* config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options.
76+
(MULTILIB_DIRNAMES): Likewise.
77+
578
2012-11-20 Nick Clifton <[email protected]>
679

780
* config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI

gcc/config/v850/t-v850

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009, 2010,
2-
# 2011 Free Software Foundation, Inc.
2+
# 2011, 2012 Free Software Foundation, Inc.
33
#
44
# This file is part of GCC.
55
#
@@ -18,9 +18,8 @@
1818
# <http://www.gnu.org/licenses/>.
1919

2020
# Create target-specific versions of the libraries
21-
MULTILIB_OPTIONS = mv850/mv850e/mv850e2/mv850e2v3
22-
MULTILIB_DIRNAMES = v850 v850e v850e2 v850e2v3
23-
MULTILIB_MATCHES = mv850e=mv850e1
21+
MULTILIB_OPTIONS = m8byte-align mgcc-abi msoft-float
22+
MULTILIB_DIRNAMES = 8byte gcc-abi soft-float
2423

2524
TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
2625

0 commit comments

Comments
 (0)