diff options
author | Rohit Arul Raj <rohitarulraj@freescale.com> | 2014-08-04 16:48:53 +0000 |
---|---|---|
committer | Edmar Wienskoski <edmarwjr@gcc.gnu.org> | 2014-08-04 16:48:53 +0000 |
commit | 5d89700bdf5f08404974cf1b9042a839fa4d9272 (patch) | |
tree | ec94199751c6e05c3067b1c805750821e889a752 /libgcc | |
parent | ac52a38706b073ac700756565f27af4cc680138d (diff) |
re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
PR target/60102
[libgcc]
2014-08-04 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-08-04 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/testsuite]
2014-08-04 Rohit <rohitarulraj@freescale.com>
* gcc.target/powerpc/pr60102.c: New testcase.
From-SVN: r213597
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 6 | ||||
-rw-r--r-- | libgcc/config/rs6000/linux-unwind.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 575715b3e7f..e4ece87493d 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-07-16 Release Manager * GCC 4.9.1 released. diff --git a/libgcc/config/rs6000/linux-unwind.h b/libgcc/config/rs6000/linux-unwind.h index c5b006ee946..ffb4f07eeb6 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) ®s->vregs - new_cfa + 4 * i; } #endif |