summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-01 04:58:23 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-01 04:58:23 +0000
commit395df7464e140375cc6746036d6305ba6bce8159 (patch)
tree55d85adeec2ae20c8726542f75f177b9389d5ee0 /gcc
parente0dff4dacdc6313748718a464ae5a41a0301e02f (diff)
downloadgcc-395df7464e140375cc6746036d6305ba6bce8159.tar.gz
* config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
only after no_new_pseudos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125258 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e622c34817b..87ce2f1fcac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
+ only after no_new_pseudos.
+
2007-05-31 Eric Christopher <echristo@apple.com>
* expr.c (convert_move): Assert that we don't have a BLKmode
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index b3c46ab4688..10d7a86fdd0 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -8542,8 +8542,9 @@ fpscr_set_from_mem (int mode, HARD_REG_SET regs_live)
{
enum attr_fp_mode fp_mode = mode;
enum attr_fp_mode norm_mode = ACTUAL_NORMAL_MODE (FP_MODE);
- rtx addr_reg = get_free_reg (regs_live);
+ rtx addr_reg;
+ addr_reg = no_new_pseudos ? get_free_reg (regs_live) : NULL_RTX;
emit_fpu_switch (addr_reg, fp_mode == norm_mode);
}