Hi Mike,

on 2021/12/3 上午8:51, Michael Meissner wrote:
> 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>.
> 

Thanks for the explanation on the history.  Fortunately now for Power10 fusion,
we have only one defined MASK_P10_FUSION but not the other 
MASK_P10_FUSION_<...>.

As you explained, I will use OPTION_MASK_P10_FUSION and OPTION_MASK_P8_FUSION
instead.

BR,
Kewen

Reply via email to