Patchwork [testsuite,i386] AVX2 support for GCC

login
register
mail settings
Submitter Uros Bizjak
Date Aug. 10, 2011, 7:39 p.m.
Message ID <CAFULd4aOjGpGSKWQwddkU_jvxYz+qROEaF5hMQDoj_Ge2aR0jQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/109434/
State New
Headers show

Comments

Uros Bizjak - Aug. 10, 2011, 7:39 p.m.
On Tue, Aug 9, 2011 at 2:42 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:

> Here is second stage patch.
> It introduces AVX2 option, define etc.
>
> ChangeLog entry:
>
> 2011-08-09  Kirill Yukhin  <kirill.yukhin@intel.com>
>
>        * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
>        (OPTION_MASK_ISA_FMA_UNSET): Update.

Where?

>        (OPTION_MASK_ISA_AVX2_UNSET): New.
>        (ix86_handle_option): Handle OPT_mavx2 case.
>        * config/i386/cpuid.h (bit_AVX2): New.
>        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
>        AVX2 feature.
>        * config/i386/i386-c.c (ix86_target_macros_internal): Define
>        __AVX2_ if needed.

Conditionally define __AVX2__.

>        * config/i386/i386.c (ix86_option_override_internal): Handle
>        AVX2 option, define new processor alias - "core-avx2".

Define PTA_AVX2.  Define "core-avx2" processor alias.  Handle avx2 option.

>        (ix86_valid_target_attribute_inner_p): Likewise.

Handle avx2 option.

>        * config/i386/i386.h (TARGET_AVX2): New.
>        * config/i386/i386.opt (mavx2): New.
>        * doc/invoke.texi: Document -mavx2.


OK with the change above.

Thanks,
Uros.
Uros Bizjak - Aug. 10, 2011, 7:41 p.m.
On Wed, Aug 10, 2011 at 9:39 PM, Uros Bizjak <ubizjak@gmail.com> wrote:

> diff --git a/gcc/common/config/i386/i386-common.c
> b/gcc/common/config/i386/i386-common.c
> index 1fd33bd..1e0ca5e 100644
> --- a/gcc/common/config/i386/i386-common.c
> +++ b/gcc/common/config/i386/i386-common.c
> @@ -52,6 +52,8 @@ along with GCC; see the file COPYING3.  If not see
>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_SSE4_2_SET)
>  #define OPTION_MASK_ISA_FMA_SET \
>   (OPTION_MASK_ISA_FMA | OPTION_MASK_ISA_AVX_SET)
> +#define OPTION_MASK_ISA_AVX2_SET \
> +  (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX_SET)
>
>  /* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
>    as -msse4.2.  */
> @@ -114,8 +116,10 @@ along with GCC; see the file COPYING3.  If not see
>   (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_AVX_UNSET )
>  #define OPTION_MASK_ISA_AVX_UNSET \
>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_FMA_UNSET \
> -   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET)
> +   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET \
> +   | OPTION_MASK_ISA_AVX)
>
> OPTION_MASK_ISA_AVX2

Hrm, OPTION_MASK_ISA_AVX2_UNSET.

Uros.
Kirill Yukhin - Aug. 11, 2011, 9:16 a.m.
Hi Uros,
Thanks for patience reviewing my English :) and for finding a bug in souces.

Updated patch is attached. It was bootstrapped successfully.

updated ChangeLog entry:

2011-08-11  Kirill Yukhin  <kirill.yukhin@intel.com>

	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
	(OPTION_MASK_ISA_AVX_UNSET): Update.
	(OPTION_MASK_ISA_AVX2_UNSET): New.
	(ix86_handle_option): Handle OPT_mavx2 case.
	* config/i386/cpuid.h (bit_AVX2): New.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
	AVX2 feature.
	* config/i386/i386-c.c (ix86_target_macros_internal):
	Conditionally define __AVX2__.
	* config/i386/i386.c (ix86_option_override_internal): Define
	PTA_AVX2.  Define "core-avx2" processor alias.  Handle avx2
	option.
	(ix86_valid_target_attribute_inner_p): Handle avx2 option.
	* config/i386/i386.h (TARGET_AVX2): New.
	* config/i386/i386.opt (mavx2): New.
	* doc/invoke.texi: Document -mavx2.


Seems, from now on we have to wait for int64 patch to be approved and
comitted to trunk..

--
Thanks, K

