[RS6000] powerpc64le -ffixed-cr2 -ffixed-cr3 -ffixed-cr4 ICE
gcc/ PR target/70866 * config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p when cr2,3,4 are all fixed regs. gcc/testsuite/ * gcc.target/powerpc/pr70866.c: New. From-SVN: r235851
This commit is contained in:
parent
9ced954948
commit
475839b6db
4 changed files with 24 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2016-05-04 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR target/70866
|
||||||
|
* config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p
|
||||||
|
when cr2,3,4 are all fixed regs.
|
||||||
|
|
||||||
2016-05-04 Bernd Schmidt <bschmidt@redhat.com>
|
2016-05-04 Bernd Schmidt <bschmidt@redhat.com>
|
||||||
|
|
||||||
PR rtl-optimization/57193
|
PR rtl-optimization/57193
|
||||||
|
|
|
@ -23689,9 +23689,9 @@ rs6000_stack_info (void)
|
||||||
info->calls_p = (!crtl->is_leaf || cfun->machine->ra_needs_full_frame);
|
info->calls_p = (!crtl->is_leaf || cfun->machine->ra_needs_full_frame);
|
||||||
|
|
||||||
/* Determine if we need to save the condition code registers. */
|
/* Determine if we need to save the condition code registers. */
|
||||||
if (df_regs_ever_live_p (CR2_REGNO)
|
if (save_reg_p (CR2_REGNO)
|
||||||
|| df_regs_ever_live_p (CR3_REGNO)
|
|| save_reg_p (CR3_REGNO)
|
||||||
|| df_regs_ever_live_p (CR4_REGNO))
|
|| save_reg_p (CR4_REGNO))
|
||||||
{
|
{
|
||||||
info->cr_save_p = 1;
|
info->cr_save_p = 1;
|
||||||
if (DEFAULT_ABI == ABI_V4)
|
if (DEFAULT_ABI == ABI_V4)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2016-05-04 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* gcc.target/powerpc/pr70866.c: New.
|
||||||
|
|
||||||
2016-05-03 Martin Sebor <msebor@redhat.com>
|
2016-05-03 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
PR c++/66561
|
PR c++/66561
|
||||||
|
|
11
gcc/testsuite/gcc.target/powerpc/pr70866.c
Normal file
11
gcc/testsuite/gcc.target/powerpc/pr70866.c
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-ffixed-cr2 -ffixed-cr3 -ffixed-cr4" } */
|
||||||
|
|
||||||
|
#define SET_CR(R,V) __asm__ __volatile__ ("mtcrf %0,%1" : : "n" (1<<(7-R)), "r" (V<<(4*(7-R))) : "cr" #R)
|
||||||
|
|
||||||
|
void foo (void)
|
||||||
|
{
|
||||||
|
SET_CR (2, 7);
|
||||||
|
SET_CR (3, 8);
|
||||||
|
SET_CR (4, 9);
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue