[PATCH 1/4][AArch64] Add scheduling and cost models for Exynos M1
Evandro Menezes
e.menezes@samsung.com
Thu Nov 5 17:31:00 GMT 2015
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.menezes@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.
Thank you,
--
Evandro Menezes
On 11/05/2015 03:22 AM, James Greenhalgh wrote:
> On Wed, Nov 04, 2015 at 05:21:03PM -0600, Evandro Menezes wrote:
>> Please, ignore the previous patch. This is the intended patch.
>>
>> Sorry.
>>
>> --
>> Evandro Menezes
>>
>> On 11/04/2015 05:18 PM, Evandro Menezes wrote:
>>> This patch adds extra tuning information about AArch64 targets:
>>>
>>> * Maximum number of case values before resorting to a jump table
>>> The default values assumed independently of the specific backends
>>> may be rather low for modern processors, which sport quite efficient
>>> direct branch prediction, whereas indirect branch prediction is
>>> still typically not so efficient. This value may be specifically
>>> set for a processor or left at zero to use the default values.
>>> * L1 cache line size
>>> The auto-prefetcher uses this information when emitting software
>>> prefetch insns.
>>>
>>> Please, commit if it's alright.
>>>
>>> Thank you,
>>>
> Thanks for the patch,
>
>> 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;
>> + int max_case_values; /* Case values threshold; or 0 for the default. */
> If we're using an int, how about -1 as the sentinel value? (Maybe someone
> really likes jump tables!). Otherwise, make this an unsigned int?
>
>> +
>> + int cache_line_size; /* Cache line size; or 0 for the default. */
> unsigned int?
>
> The patch is otherwise OK, though it needs a ChangeLog.
>
> Thanks,
> James
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: target.patch
Type: text/x-patch
Size: 4631 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20151105/3b4fd117/attachment.bin>
More information about the Gcc-patches
mailing list