Commit 171954d8 by Peter Bergner Committed by Peter Bergner

re PR target/87496 (ICE in aggregate_value_p at gcc/function.c:2046)

gcc/
	PR target/87496
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
	-mabi=ieeelongdouble without both -mpopcntd and -mvsx.

gcc/testsuite/
	PR target/87496
	* gcc.target/powerpc/pr87496.c: New test.

From-SVN: r266636
parent 9bb3d6c4
2018-11-29 Peter Bergner <bergner@linux.ibm.com>
PR target/87496
* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
-mabi=ieeelongdouble without both -mpopcntd and -mvsx.
2018-11-29 Uros Bizjak <ubizjak@gmail.com> 2018-11-29 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (inline_memory_move_cost): * config/i386/i386.c (inline_memory_move_cost):
...@@ -4291,16 +4291,22 @@ rs6000_option_override_internal (bool global_init_p) ...@@ -4291,16 +4291,22 @@ rs6000_option_override_internal (bool global_init_p)
if (!global_options_set.x_rs6000_ieeequad) if (!global_options_set.x_rs6000_ieeequad)
rs6000_ieeequad = TARGET_IEEEQUAD_DEFAULT; rs6000_ieeequad = TARGET_IEEEQUAD_DEFAULT;
else if (rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT && TARGET_LONG_DOUBLE_128) else
{ {
static bool warned_change_long_double; if (!TARGET_POPCNTD || !TARGET_VSX)
if (!warned_change_long_double) error ("%qs requires full ISA 2.06 support", "-mabi=ieeelongdouble");
if (rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT && TARGET_LONG_DOUBLE_128)
{ {
warned_change_long_double = true; static bool warned_change_long_double;
if (TARGET_IEEEQUAD) if (!warned_change_long_double)
warning (OPT_Wpsabi, "Using IEEE extended precision long double"); {
else warned_change_long_double = true;
warning (OPT_Wpsabi, "Using IBM extended precision long double"); if (TARGET_IEEEQUAD)
warning (OPT_Wpsabi, "Using IEEE extended precision long double");
else
warning (OPT_Wpsabi, "Using IBM extended precision long double");
}
} }
} }
2018-11-29 Peter Bergner <bergner@linux.ibm.com>
PR target/87496
* gcc.target/powerpc/pr87496.c: New test.
2018-11-29 Martin Sebor <msebor@redhat.com> 2018-11-29 Martin Sebor <msebor@redhat.com>
PR c/88172 PR c/88172
......
/* PR target/87496.c */
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
/* { dg-require-effective-target longdouble128 } */
/* { dg-options "-O2 -mcpu=power7 -mabi=ieeelongdouble -mno-popcntd -Wno-psabi" } */
int i;
/* { dg-error "'-mabi=ieeelongdouble' requires full ISA 2.06 support" "PR87496" { target *-*-* } 0 } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment