From: Joseph Myers Date: Tue, 9 Jul 2013 22:37:30 +0000 (+0100) Subject: rs6000.c (rs6000_init_hard_regno_mode_ok): Only adjust register size for TDmode and... X-Git-Tag: releases/gcc-4.7.4~583 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de715fc04f27cae36d0afa351f50457ceb6a414c;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 57d735bbe592..aef3cb3d8f55 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-07-09 Joseph Myers + + * 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 * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H). diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 526d83917a1f..0c3ce486b491 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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]