On Wed, Aug 10, 2011 at 11:41 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Wed, Aug 10, 2011 at 9:39 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>
>> diff --git a/gcc/common/config/i386/i386-common.c
>> b/gcc/common/config/i386/i386-common.c
>> index 1fd33bd..1e0ca5e 100644
>> --- a/gcc/common/config/i386/i386-common.c
>> +++ b/gcc/common/config/i386/i386-common.c
>> @@ -52,6 +52,8 @@ along with GCC; see the file COPYING3.  If not see
>>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_SSE4_2_SET)
>>  #define OPTION_MASK_ISA_FMA_SET \
>>   (OPTION_MASK_ISA_FMA | OPTION_MASK_ISA_AVX_SET)
>> +#define OPTION_MASK_ISA_AVX2_SET \
>> +  (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX_SET)
>>
>>  /* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
>>    as -msse4.2.  */
>> @@ -114,8 +116,10 @@ along with GCC; see the file COPYING3.  If not see
>>   (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_AVX_UNSET )
>>  #define OPTION_MASK_ISA_AVX_UNSET \
>>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_FMA_UNSET \
>> -   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET)
>> +   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET \
>> +   | OPTION_MASK_ISA_AVX)
>>
>> OPTION_MASK_ISA_AVX2
>
> Hrm, OPTION_MASK_ISA_AVX2_UNSET.
>
> Uros.
>
Kirill Yukhin - Aug. 19, 2011, 8:59 a.m.
It was checked in by HJ
http://gcc.gnu.org/viewcvs?view=revision&revision=177876

I am testing next patch.

Thanks, K


On Thu, Aug 11, 2011 at 1:16 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hi Uros,
> Thanks for patience reviewing my English :) and for finding a bug in souces.
>
> Updated patch is attached. It was bootstrapped successfully.
>
> updated ChangeLog entry:
>
> 2011-08-11  Kirill Yukhin  <kirill.yukhin@intel.com>
>
>        * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
>        (OPTION_MASK_ISA_AVX_UNSET): Update.
>        (OPTION_MASK_ISA_AVX2_UNSET): New.
>        (ix86_handle_option): Handle OPT_mavx2 case.
>        * config/i386/cpuid.h (bit_AVX2): New.
>        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
>        AVX2 feature.
>        * config/i386/i386-c.c (ix86_target_macros_internal):
>        Conditionally define __AVX2__.
>        * config/i386/i386.c (ix86_option_override_internal): Define
>        PTA_AVX2.  Define "core-avx2" processor alias.  Handle avx2
>        option.
>        (ix86_valid_target_attribute_inner_p): Handle avx2 option.
>        * config/i386/i386.h (TARGET_AVX2): New.
>        * config/i386/i386.opt (mavx2): New.
>        * doc/invoke.texi: Document -mavx2.
>
>
> Seems, from now on we have to wait for int64 patch to be approved and
> comitted to trunk..
>
> --
> Thanks, K
>
> On Wed, Aug 10, 2011 at 11:41 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>> On Wed, Aug 10, 2011 at 9:39 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>
>>> diff --git a/gcc/common/config/i386/i386-common.c
>>> b/gcc/common/config/i386/i386-common.c
>>> index 1fd33bd..1e0ca5e 100644
>>> --- a/gcc/common/config/i386/i386-common.c
>>> +++ b/gcc/common/config/i386/i386-common.c
>>> @@ -52,6 +52,8 @@ along with GCC; see the file COPYING3.  If not see
>>>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_SSE4_2_SET)
>>>  #define OPTION_MASK_ISA_FMA_SET \
>>>   (OPTION_MASK_ISA_FMA | OPTION_MASK_ISA_AVX_SET)
>>> +#define OPTION_MASK_ISA_AVX2_SET \
>>> +  (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX_SET)
>>>
>>>  /* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
>>>    as -msse4.2.  */
>>> @@ -114,8 +116,10 @@ along with GCC; see the file COPYING3.  If not see
>>>   (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_AVX_UNSET )
>>>  #define OPTION_MASK_ISA_AVX_UNSET \
>>>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_FMA_UNSET \
>>> -   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET)
>>> +   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET \
>>> +   | OPTION_MASK_ISA_AVX)
>>>
>>> OPTION_MASK_ISA_AVX2
>>
>> Hrm, OPTION_MASK_ISA_AVX2_UNSET.
>>
>> Uros.
>>
>
Kirill Yukhin - Aug. 19, 2011, 12:30 p.m.
Hi,
Here is next patch, which adds support of code generation and intrinsics.
Patch and ChangeLog are attached.

Bootstrap and make check are passed

Is it ok for trunk?

Thanks, K

