On Mon, Nov 29, 2021 at 10:57:12AM -0600, Segher Boessenkool wrote:
> Why are there OPTION_MASKs for separate P10 fusion types here, as well as
> MASK_P10_FUSION?

Well going back in time, before we used rs6000_isa_flags, we used the default
flag word for MASK arguments.  Unfortunately, the default flag word is only
32-bits, and we needed more mask bits, so we moved to rs6000_isa_flags, which
is HOST_WIDE_INT.

Unfortunately, the options infrastructure used 'OPTION_MASK_<foo>' instead of
'MASK_<foo>'.  So we have a bunch of macros in rs6000.h that map 'MASK_<foo>'
to 'OPTION_MASK_<foo>'.

We should clean this up and use 'OPTION_MASK_<foo>' everywhere, but so far it
hasn't percolated to the top as being important enough to do.

As new options are added, people just clone the code and add new macros, even
though in theory nobody should be using MASK_P10_FUSION_<foo>.

-- 
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meiss...@linux.ibm.com

Reply via email to