This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Rs6000 infrastructure cleanup (switches)


On 13.09.12 00:43, Michael Meissner wrote:
The following patches tackle an issue that David and I have been encountering
and working around for 15 years or so in the rs6000 port.  The basic problem is
that we have long ago overflowed the 31 bits you get in target_flags, and
different options have been moved to external variables.  I encountered it
again with some work for future products, and the other powerpc hackers have
run into from time to time.  So I figured it was time to fix it 'the right
way'.

This patch moves all of the target_flags options to a 64-bit flag word
(rs6000_isa_flags), and added two more sets of flags (rs6000_misc_flags and
rs6000_debug_flags) for the options that don't need to be specified as ISA
bits.  I have most of the remaining options converted to use these three flag
words, but there are still some options unconverted.

At the moment, we are using 35 bits in rs6000_isa_flags, 14 bits in
rs6000_misc_flags, and 8 bits in rs6000_debug_flags.

I have done a bootstrap test with no regressions on a SLES 11SP1 powerpc
linux64 system.  It would be nice to know if this doesn't break the other ppc
environments (AIX, Darwin) before I commit it.  Are there any problems with
this patch?  I have a little cleanup I want to do (fix rs6000-cpus.def so it
uses OPTION_MASK_<xxx> consistantly, rather than the old MASK_<xxx> names, and
maybe tackle the other switches), but I could check in the current patches and
then work on the cleanup.

Tested on powerpc64-freebsd10.0, results here:


http://gcc.gnu.org/ml/gcc-testresults/2012-09/msg01403.html

I ran the tests with and w/o patch. No diffs seen.

Andreas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]