On Fri, Aug 19, 2011 at 12:59 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> It was checked in by HJ
> http://gcc.gnu.org/viewcvs?view=revision&revision=177876
>
> I am testing next patch.
>
> Thanks, K
>
>
> On Thu, Aug 11, 2011 at 1:16 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>> Hi Uros,
>> Thanks for patience reviewing my English :) and for finding a bug in souces.
>>
>> Updated patch is attached. It was bootstrapped successfully.
>>
>> updated ChangeLog entry:
>>
>> 2011-08-11  Kirill Yukhin  <kirill.yukhin@intel.com>
>>
>>        * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
>>        (OPTION_MASK_ISA_AVX_UNSET): Update.
>>        (OPTION_MASK_ISA_AVX2_UNSET): New.
>>        (ix86_handle_option): Handle OPT_mavx2 case.
>>        * config/i386/cpuid.h (bit_AVX2): New.
>>        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
>>        AVX2 feature.
>>        * config/i386/i386-c.c (ix86_target_macros_internal):
>>        Conditionally define __AVX2__.
>>        * config/i386/i386.c (ix86_option_override_internal): Define
>>        PTA_AVX2.  Define "core-avx2" processor alias.  Handle avx2
>>        option.
>>        (ix86_valid_target_attribute_inner_p): Handle avx2 option.
>>        * config/i386/i386.h (TARGET_AVX2): New.
>>        * config/i386/i386.opt (mavx2): New.
>>        * doc/invoke.texi: Document -mavx2.
>>
>>
>> Seems, from now on we have to wait for int64 patch to be approved and
>> comitted to trunk..
>>
>> --
>> Thanks, K
>>
>> On Wed, Aug 10, 2011 at 11:41 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>> On Wed, Aug 10, 2011 at 9:39 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>>
>>>> diff --git a/gcc/common/config/i386/i386-common.c
>>>> b/gcc/common/config/i386/i386-common.c
>>>> index 1fd33bd..1e0ca5e 100644
>>>> --- a/gcc/common/config/i386/i386-common.c
>>>> +++ b/gcc/common/config/i386/i386-common.c
>>>> @@ -52,6 +52,8 @@ along with GCC; see the file COPYING3.  If not see
>>>>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_SSE4_2_SET)
>>>>  #define OPTION_MASK_ISA_FMA_SET \
>>>>   (OPTION_MASK_ISA_FMA | OPTION_MASK_ISA_AVX_SET)
>>>> +#define OPTION_MASK_ISA_AVX2_SET \
>>>> +  (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX_SET)
>>>>
>>>>  /* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
>>>>    as -msse4.2.  */
>>>> @@ -114,8 +116,10 @@ along with GCC; see the file COPYING3.  If not see
>>>>   (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_AVX_UNSET )
>>>>  #define OPTION_MASK_ISA_AVX_UNSET \
>>>>   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_FMA_UNSET \
>>>> -   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET)
>>>> +   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET \
>>>> +   | OPTION_MASK_ISA_AVX)
>>>>
>>>> OPTION_MASK_ISA_AVX2
>>>
>>> Hrm, OPTION_MASK_ISA_AVX2_UNSET.
>>>
>>> Uros.
>>>
>>
>
Uros Bizjak - Aug. 19, 2011, 7:42 p.m.
On Fri, Aug 19, 2011 at 2:30 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:

> Here is next patch, which adds support of code generation and intrinsics.
> Patch and ChangeLog are attached.
>
> Bootstrap and make check are passed
>
> Is it ok for trunk?

The patch looks good to me. If there are any other macroization
opportunities, we will find them later.

Before committing the patch, please fix whitespace, i.e. 8 spaces to
tab. You are using these inconsistently.

OK with these changes.

Thanks,
Uros.
Kirill Yukhin - Aug. 22, 2011, 1:18 p.m.
Hi,
thanks for input, Uros. Spaces were fixed.

Updated patch is attached. ChangeLog entry is attached.

Could anybody please commit it?

Thanks, K

On Fri, Aug 19, 2011 at 11:42 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Fri, Aug 19, 2011 at 2:30 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>
>> Here is next patch, which adds support of code generation and intrinsics.
>> Patch and ChangeLog are attached.
>>
>> Bootstrap and make check are passed
>>
>> Is it ok for trunk?
>
> The patch looks good to me. If there are any other macroization
> opportunities, we will find them later.
>
> Before committing the patch, please fix whitespace, i.e. 8 spaces to
> tab. You are using these inconsistently.
>
> OK with these changes.
>
> Thanks,
> Uros.
>
H.J. Lu - Aug. 22, 2011, 1:57 p.m.
On Mon, Aug 22, 2011 at 6:18 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hi,
> thanks for input, Uros. Spaces were fixed.
>
> Updated patch is attached. ChangeLog entry is attached.
>
> Could anybody please commit it?
>

