On 11/06/2017 12:11 AM, Uros Bizjak wrote:
> On Mon, Nov 6, 2017 at 12:19 AM, Peryt, Sebastian
> <sebastian.pe...@intel.com> wrote:
>>> On Sun, Nov 5, 2017 at 12:14 PM, Peryt, Sebastian 
>>> <sebastian.pe...@intel.com>
>>> wrote:
>>>> Hi,
>>>>
>>>> After r253934 gcc.target/i386/pr71321.c started to fail due to the wrong
>>> number of scan-assembler - 2 instead of 3. This patch is fixing that.
>>>
>>> Are you sure that there is no problem with the code generation? Did you
>>> investigate original PR for what it is testing and why it is testing for 
>>> these 3
>>> LEAs?
>>
>> Well, the problem is due to the change in cost model. This can be reverted 
>> by simple modification:
>>
>> diff --git a/gcc/config/i386/x86-tune-costs.h 
>> b/gcc/config/i386/x86-tune-costs.h
>> index c7ac70e..bb5b3e2 100644
>> --- a/gcc/config/i386/x86-tune-costs.h
>> +++ b/gcc/config/i386/x86-tune-costs.h
>> @@ -2253,7 +2253,7 @@ struct processor_costs core_cost = {
>>     COSTS_N_INSNS (4),                  /*                               DI 
>> */
>>     COSTS_N_INSNS (4)},                 /*                            other 
>> */
>>    0,                                   /* cost of multiply per each bit set 
>> */
>> -  {COSTS_N_INSNS (8),                  /* cost of a divide/mod for QI */
>> +  {COSTS_N_INSNS (18),                 /* cost of a divide/mod for QI */
>>     COSTS_N_INSNS (8),                  /*                          HI */
>>     /* 8-11 */
>>     COSTS_N_INSNS (11),                 /*                          SI */
>>
>> The original PR was to make better code generation when dividing and modulo 
>> small integers.
>>
>> Ok, maybe I missed something. I'll get back to PR and see if any other 
>> solution will be proposed
>> since for now I have nothing.
> 
> Please also note that this testcase is intended for generic cost
> model, and you are testing --with-cpu=corei7. The testcase can be
> "fixed" by adding "-mtune=generic", but please investigate the tuning
> change anyway.
So I ack'd a change from Markus last night to bump the costs for the
div/mod insns on core2 and a couple other micro-architectures.  They
weren't as a big a bump as Sebastian's change.

I've also committed Sebastian's change to use generic tuning on the test.

jeff

Reply via email to