On Thu, Nov 05, 2015 at 11:31:33AM -0600, Evandro Menezes wrote: > James, > > Since other members of the "tune_params" structure were signed > integers, even though negative numbers would make no sense for most > either, I followed the same pattern. > > Regardless, here's a patch with unsigned integers as you requested: > > [AArch64] Add extra tuning parameters for target processors > > 2015-11-05 Evandro Menezes <e.mene...@samsung.com> > > gcc/ > > * config/aarch64/aarch64-protos.h (tune_params): Add new members > "max_case_values" and "cache_line_size". > * config/aarch64/aarch64.c (aarch64_case_values_threshold): New > function. > (aarch64_override_options_internal): Tune heuristics based on new > members in "tune_params". > (TARGET_CASE_VALUES_THRESHOLD): Define macro. > > Please, commit if it's alright.
Hi Evandro, This is OK with a few nits. > diff --git a/gcc/config/aarch64/aarch64-protos.h > b/gcc/config/aarch64/aarch64-protos.h > index 81792bc..ecf4685 100644 > --- a/gcc/config/aarch64/aarch64-protos.h > +++ b/gcc/config/aarch64/aarch64-protos.h > @@ -195,6 +195,9 @@ struct tune_params > int vec_reassoc_width; > int min_div_recip_mul_sf; > int min_div_recip_mul_df; > + unsigned int max_case_values; /* Case values threshold; or 0 for the > default. */ > + > + unsigned int cache_line_size; /* Cache line size; or 0 for the default. */ > > /* An enum specifying how to take into account CPU autoprefetch capabilities > during instruction scheduling: I'd put the comments above the field, and make them slightly more descriptive: + /* Value for aarch64_case_values_threshold; or 0 for the default. */ + unsigned int max_case_values; + /* Value for PARAM_L1_CACHE_LINE_SIZE; or 0 to use the default. */ + unsigned int cache_line_size; > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > index 5c8604f..e7f1c07 100644 > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -13385,6 +13418,7 @@ aarch64_promoted_type (const_tree t) > return float_type_node; > return NULL_TREE; > } > + > #undef TARGET_ADDRESS_COST > #define TARGET_ADDRESS_COST aarch64_address_cost > Drop this hunk. I've applied the patch with those changes as revision 230261 on your behalf. Thanks, James