I checked in for you.
Kirill Yukhin - Aug. 22, 2011, 1:59 p.m.
Thanks!

K

On Mon, Aug 22, 2011 at 5:57 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Aug 22, 2011 at 6:18 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>> Hi,
>> thanks for input, Uros. Spaces were fixed.
>>
>> Updated patch is attached. ChangeLog entry is attached.
>>
>> Could anybody please commit it?
>>
>
> I checked in for you.
>
>
> --
> H.J.
>
Kirill Yukhin - Aug. 23, 2011, 10:54 a.m.
Hi,
 Here is last patch to add initial support of AVX2 in GCC.
 It contains bunch of tests for built-ins.
 All tests pass under simulator and ignored when AVX2 is out.

 patch and testsuite/ChangeLog entry are attached,

 Is it OK?

 Thanks, K

> On Mon, Aug 22, 2011 at 5:59 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>> Thanks!
>>
>> K
>>
>> On Mon, Aug 22, 2011 at 5:57 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> On Mon, Aug 22, 2011 at 6:18 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>>>> Hi,
>>>> thanks for input, Uros. Spaces were fixed.
>>>>
>>>> Updated patch is attached. ChangeLog entry is attached.
>>>>
>>>> Could anybody please commit it?
>>>>
>>>
>>> I checked in for you.
>>>
>>>
>>> --
>>> H.J.
>>>
>>
>
Kirill Yukhin - Aug. 23, 2011, 11:22 a.m.
Sorry, lost body for previous message:

Here is last patch to add initial support of AVX2 in GCC.
It contains bunch of tests for built-ins.
All tests pass under simulator and ignored when AVX2 is out.

patch and testsuite/ChangeLog entry are attached,

Is it OK

Thanks, K

On Tue, Aug 23, 2011 at 2:54 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>  Hi,
>  Here is last patch to add initial support of AVX2 in GCC.
>  It contains bunch of tests for built-ins.
>  All tests pass under simulator and ignored when AVX2 is out.
>
>  patch and testsuite/ChangeLog entry are attached,
>
>  Is it OK?
>
>  Thanks, K
>
>> On Mon, Aug 22, 2011 at 5:59 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>>> Thanks!
>>>
>>> K
>>>
>>> On Mon, Aug 22, 2011 at 5:57 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>> On Mon, Aug 22, 2011 at 6:18 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>>>>> Hi,
>>>>> thanks for input, Uros. Spaces were fixed.
>>>>>
>>>>> Updated patch is attached. ChangeLog entry is attached.
>>>>>
>>>>> Could anybody please commit it?
>>>>>
>>>>
>>>> I checked in for you.
>>>>
>>>>
>>>> --
>>>> H.J.
>>>>
>>>
>>
>
Uros Bizjak - Aug. 23, 2011, 11:33 a.m.
On Tue, Aug 23, 2011 at 1:22 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:

> Here is last patch to add initial support of AVX2 in GCC.
> It contains bunch of tests for built-ins.
> All tests pass under simulator and ignored when AVX2 is out.
>
> patch and testsuite/ChangeLog entry are attached,
>
> Is it OK

Please do not change existing vect-104 and avoid -O0 in the testsuite
unless really necessary.

You should also add -mavx2 to gcc.target/i386/sse-{13,14,22,23} to
check AVX2 intrinsics.

Uros.
Kirill Yukhin - Aug. 23, 2011, 4:03 p.m.
Hi,
thanks for inputs! I've applied all.

Also I fixed I a bug (which produced ICE).

ChangeLog entry:
2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>

        * config/i386/sse.md (<s>mul<mode>3_highpart): Update.

Patch and testsuite/ChangeLog entry are attached.

Is it OK?

--
Thanks, K


On Tue, Aug 23, 2011 at 3:33 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 1:22 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>
>> Here is last patch to add initial support of AVX2 in GCC.
>> It contains bunch of tests for built-ins.
>> All tests pass under simulator and ignored when AVX2 is out.
>>
>> patch and testsuite/ChangeLog entry are attached,
>>
>> Is it OK
>
> Please do not change existing vect-104 and avoid -O0 in the testsuite
> unless really necessary.
>
> You should also add -mavx2 to gcc.target/i386/sse-{13,14,22,23} to
> check AVX2 intrinsics.
>
> Uros.
>
Uros Bizjak - Aug. 23, 2011, 4:16 p.m.
On Tue, Aug 23, 2011 at 6:03 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:

> thanks for inputs! I've applied all.
>
> Also I fixed I a bug (which produced ICE).
>
> ChangeLog entry:
> 2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>
>
>        * config/i386/sse.md (<s>mul<mode>3_highpart): Update.
>
> Patch and testsuite/ChangeLog entry are attached.
>
> Is it OK?

Please remove #define DEBUG from testcases, it is set dynamically
during with -DDEBUG in the testsuite run.
Also, pass new testcases through "indent" program.

OK with these changes.

Thanks,
Uros.
Kirill Yukhin - Aug. 23, 2011, 4:31 p.m.
Thanks, done.
Updated patch attached.

--
K

On Tue, Aug 23, 2011 at 8:16 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 6:03 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>
>> thanks for inputs! I've applied all.
>>
>> Also I fixed I a bug (which produced ICE).
>>
>> ChangeLog entry:
>> 2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>
>>
>>        * config/i386/sse.md (<s>mul<mode>3_highpart): Update.
>>
>> Patch and testsuite/ChangeLog entry are attached.
>>
>> Is it OK?
>
> Please remove #define DEBUG from testcases, it is set dynamically
> during with -DDEBUG in the testsuite run.
> Also, pass new testcases through "indent" program.
>
> OK with these changes.
>
> Thanks,
> Uros.
>
Uros Bizjak - Aug. 23, 2011, 4:54 p.m.
On Tue, Aug 23, 2011 at 6:31 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Thanks, done.
> Updated patch attached.

OK for mainline.

Thanks,
Uros.
Kirill Yukhin - Aug. 23, 2011, 4:55 p.m.
Thanks,

could anybody please commit that?


K

On Tue, Aug 23, 2011 at 8:54 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 6:31 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>> Thanks, done.
>> Updated patch attached.
>
> OK for mainline.
>
> Thanks,
> Uros.
>
H.J. Lu - Aug. 23, 2011, 5:06 p.m.
On Tue, Aug 23, 2011 at 9:55 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Thanks,
>
> could anybody please commit that?
>

Please regenerate AVX2 patch with the current trunk
since your change won't apply after BMI2 checkin.

Thanks.
Kirill Yukhin - Aug. 23, 2011, 7:04 p.m.
Pulled down. Updated patch attached.

--
Thanks, K

On Tue, Aug 23, 2011 at 9:06 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 9:55 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>> Thanks,
>>
>> could anybody please commit that?
>>
>
> Please regenerate AVX2 patch with the current trunk
> since your change won't apply after BMI2 checkin.
>
> Thanks.
>
>
> --
> H.J.
>
H.J. Lu - Aug. 23, 2011, 7:30 p.m.
On Tue, Aug 23, 2011 at 12:04 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Pulled down. Updated patch attached.

I checked it in.

Thanks.

> --
> Thanks, K
>
> On Tue, Aug 23, 2011 at 9:06 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Tue, Aug 23, 2011 at 9:55 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>>> Thanks,
>>>
>>> could anybody please commit that?
>>>
>>
>> Please regenerate AVX2 patch with the current trunk
>> since your change won't apply after BMI2 checkin.
>>
>> Thanks.
>>
>>
>> --
>> H.J.
>>
>

Patch

diff --git a/gcc/common/config/i386/i386-common.c
b/gcc/common/config/i386/i386-common.c
index 1fd33bd..1e0ca5e 100644
--- a/gcc/common/config/i386/i386-common.c
+++ b/gcc/common/config/i386/i386-common.c
@@ -52,6 +52,8 @@  along with GCC; see the file COPYING3.  If not see
   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_SSE4_2_SET)
 #define OPTION_MASK_ISA_FMA_SET \
   (OPTION_MASK_ISA_FMA | OPTION_MASK_ISA_AVX_SET)
+#define OPTION_MASK_ISA_AVX2_SET \
+  (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX_SET)

 /* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
    as -msse4.2.  */
@@ -114,8 +116,10 @@  along with GCC; see the file COPYING3.  If not see
   (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_AVX_UNSET )
 #define OPTION_MASK_ISA_AVX_UNSET \
   (OPTION_MASK_ISA_AVX | OPTION_MASK_ISA_FMA_UNSET \
-   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET)
+   | OPTION_MASK_ISA_FMA4_UNSET | OPTION_MASK_ISA_F16C_UNSET \
+   | OPTION_MASK_ISA_AVX)

OPTION_MASK_ISA_AVX2

> Is it OK for trunk, after int64 is comitted?