This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000] Fix PR87496: ICE in aggregate_value_p at gcc/function.c:2046
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Peter Bergner <bergner at linux dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Michael Meissner <meissner at linux dot ibm dot com>
- Date: Tue, 4 Dec 2018 16:53:58 -0600
- Subject: Re: [PATCH, rs6000] Fix PR87496: ICE in aggregate_value_p at gcc/function.c:2046
- References: <fbedc7ce-d1f1-4adf-ff4c-4c0401daa18b@linux.ibm.com> <7abf394f-35a8-08b6-4f7d-f00fd6663930@linux.ibm.com>
On Tue, Dec 04, 2018 at 01:42:52PM -0600, Peter Bergner wrote:
> On 11/28/18 3:27 PM, Peter Bergner wrote:
> > gcc/
> > PR target/87496
> > * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
> > -mabi=ieeelongdouble without both -mpopcntd and -mvsx.
>
> So this "fix" ended up accidentally disallowing -mabi=ibmlongdouble as well,
> which is wrong. I need to look at not only whether the variable
> global_options_set.x_rs6000_ieeequad is set, which tells us whether we
> used -mabi={ibm,ieee}longdouble, but whether we actually enabled ieee128.
> The patch below fixes that oversight. As we talked offline, we also should
> not allow either -mabi={ibm,ieee}longdouble with -mlong-double-64, since
> they are conflicting options. I have added code to test for that as well.
> I have also added extra test cases to test for those.
Okay, so you make -mabi={ibm,ieee}longdouble be valid options only if
there is -mlong-double-128. Could you add that to the documentation then
please?
> Is this ok for mainline once bootstrap and regtesting come back clean?
Okay with that documentation added and if it tests okay, yes. Thanks!
> Since I backported the earlier fix to GCC8, I'd like to backport this
> there too.
Okay for there too.
Segher
> gcc/
> PR target/87496
> * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
> -mabi=ieeelongdouble and -mabi=ibmlongdouble without -mlong-double-128.
> Do not error for -mabi=ibmlongdouble and no ISA 2.06 support.
>
> gcc/testsuite/
> PR target/87496
> * gcc.target/powerpc/pr87496.c: Rename from this...
> * gcc.target/powerpc/pr87496-1.c: ...to this. Update comment.
> * gcc.target/powerpc/pr87496-2.c: New test.
> * gcc.target/powerpc/pr87496-3.c: New test.