diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2015-01-16 17:36:16 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2015-01-16 17:36:16 +0100 |
commit | 77688d70590330ad4b56d6fb690456d72406c6a2 (patch) | |
tree | 5906c6e4172e382866e8aa21071b2ee78f9377ef | |
parent | ed821220ca4373512728444dd0d37e8f95a187c1 (diff) | |
download | gcc-77688d70590330ad4b56d6fb690456d72406c6a2.zip gcc-77688d70590330ad4b56d6fb690456d72406c6a2.tar.gz gcc-77688d70590330ad4b56d6fb690456d72406c6a2.tar.bz2 |
rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, [...]): Implement as ...
* config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
as ...
(rs6000_abi_word_mode): New function.
From-SVN: r219753
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 16 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 53363cc..55e0315 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> + * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, + TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement + as ... + (rs6000_abi_word_mode): New function. + +2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> + * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD instead of UNITS_PER_WORD to describe the size of stack slots. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 36cbef9..3a46333 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1676,6 +1676,13 @@ static const struct attribute_spec rs6000_attribute_table[] = #undef TARGET_ATOMIC_ASSIGN_EXPAND_FENV #define TARGET_ATOMIC_ASSIGN_EXPAND_FENV rs6000_atomic_assign_expand_fenv + +#undef TARGET_LIBGCC_CMP_RETURN_MODE +#define TARGET_LIBGCC_CMP_RETURN_MODE rs6000_abi_word_mode +#undef TARGET_LIBGCC_SHIFT_COUNT_MODE +#define TARGET_LIBGCC_SHIFT_COUNT_MODE rs6000_abi_word_mode +#undef TARGET_UNWIND_WORD_MODE +#define TARGET_UNWIND_WORD_MODE rs6000_abi_word_mode /* Processor table. */ @@ -9306,6 +9313,15 @@ init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype, } } +/* The mode the ABI uses for a word. This is not the same as word_mode + for -m32 -mpowerpc64. This is used to implement various target hooks. */ + +static machine_mode +rs6000_abi_word_mode (void) +{ + return TARGET_32BIT ? SImode : DImode; +} + /* On rs6000, function arguments are promoted, as are function return values. */ |