Message ID | CAFULd4aOjGpGSKWQwddkU_jvxYz+qROEaF5hMQDoj_Ge2aR0jQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
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.
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. >
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. >> >
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. >>> >> >
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.
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. >
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.
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. >
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. >>> >> >
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. >>>> >>> >> >
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.
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. >
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.
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. >
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.
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. >
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.
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. >
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. >> >
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?