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