From b06b27dd1773dd3976b6cfad9c875ee691b7b6e6 Mon Sep 17 00:00:00 2001 From: chrbr Date: Fri, 8 Jun 2007 07:58:41 +0000 Subject: PR target/29953 * config/sh/sh.md (doloop_end): New pattern and splitter. * loop-iv.c (simple_rhs_p): Check for hardware registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125564 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/loop-iv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gcc/loop-iv.c') diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index bdf1508d9ef..0b6d46db04a 100644 --- a/gcc/loop-iv.c +++ b/gcc/loop-iv.c @@ -1293,7 +1293,7 @@ simple_rhs_p (rtx rhs) rtx op0, op1; if (CONSTANT_P (rhs) - || REG_P (rhs)) + || (REG_P (rhs) && !HARD_REGISTER_P (rhs))) return true; switch (GET_CODE (rhs)) @@ -1303,9 +1303,9 @@ simple_rhs_p (rtx rhs) op0 = XEXP (rhs, 0); op1 = XEXP (rhs, 1); /* Allow reg + const sets only. */ - if (REG_P (op0) && CONSTANT_P (op1)) + if (REG_P (op0) && !HARD_REGISTER_P (op0) && CONSTANT_P (op1)) return true; - if (REG_P (op1) && CONSTANT_P (op0)) + if (REG_P (op1) && !HARD_REGISTER_P (op1) && CONSTANT_P (op0)) return true; return false; -- cgit v1.2.1