Commit bbdb5098 by Maciej W. Rozycki Committed by Maciej W. Rozycki

e500.h (HARD_REGNO_CALLER_SAVE_MODE): Remove macro.

	* config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Remove
	macro.
	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Handle
	TARGET_E500_DOUBLE case here.

From-SVN: r215875
parent 6bc8a126
2014-10-03 Maciej W. Rozycki <macro@codesourcery.com>
* config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Remove
macro.
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Handle
TARGET_E500_DOUBLE case here.
2014-10-03 Marc Glisse <marc.glisse@inria.fr> 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/54427 PR c++/54427
...@@ -43,12 +43,3 @@ ...@@ -43,12 +43,3 @@
error ("E500 and FPRs not supported"); \ error ("E500 and FPRs not supported"); \
} \ } \
} while (0) } while (0)
/* Override rs6000.h definition. */
#undef HARD_REGNO_CALLER_SAVE_MODE
/* When setting up caller-save slots (MODE == VOIDmode) ensure we
allocate space for DFmode. Save gprs in the correct mode too. */
#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
(TARGET_E500_DOUBLE && ((MODE) == VOIDmode || (MODE) == DFmode) \
? DFmode \
: choose_hard_reg_mode ((REGNO), (NREGS), false))
...@@ -1178,9 +1178,11 @@ enum data_align { align_abi, align_opt, align_both }; ...@@ -1178,9 +1178,11 @@ enum data_align { align_abi, align_opt, align_both };
&& ((MODE) == VOIDmode || ALTIVEC_OR_VSX_VECTOR_MODE (MODE)) \ && ((MODE) == VOIDmode || ALTIVEC_OR_VSX_VECTOR_MODE (MODE)) \
&& FP_REGNO_P (REGNO) \ && FP_REGNO_P (REGNO) \
? V2DFmode \ ? V2DFmode \
: ((MODE) == TFmode && FP_REGNO_P (REGNO)) \ : TARGET_E500_DOUBLE && ((MODE) == VOIDmode || (MODE) == DFmode) \
? DFmode \ ? DFmode \
: ((MODE) == TDmode && FP_REGNO_P (REGNO)) \ : !TARGET_E500_DOUBLE && (MODE) == TFmode && FP_REGNO_P (REGNO) \
? DFmode \
: !TARGET_E500_DOUBLE && (MODE) == TDmode && FP_REGNO_P (REGNO) \
? DImode \ ? DImode \
: choose_hard_reg_mode ((REGNO), (NREGS), false)) : choose_hard_reg_mode ((REGNO), (NREGS), false))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment