Re: [PATCH] Missing Skylake -march=/-mtune= option

2015-08-23 Thread Markus Trippelsdorf
On 2015.08.20 at 17:49 +0200, Markus Trippelsdorf wrote:
> On 2015.08.13 at 12:31 +0300, Yuri Rumyantsev wrote:
> > Hi All,
> > 
> > Here is patch for adding march/mtune options for Skylake.
> 
> http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/desktop-6th-gen-core-family-spec-update.pdf
>  
> 
> states that BMI1 and BMI2 are not supported. Is this true for all
> Skylake CPUs?

According to https://software.intel.com/en-us/forums/topic/584240
this only affects Skylake Pentium/Celeron processors, that incorrectly
report that BMI is present. 
So this is not an issue in general.

-- 
Markus


Re: [PATCH] Missing Skylake -march=/-mtune= option

2015-08-20 Thread Markus Trippelsdorf
On 2015.08.13 at 12:31 +0300, Yuri Rumyantsev wrote:
> Hi All,
> 
> Here is patch for adding march/mtune options for Skylake.

http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/desktop-6th-gen-core-family-spec-update.pdf
 

states that BMI1 and BMI2 are not supported. Is this true for all
Skylake CPUs?

Quote from the pdf:

SKD002 CPUID Incorrectly Reports Bit Manipulation Instructions Support

Executing CPUID with EAX = 7 and ECX = 0 may return EBX with bits [3]
and [8] set, incorrectly indicating the presence of BMI1 and BMI2
instruction set extensions.
Attempting to use instructions from the BMI1 or BMI2 instruction set
extensions will result in a #UD exception.

-- 
Markus


Re: [PATCH] Missing Skylake -march=/-mtune= option

2015-08-19 Thread Richard Biener
On Wed, Aug 19, 2015 at 12:47 PM, Uros Bizjak  wrote:
> On Wed, Aug 19, 2015 at 12:39 PM, Richard Biener
>  wrote:
>> On Thu, Aug 13, 2015 at 9:57 PM, Uros Bizjak  wrote:
>>> On Thu, Aug 13, 2015 at 11:31 AM, Yuri Rumyantsev  
>>> wrote:
 Hi All,

 Here is patch for adding march/mtune options for Skylake.

 Bootstrap and regression testing did not show any new failures.

 Is it OK for trunk?
>>>
>>> OK.
>>
>> I think this causes
>>
>> FAIL: g++.dg/ext/mv16.C  -std=gnu++98 execution test
>> FAIL: g++.dg/ext/mv16.C  -std=gnu++11 execution test
>> FAIL: g++.dg/ext/mv16.C  -std=gnu++14 execution test
>>
>> for me.  Possibly __builtin_cpu_is is not working for skylake?
>
> No, a relevant entry has to be added to the testcase. But a real
> skylake is needed to test the patch.

Hmm, so it doesn't fall back to 'default' for skylake?  Anyway, I'll
ignore the execute fail then for now until you sort it out in the testcase.

Richard.

> Uros.


Re: [PATCH] Missing Skylake -march=/-mtune= option

2015-08-19 Thread Uros Bizjak
On Wed, Aug 19, 2015 at 12:39 PM, Richard Biener
 wrote:
> On Thu, Aug 13, 2015 at 9:57 PM, Uros Bizjak  wrote:
>> On Thu, Aug 13, 2015 at 11:31 AM, Yuri Rumyantsev  wrote:
>>> Hi All,
>>>
>>> Here is patch for adding march/mtune options for Skylake.
>>>
>>> Bootstrap and regression testing did not show any new failures.
>>>
>>> Is it OK for trunk?
>>
>> OK.
>
> I think this causes
>
> FAIL: g++.dg/ext/mv16.C  -std=gnu++98 execution test
> FAIL: g++.dg/ext/mv16.C  -std=gnu++11 execution test
> FAIL: g++.dg/ext/mv16.C  -std=gnu++14 execution test
>
> for me.  Possibly __builtin_cpu_is is not working for skylake?

