aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorRohit Arul Raj <rohitarulraj@freescale.com>2014-08-04 16:34:34 +0000
committerEdmar Wienskoski <edmarwjr@gcc.gnu.org>2014-08-04 16:34:34 +0000
commit23742a9e1b63ece52375966493ef873fdd6f8e66 (patch)
treee4299107c6282932832fbec9375f9df265f5fbe8 /libgcc
parent62c986afde031d141961d2619a860def836c8e9b (diff)
downloadgcc-23742a9e1b63ece52375966493ef873fdd6f8e66.zip
gcc-23742a9e1b63ece52375966493ef873fdd6f8e66.tar.gz
gcc-23742a9e1b63ece52375966493ef873fdd6f8e66.tar.bz2
re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
PR target/60102 [libgcc] 2014-07-31 Rohit <rohitarulraj@freescale.com> * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update based on change in SPE high register numbers and 3 HTM registers. [gcc] 2014-07-31 Rohit <rohitarulraj@freescale.com> * config/rs6000/rs6000.c (rs6000_reg_names) : Add SPE high register names. (alt_reg_names) : Likewise. (rs6000_dwarf_register_span) : For SPE high registers, replace dwarf register numbers with GCC hard register numbers. (rs6000_init_dwarf_reg_sizes_extra) : Likewise. (rs6000_dbx_register_number): For SPE high registers, return dwarf register number for the corresponding GCC hard register number. * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER) : Update based on 32 newly added GCC hard register numbers for SPE high registers. (DWARF_FRAME_REGISTERS) : Likewise. (DWARF_REG_TO_UNWIND_COLUMN) : Likewise. (DWARF_FRAME_REGNUM) : Likewise. (FIXED_REGISTERS) : Likewise. (CALL_USED_REGISTERS) : Likewise. (CALL_REALLY_USED_REGISTERS) : Likewise. (REG_ALLOC_ORDER) : Likewise. (enum reg_class) : Likewise. (REG_CLASS_NAMES) : Likewise. (REG_CLASS_CONTENTS) : Likewise. (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers. * gcc.target/powerpc/pr60102.c: New testcase. From-SVN: r213596
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog6
-rw-r--r--libgcc/config/rs6000/linux-unwind.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8de4ba5..9a3184e 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-08-04 Rohit <rohitarulraj@freescale.com>
+
+ PR target/60102
+ * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update
+ based on change in SPE high register numbers and 3 HTM registers.
+
2014-08-01 Nathan Sidwell <nathan@acm.org>
* Makefile.in (LIBGCOV_MERGE, LIBGCOV_PROFILER,
diff --git a/libgcc/config/rs6000/linux-unwind.h b/libgcc/config/rs6000/linux-unwind.h
index c5b006e..ffb4f07 100644
--- a/libgcc/config/rs6000/linux-unwind.h
+++ b/libgcc/config/rs6000/linux-unwind.h
@@ -274,8 +274,8 @@ ppc_fallback_frame_state (struct _Unwind_Context *context,
#ifdef __SPE__
for (i = 14; i < 32; i++)
{
- fs->regs.reg[i + FIRST_PSEUDO_REGISTER - 1].how = REG_SAVED_OFFSET;
- fs->regs.reg[i + FIRST_PSEUDO_REGISTER - 1].loc.offset
+ fs->regs.reg[i + FIRST_SPE_HIGH_REGNO - 4].how = REG_SAVED_OFFSET;
+ fs->regs.reg[i + FIRST_SPE_HIGH_REGNO - 4].loc.offset
= (long) &regs->vregs - new_cfa + 4 * i;
}
#endif