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: r200853
This commit is contained in:
Joseph Myers 2013-07-09 23:35:46 +01:00 committed by Joseph Myers
parent d966b2749c
commit ef43e86898
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 Kai Tietz <ktietz@redhat.com>
PR target/56892

View File

@ -2518,7 +2518,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]