rs6000.c (rs6000_init_hard_regno_mode_ok): Only adjust register size for TDmode and TFmode for VSX registers.

* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
	adjust register size for TDmode and TFmode for VSX registers.

From-SVN: r200855
This commit is contained in:
Joseph Myers 2013-07-09 23:37:30 +01:00 committed by Joseph Myers
parent cbf86c8c20
commit de715fc04f
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-07-09 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
adjust register size for TDmode and TFmode for VSX registers.
2013-07-08 Eric Botcazou <ebotcazou@adacore.com>
* Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).

View File

@ -2402,7 +2402,8 @@ rs6000_init_hard_regno_mode_ok (bool global_init_p)
int reg_size2 = reg_size;
/* TFmode/TDmode always takes 2 registers, even in VSX. */
if (m == TDmode || m == TFmode)
if (TARGET_VSX && VSX_REG_CLASS_P (c)
&& (m == TDmode || m == TFmode))
reg_size2 = UNITS_PER_FP_WORD;
rs6000_class_max_nregs[m][c]