Re: [PATCH] Intrinsics for ADCX

2012-08-15 Thread Kirill Yukhin
Hi, There's white paper [1] available, which explains usage of MULX/ADCX/ADOX [1] - http://download.intel.com/embedded/processor/whitepaper/327831.pdf Thanks, K

Re: [PATCH] Intrinsics for ADCX

2012-08-09 Thread Michael Zolotukhin
Thanks! On 9 August 2012 18:36, Kirill Yukhin wrote: >> >> Ok. > > Checked in: > http://gcc.gnu.org/ml/gcc-cvs/2012-08/msg00231.html > > Thanks, K -- --- Best regards, Michael V. Zolotukhin, Software Engineer Intel Corporation.

Re: [PATCH] Intrinsics for ADCX

2012-08-09 Thread Kirill Yukhin
> > Ok. Checked in: http://gcc.gnu.org/ml/gcc-cvs/2012-08/msg00231.html Thanks, K

Re: [PATCH] Intrinsics for ADCX

2012-08-09 Thread Richard Henderson
On 08/09/2012 05:21 AM, Michael Zolotukhin wrote: > Changelog entry: > 2012-08-09 Michael Zolotukhin > > * config/i386/adxintrin.h: Remove guarding __ADX__ check. > * config/i386/x86intrin.h: Likewise. > * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove >

Re: [PATCH] Intrinsics for ADCX

2012-08-09 Thread Michael Zolotukhin
Hi guys, This patch generalizes recently commited addcarryx-intrinsic so that it could be generated either via ADCX or common ADC instruction. ADX-* tests are ok, bootstrap is passed. Is it ok for trunk? Changelog entry: 2012-08-09 Michael Zolotukhin * config/i386/adxintrin.h: Remove g

Re: [PATCH] Intrinsics for ADCX

2012-08-08 Thread Kirill Yukhin
> Here is the patch with some obvious fixes. If there are no objections, > could anyone please check it in? Done: http://gcc.gnu.org/ml/gcc-cvs/2012-08/msg00203.html Thanks, K

Re: [PATCH] Intrinsics for ADCX

