OSDN Git Service

PR target/43580
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Mar 2010 08:41:28 +0000 (08:41 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Mar 2010 08:41:28 +0000 (08:41 +0000)
* config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
V2SImode or XFmode on PRE_DEC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157853 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 44cc91a..07eb353 100644 (file)
@@ -1,5 +1,9 @@
 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
 
+       PR target/43580
+       * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
+       V2SImode or XFmode on PRE_DEC.
+
        PR debug/43557
        * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
        BLKmode.
index 6f42dd0..8a6f39b 100644 (file)
@@ -1,6 +1,6 @@
 /* Output routines for GCC for ARM.
    Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
    and Martin Simmons (@harleqn.co.uk).
@@ -14431,7 +14431,7 @@ arm_save_coproc_regs(void)
   for (reg = LAST_IWMMXT_REGNUM; reg >= FIRST_IWMMXT_REGNUM; reg--)
     if (df_regs_ever_live_p (reg) && ! call_used_regs[reg])
       {
-       insn = gen_rtx_PRE_DEC (V2SImode, stack_pointer_rtx);
+       insn = gen_rtx_PRE_DEC (Pmode, stack_pointer_rtx);
        insn = gen_rtx_MEM (V2SImode, insn);
        insn = emit_set_insn (insn, gen_rtx_REG (V2SImode, reg));
        RTX_FRAME_RELATED_P (insn) = 1;
@@ -14445,7 +14445,7 @@ arm_save_coproc_regs(void)
       for (reg = LAST_FPA_REGNUM; reg >= FIRST_FPA_REGNUM; reg--)
        if (df_regs_ever_live_p (reg) && !call_used_regs[reg])
          {
-           insn = gen_rtx_PRE_DEC (XFmode, stack_pointer_rtx);
+           insn = gen_rtx_PRE_DEC (Pmode, stack_pointer_rtx);
            insn = gen_rtx_MEM (XFmode, insn);
            insn = emit_set_insn (insn, gen_rtx_REG (XFmode, reg));
            RTX_FRAME_RELATED_P (insn) = 1;