No, a relevant entry has to be added to the testcase. But a real
skylake is needed to test the patch.

Uros.


Re: [PATCH] Missing Skylake -march=/-mtune= option

2015-08-19 Thread Richard Biener
On Thu, Aug 13, 2015 at 9:57 PM, Uros Bizjak  wrote:
> On Thu, Aug 13, 2015 at 11:31 AM, Yuri Rumyantsev  wrote:
>> Hi All,
>>
>> Here is patch for adding march/mtune options for Skylake.
>>
>> Bootstrap and regression testing did not show any new failures.
>>
>> Is it OK for trunk?
>
> OK.

I think this causes

FAIL: g++.dg/ext/mv16.C  -std=gnu++98 execution test
FAIL: g++.dg/ext/mv16.C  -std=gnu++11 execution test
FAIL: g++.dg/ext/mv16.C  -std=gnu++14 execution test

for me.  Possibly __builtin_cpu_is is not working for skylake?

Richarad.

> Thanks,
> Uros.
>
>> ChangeLog:
>> 2015-08-13  Yuri Rumyantsev  
>>
>> * config/i386/driver-i386.c (host_detect_local_cpu): Add support
>> for skylake.
>> * config/i386/i386.c (PTA_SKYLAKE): New macros.
>> (processor_alias_table): Add skylake description.
>> (enum processor_model): Add skylake processor.
>> (arch_names_table): Add skylake record.
>> * doc/invoke.texi: Add skylake item.
>>
>> gcc/testsuite/ChangeLog:
>> * gcc.target/i386/builtin_target.c: Add skylake check.
>>
>> libgcc/ChangeLog:
>> * config/i386/cpuinfo.c (enum processor_subtypes): Add skylake.
>> (get_intel_cpu): Likewise.


Re: [PATCH] Missing Skylake -march=/-mtune= option

2015-08-13 Thread Uros Bizjak
On Thu, Aug 13, 2015 at 11:31 AM, Yuri Rumyantsev  wrote:
> Hi All,
>
> Here is patch for adding march/mtune options for Skylake.
>
> Bootstrap and regression testing did not show any new failures.
>
> Is it OK for trunk?

OK.

Thanks,
Uros.

> ChangeLog:
> 2015-08-13  Yuri Rumyantsev  
>
> * config/i386/driver-i386.c (host_detect_local_cpu): Add support
> for skylake.
> * config/i386/i386.c (PTA_SKYLAKE): New macros.
> (processor_alias_table): Add skylake description.
> (enum processor_model): Add skylake processor.
> (arch_names_table): Add skylake record.
> * doc/invoke.texi: Add skylake item.
>
> gcc/testsuite/ChangeLog:
> * gcc.target/i386/builtin_target.c: Add skylake check.
>
> libgcc/ChangeLog:
> * config/i386/cpuinfo.c (enum processor_subtypes): Add skylake.
> (get_intel_cpu): Likewise.


[PATCH] Missing Skylake -march=/-mtune= option

2015-08-13 Thread Yuri Rumyantsev
Hi All,

Here is patch for adding march/mtune options for Skylake.

Bootstrap and regression testing did not show any new failures.

Is it OK for trunk?

ChangeLog:
2015-08-13  Yuri Rumyantsev  

* config/i386/driver-i386.c (host_detect_local_cpu): Add support
for skylake.
* config/i386/i386.c (PTA_SKYLAKE): New macros.
(processor_alias_table): Add skylake description.
(enum processor_model): Add skylake processor.
(arch_names_table): Add skylake record.
* doc/invoke.texi: Add skylake item.

gcc/testsuite/ChangeLog:
* gcc.target/i386/builtin_target.c: Add skylake check.

libgcc/ChangeLog:
* config/i386/cpuinfo.c (enum processor_subtypes): Add skylake.
(get_intel_cpu): Likewise.


skl.patch.1
Description: Binary data