Hi! On Fri, Feb 09, 2018 at 09:37:28AM +0000, Nick Clifton wrote: > > I thought you were going to do a patch like the following, to make the > > e500 cores less special (they are not): > > Sorry - my bad. I defer to your patch then. Whatever it takes to get > the BZ fixed and off the books... :-)
So does it work? :-) (I cannot reproduce the problem, there must be something in your configuration I'm overlooking). Segher [ Here it is again, with changelog this time: ] >From 44c3b661ef75e57415b10ca2cec5ac6427bbed8f Mon Sep 17 00:00:00 2001 Message-Id: <44c3b661ef75e57415b10ca2cec5ac6427bbed8f.1518109128.git.seg...@kernel.crashing.org> From: Segher Boessenkool <seg...@kernel.crashing.org> Date: Thu, 8 Feb 2018 16:58:33 +0000 Subject: [PATCH] Do not mess with rs6000_{single,double}_float (PR68028) For e500 family cores we do some questionable things with those flags, which does not work with LTO. So don't. 2018-02-10 Segher Boessenkool <seg...@kernel.crashing.org> * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't handle rs6000_single_float and rs6000_double_float specially for e500 family CPUs. --- gcc/config/rs6000/rs6000.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 5adccd2..73de617 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -4809,25 +4809,6 @@ rs6000_option_override_internal (bool global_init_p) if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET) rs6000_print_isa_options (stderr, 0, "after subtarget", rs6000_isa_flags); - /* For the E500 family of cores, reset the single/double FP flags to let us - check that they remain constant across attributes or pragmas. */ - - switch (rs6000_cpu) - { - case PROCESSOR_PPC8540: - case PROCESSOR_PPC8548: - case PROCESSOR_PPCE500MC: - case PROCESSOR_PPCE500MC64: - case PROCESSOR_PPCE5500: - case PROCESSOR_PPCE6500: - rs6000_single_float = 0; - rs6000_double_float = 0; - break; - - default: - break; - } - if (main_target_opt) { if (main_target_opt->x_rs6000_single_float != rs6000_single_float) -- 1.8.3.1