aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Suchanek <robert.suchanek@imgtec.com>2015-01-28 09:44:39 +0000
committerRobert Suchanek <rts@gcc.gnu.org>2015-01-28 09:44:39 +0000
commitde5bcff3bcce9ccb415e354415825c2ad7f03316 (patch)
treec646d163f5cf4f03e94223c2acfa0423d503b192
parent6b18ab83aa0c84b8f4dc6d457511c6e19c409bb1 (diff)
downloadgcc-de5bcff3bcce9ccb415e354415825c2ad7f03316.zip
gcc-de5bcff3bcce9ccb415e354415825c2ad7f03316.tar.gz
gcc-de5bcff3bcce9ccb415e354415825c2ad7f03316.tar.bz2
Prohibit vector modes in accumulators.
gcc/ * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators for all vector modes. From-SVN: r220200
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 168d255..90adcd6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
+ for all vector modes.
+
2015-01-28 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/64612
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 443a712..1733457 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -12131,7 +12131,9 @@ mips_hard_regno_mode_ok_p (unsigned int regno, machine_mode mode)
return size >= MIN_UNITS_PER_WORD && size <= UNITS_PER_FPREG;
}
+ /* Don't allow vector modes in accumulators. */
if (ACC_REG_P (regno)
+ && !VECTOR_MODE_P (mode)
&& (INTEGRAL_MODE_P (mode) || ALL_FIXED_POINT_MODE_P (mode)))
{
if (MD_REG_P (regno))