2012-08-07 Thread Michael Zolotukhin
Hi, Here is the patch with some obvious fixes. If there are no objections, could anyone please check it in? Changelog entry: 2012-08-08 Michael Zolotukhin * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New. (OPTION_MASK_ISA_ADX_UNSET): Likewise. (ix86_handl

Re: [PATCH] Intrinsics for ADCX

2012-08-03 Thread Michael Zolotukhin
Thanks! On 3 August 2012 17:51, Uros Bizjak wrote: > On Fri, Aug 3, 2012 at 3:24 PM, Michael Zolotukhin > wrote: >> Hi, >> I made a new version of the patch, where I tried to take into account >> Uros' remarks - is it ok for trunk? >> >> Bootstrap and new tests are passing, testing is in progres

Re: [PATCH] Intrinsics for ADCX

2012-08-03 Thread Uros Bizjak
On Fri, Aug 3, 2012 at 3:24 PM, Michael Zolotukhin wrote: > Hi, > I made a new version of the patch, where I tried to take into account > Uros' remarks - is it ok for trunk? > > Bootstrap and new tests are passing, testing is in progress. > > Changelog entry: > 2012-08-03 Michael Zolotukhin > >

Re: [PATCH] Intrinsics for ADCX

2012-08-03 Thread Michael Zolotukhin
Hi, I made a new version of the patch, where I tried to take into account Uros' remarks - is it ok for trunk? Bootstrap and new tests are passing, testing is in progress. Changelog entry: 2012-08-03 Michael Zolotukhin * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.

Re: [PATCH] Intrinsics for ADCX

2012-08-01 Thread Kirill Yukhin
Hi Richard, > Frankly I don't understand the point of these instructions > being added to the ISA at all. I would have understood an > add-with-carry that did *not* modify the flags at all, but > two separate ones that modify C and O separately is just > downright strange. If there is only one ca

Re: [PATCH] Intrinsics for ADCX

2012-07-31 Thread Richard Henderson
On 2012-07-31 04:33, Michael Zolotukhin wrote: > Here is a third part of patch, refactored by Kirill. This one adds > _addcarryx_u[32|64] intrinsics. Frankly I don't understand the point of these instructions being added to the ISA at all. I would have understood an add-with-carry that did *not*

Re: [PATCH] Intrinsics for ADCX

2012-07-31 Thread Uros Bizjak
On Tue, Jul 31, 2012 at 1:33 PM, Michael Zolotukhin wrote: > Hi guys, > Here is a third part of patch, refactored by Kirill. This one adds > _addcarryx_u[32|64] intrinsics. > > Is it ok? > > Changelog entry: > 2012-07-31 Michael Zolotukhin > > * common/config/i386/i386-common.c (OPTION_M

[PATCH] Intrinsics for ADCX

2012-07-31 Thread Michael Zolotukhin
Hi guys, Here is a third part of patch, refactored by Kirill. This one adds _addcarryx_u[32|64] intrinsics. Is it ok? Changelog entry: 2012-07-31 Michael Zolotukhin * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New. (OPTION_MASK_ISA_ADX_UNSET): Likewise.

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-24 Thread Kirill Yukhin
> Can you please split the patch to three independent parts, prefetchw > handling, rdseed and adxx. I got lost in the patch the second time. Sure! > I propose we start with prefetch. You are still changing prefetch > patterns, while it should be enough to only change prefetch expander. Actually, t

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-24 Thread Uros Bizjak
On Tue, Jul 24, 2012 at 2:09 PM, Kirill Yukhin wrote: > Uros, Jakub, thanks fr the inputs! > > I've refactored the patch appliying (hopefully) all of your inputs. > > It is attached. Can you please split the patch to three independent parts, prefetchw handling, rdseed and adxx. I got lost in the

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Uros Bizjak
On Thu, Jul 19, 2012 at 11:51 AM, Jakub Jelinek wrote: > I think it is fine to change existing mm3dnow.h header, but not in the way > it has been changed in the patch. The thing is that unlike the newly added > intrinsics headers, mm3dnow.h is still publicly includable header, and just > includi

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Uros Bizjak
On Thu, Jul 19, 2012 at 11:51 AM, Jakub Jelinek wrote: >> >> You have a mnemonic clash here. prefetchw is not good name for a new >> >> instruction, it clashes with existing 3dnow name. Intel will need to >> >> fix the spec, you probably won't be able to change prefetchw encoding >> >> in binutil

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Jakub Jelinek
On Thu, Jul 19, 2012 at 11:23:09AM +0200, Uros Bizjak wrote: > >> You have a mnemonic clash here. prefetchw is not good name for a new > >> instruction, it clashes with existing 3dnow name. Intel will need to > >> fix the spec, you probably won't be able to change prefetchw encoding > >> in binutil

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Kirill Yukhin
> - else > -return "prefetchw\t%a0"; > -} > + "prefetch\t%a0" > > You have a mnemonic clash here. prefetchw is not good name for a new > instruction, it clashes with existing 3dnow name. Intel will need to > fix the spec, you probably won't be able to change prefetchw encoding > in binutils.

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Uros Bizjak
On Thu, Jul 19, 2012 at 11:10 AM, Jakub Jelinek wrote: > On Thu, Jul 19, 2012 at 11:03:25AM +0200, Uros Bizjak wrote: >> + /* Set CF to specified value. */ >> + emit_insn (gen_addqi3_cc( >> + gen_reg_rtx(QImode), >> + op1, >> + constm1_rtx)); >>

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Jakub Jelinek
On Thu, Jul 19, 2012 at 11:03:25AM +0200, Uros Bizjak wrote: > + /* Set CF to specified value. */ > + emit_insn (gen_addqi3_cc( > + gen_reg_rtx(QImode), > + op1, > + constm1_rtx)); > + > > This should be in the *.md expander. Note also that the

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-19 Thread Uros Bizjak
Hello! > This patch adds new intrinsics for new ADCX, ADOX, RDSEED and > PREFETCHW instructions, introduced here: > http://software.intel.com/en-us/avx/ +/* Copyright (C) 2012 Free Software Foundation, Inc. + Contributed by Michael Zolotukhin. Please remove "Contributed by" lines from headers.

[PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW

2012-07-18 Thread Michael Zolotukhin
Hi, This patch adds new intrinsics for new ADCX, ADOX, RDSEED and PREFETCHW instructions, introduced here: http://software.intel.com/en-us/avx/ Bootstrapped on x86-64, testing is in progress. Is it ok for trunk? Changelog entry: 2012-07-17 Michael Zolotukhin * common/config/i386/i386