Re: trying out openacc 2.0

2014-12-16 Thread Tobias Burnus
Mark Farnell wrote:
> Has OpenACC 2.0 support been merged into the trunk yet?  If not, then
> is it contained in gomp-4_0-branch?
>
> If so, what parameters should I pass to ./configure to enable OpenACC
> 2.0, and relevant backends such as CUDA, MIC and other GPGPU/manycore
> architecture?
>
> Also, I have a feeling that OpenACC 2.0 did NOT make it to gcc 5.0, am
> I correct?  If I am correct, then will it be included in gcc 5.1?  If
> I am wrong and it is already included into gcc 5.0, then I would
> really really like to use it.
>
> In the latter case, will I be able to write OpenACC 2.0 / OpenMP 4.0
> code that runs on my nvidia GPU and/or Intel Xeon Phi?

Let's start from the end: OpenMP 4 support for Intel's Xeon Phi is in the
trunk and - in principle - working. The only problem is that only
Knights Landing (knl) is supported and not the old Knights Corner (knc);
given that Knights Landing is not yet available, you currently can only use
it with a simulator.

Regarding the question how to build GCC with accelerator support, see
https://gcc.gnu.org/wiki/Offloading - That page applies both to OpenACC
and OpenMP and to KNL and Nvidia's PTX. However, it is currently still a bit
KNL centric.

Regarding OpenACC: The support has not yet been merged, however, I think the
goal is still to get it included in GCC 5. The first bits - like PTX support -
have already been merged. I think the gomp-4_0-branch provides all what's
needed and it has been recently updated to match the trunk (last Sunday).
For building the branch and using OpenACC+PTX, again start with
https://gcc.gnu.org/wiki/Offloading

Tobias,
who has yet to try offloading himself


Re: no response to cfarm request

2014-12-16 Thread Jay Foad
Hi,

On 9 December 2014 at 09:16, Jay Foad  wrote:
> I've followed the instructions to request access to the GCC compile
> farm (https://gcc.gnu.org/wiki/CompileFarm#How_to_Get_Involved.3F) but
> heard nothing for two weeks, despite a ping. Are the instructions
> still correct? Is there anyone else I can contact about it?

I've pinged again and waited another week with no response. Is there
no-one else who can administer compile farm accounts?

Thanks,
Jay.


Re: Regular darwin builds

2014-12-16 Thread Iain Sandoe
Hi FX,

On 15 Dec 2014, at 21:11, FX wrote:

> Hi all,
> 
> I’ve set up daily builds and regtests on a darwin box. The results should 
> appear directly on gcc-testresults 
> (https://gcc.gnu.org/ml/gcc-testresults/current/).
> This should, in the future, help track down regressions affecting darwin 
> (PIC-related, in particular!)

Great!!

If you want me to build a bootstrap compiler including Ada - then let me know 
(I am sure that a darwin13 4.9 Ada compiler should be suitable for 
bootstrapping trunk on darwin14).  I can make the most-stripped-down possible 
(c,c++,ada) and upload it wherever we can find some common space.

> The hardware is new, the OS is the latest and greatest 
> (x86_64-apple-darwin14), and will be updated to keep it that way. However, 
> it’s not very powerful (it’s a Mac Mini). Bootstrap (C, C++, Obj-C, Obj-C++, 
> Fortran, Java, LTO) takes about 2 hours, regtesting both 32 and 64-bit takes 
> a bit over 3 hours.

My 1-year-old mac mini with 16G of RAM takes (on darwin13) ~ 74mins for all 
langs including Ada, so memory is possibly the determining factor (unless we 
have some slow-down with darwin14 :( ).

> I plan to schedule it for:
> 
>  - daily bootstrap + regtest of trunk
>  - weekly bootstrap of latest release branch (currently 4.9)
> 
> If you have other ideas, I’m open to suggestions.

I wonder if we can cook up an incremental build scheme, that tries to do every 
commit that doesn't touch config files.

Also, if/when I get some ns (hopefully over the holiday period things might 
calm down enough) I'll push my WIP branches and prototype GAS ports to github 
(and some of the patches to the list).  Dunno if you would consider it worth 
building the "vendor branch" for 4.9 once in a while.



One of my colleagues got his hands on two G5s and I made up some darwin9 boot 
disks for him - we might well try to resurrect a powerpc-darwin9 build-bot 
(shared between GCC and LLVM, since we have ports for both to test).

My machines are always running at capacity just testing patched branches, so 
not much use for this kind of stuff.

cheers and thanks for the work!
Iain



Re: no response to cfarm request

2014-12-16 Thread Stefan Ring
On Tue, Dec 16, 2014 at 10:13 AM, Jay Foad  wrote:
> I've pinged again and waited another week with no response. Is there
> no-one else who can administer compile farm accounts?

Maybe you should try the gcc-cfarm mailing list:
https://mail.gna.org/listinfo/gcc-cfarm-users

It seems very responsive.


bug in lra-constraints.c (simple_move_p register_move_cost)

2014-12-16 Thread BELBACHIR Selim
Hi,

I may have found a bug when I was trying to port my private backend to new LRA 
pass (using gcc 4.9.2+patches).

In lra-constraints.c, in function simple_move_p, the target hook 
targetm.register_move_cost is called with two badly swapped parameters :

targetm.register_move_cost (GET_MODE (src), sclass, dclass) 

should be :

targetm.register_move_cost (GET_MODE (src), dclass, sclass)


In my port of GCC it leads to an error when checking constrain_operands at the 
end of LRA pass

   Regards,

Selim Belbachir









Re: [RFC] GCC vector extension: binary operators vs. differing signedness

2014-12-16 Thread Ulrich Weigand
Richard Biener wrote:
> On Fri, Dec 12, 2014 at 1:08 PM, Ulrich Weigand  wrote:
> > Richard Biener wrote:
> >> On Thu, Dec 11, 2014 at 4:04 PM, Ulrich Weigand  
> >> wrote:
> >> > However, if we make that change, there will be some cases that regress: 
> >> > the
> >> > problem is that an expression "x + y" has *one* result type, and some 
> >> > things
> >> > you do with the result will require that type to match precisely 
> >> > (including
> >> > signedness).  So *any* change that affects what that result type is will
> >> > regress some code that happened to rely on the precise result type ...
> >>
> >> True, but IMHO that's still better.  You may want to check the openCL spec
> >> which we tried to follow losely as to what we allow.
> >>
> >> So again, implementing your A is ok with me.
> >
> > Well, the openCL spec says that operations between signed and unsigned
> > vectors are simply prohibited (both openCL 1.2 and openCL 2.0 agree on
> > this, and it matches the behavior of my old openCL compiler ...):
[snip]
> The question is what the fallout is if we reject this by default (I suppose
> we accept it with -flax-vector-conversions).  I'm ok with following
> OpenCL as well,
> that is either solution that makes behavior consistent between C and C++.

I agree that we should certainly continue to support mixed types with
-flax-vector-conversions.  (This means we really should fix the C/C++
inconsistency as to return type in any case, even if we disable mixed
type support by default.)

What the fallout of disabling mixed types by default would be is hard
to say.  On the one hand, all other standards I've looked at (OpenCL,
Altivec/VSX, Cell SPU) prohibit mixing signed/unsigned types.  So this
hopefully means users of the GCC extension don't use this feature (much).
[Of course, Altivec does not really talk about operators, but ideally
GCC's a + b should be equivalent to the Altivec vec_add (a, b), which
does not support mixing signed/unsigned types.]

On the other hand, I've noticed at least two related areas where disabling
mixed types could result in unexpected fallout: opaque types and platform
specific vector types (e.g. "vector bool" on Altivec).

Opaque types are a somewhat under-specified GCC feature that is used for
different purposes by various platforms and the middle-end itself:
- some platform-specific types (PPC SPE __ev64_opaque__ or MEP cp_vector)
- function parameters for overloaded builtins in C before resolution
- the output of vector comparison operators and vector truth_type_for

It should be possible to use an opaque type together with vectors of
different types, even with -flax-vector-conversions (and even if we
disable support for signed/unsigned mixed types); the result of an
operation on an opaque type and a non-opaque type should be the
non-opaque type; it's not quite clear to me how operations on two
different opaque types are (should be?) defined.

Platform-specific types like Altivec "vector bool" are not really known
to the middle-end; this particular case is treated just like a normal
unsigned integer vector type.  This means that as a side-effect of
disabling signed/unsigned mixed types, we would also disallow mixing
signed/bool types.  But at least for Altivec vec_add, the latter is
explicitly *allowed* (returning the signed type).  It would certainly
be preferable for + to be compatible to vec_add also for the bool types.
[ Note that the current implementation also does not fully match that
goal, because while signed + bool is allowed, the return value is
sometimes the bool type instead of the signed type.  ]

This can probably only be fully solved by making the middle-end aware
that things like "vector bool" need to be handled specially.  I had
thought that maybe the back-end simply needs to mark "vector bool"
as an opaque type (after all, the middle-end also uses this for
vector truth types), but that doesn't work as-is, since one of the
other features of opaque types is that they cannot be initialized.
(Altivec vector bool *can* be initialized.)  Maybe those two features
should be decoupled, so we can have opaque types used as truth types,
and those that cannot be initialized ...


So overall the list of actions probably looks like this:

1. Fix the selection of the common type to use for binary vector operations
   - C and C++ need to be consistent
   - If one type is opaque and the other isn't, use the non-opaque type
   - If one type is unsigned and the other is signed, use the unsigned type
   - What to do with different types where neither of the above rules apply?

2. Rework support for opaque and platform-specific vector types
   - Instead of the single "opaque" bit, have two flags:
 * Mark type as compatible with other types in assignment/operations
 * Mark type as "cannot be initialized"
   - Use initializable opaque types for Altivec "vector bool" (and others?)

3. Disable mixing signed/unsigned types in binary operations
   - This remains allowed if

Re: Regular darwin builds

2014-12-16 Thread Dominique d'Humières
Hi FX,

Thanks for doing that.

Looking at your results for gcc 5.0, I see a lot of gcc.dg/ubsan/* failures I 
don’t see in my tests. Any idea why?

Dominique

> Le 15 déc. 2014 à 22:11, FX  a écrit :
> 
> Hi all,
> 
> I’ve set up daily builds and regtests on a darwin box. The results should 
> appear directly on gcc-testresults 
> (https://gcc.gnu.org/ml/gcc-testresults/current/).
> This should, in the future, help track down regressions affecting darwin 
> (PIC-related, in particular!).
> 
> The hardware is new, the OS is the latest and greatest 
> (x86_64-apple-darwin14), and will be updated to keep it that way. However, 
> it’s not very powerful (it’s a Mac Mini). Bootstrap (C, C++, Obj-C, Obj-C++, 
> Fortran, Java, LTO) takes about 2 hours, regtesting both 32 and 64-bit takes 
> a bit over 3 hours.
> 
> I plan to schedule it for:
> 
>  - daily bootstrap + regtest of trunk
>  - weekly bootstrap of latest release branch (currently 4.9)
> 
> If you have other ideas, I’m open to suggestions.
> 
> FX



Re: Regular darwin builds

2014-12-16 Thread Iain Sandoe

On 16 Dec 2014, at 19:38, Dominique d'Humières wrote:

> Looking at your results for gcc 5.0, I see a lot of gcc.dg/ubsan/* failures I 
> don’t see in my tests. Any idea why?

I think that there will be ubsan fails until the library is installed (which 
implies that the testing is not setting the right DYLD_LIBRARY_PATH).

Iain


> 
>> Le 15 déc. 2014 à 22:11, FX  a écrit :
>> 
>> Hi all,
>> 
>> I’ve set up daily builds and regtests on a darwin box. The results should 
>> appear directly on gcc-testresults 
>> (https://gcc.gnu.org/ml/gcc-testresults/current/).
>> This should, in the future, help track down regressions affecting darwin 
>> (PIC-related, in particular!).
>> 
>> The hardware is new, the OS is the latest and greatest 
>> (x86_64-apple-darwin14), and will be updated to keep it that way. However, 
>> it’s not very powerful (it’s a Mac Mini). Bootstrap (C, C++, Obj-C, Obj-C++, 
>> Fortran, Java, LTO) takes about 2 hours, regtesting both 32 and 64-bit takes 
>> a bit over 3 hours.
>> 
>> I plan to schedule it for:
>> 
>> - daily bootstrap + regtest of trunk
>> - weekly bootstrap of latest release branch (currently 4.9)
>> 
>> If you have other ideas, I’m open to suggestions.
>> 
>> FX
> 



Re: trying out openacc 2.0

2014-12-16 Thread Mark Farnell
That's good news.  Does it mean that if I want to try out openACC with
KNL and PTX support, then all I need to do is to compile the
gomp-4_0-branch *without* any extra parameters into ./configure ?

Also, are other GPUs such as the AMD ATI and the built-in GPUs such as
the Intel GPU and AMD fusion supported?  If so, are they already
supported in the trunk, or only specific branch?

Finally, when will support of Knights Corner (knc) be added to the
trunk and/or one of the branches?

Thanks!

Mark


On Tue, Dec 16, 2014 at 9:22 PM, Tobias Burnus
 wrote:
> Mark Farnell wrote:
>> Has OpenACC 2.0 support been merged into the trunk yet?  If not, then
>> is it contained in gomp-4_0-branch?
>>
>> If so, what parameters should I pass to ./configure to enable OpenACC
>> 2.0, and relevant backends such as CUDA, MIC and other GPGPU/manycore
>> architecture?
>>
>> Also, I have a feeling that OpenACC 2.0 did NOT make it to gcc 5.0, am
>> I correct?  If I am correct, then will it be included in gcc 5.1?  If
>> I am wrong and it is already included into gcc 5.0, then I would
>> really really like to use it.
>>
>> In the latter case, will I be able to write OpenACC 2.0 / OpenMP 4.0
>> code that runs on my nvidia GPU and/or Intel Xeon Phi?
>
> Let's start from the end: OpenMP 4 support for Intel's Xeon Phi is in the
> trunk and - in principle - working. The only problem is that only
> Knights Landing (knl) is supported and not the old Knights Corner (knc);
> given that Knights Landing is not yet available, you currently can only use
> it with a simulator.
>
> Regarding the question how to build GCC with accelerator support, see
> https://gcc.gnu.org/wiki/Offloading - That page applies both to OpenACC
> and OpenMP and to KNL and Nvidia's PTX. However, it is currently still a bit
> KNL centric.
>
> Regarding OpenACC: The support has not yet been merged, however, I think the
> goal is still to get it included in GCC 5. The first bits - like PTX support -
> have already been merged. I think the gomp-4_0-branch provides all what's
> needed and it has been recently updated to match the trunk (last Sunday).
> For building the branch and using OpenACC+PTX, again start with
> https://gcc.gnu.org/wiki/Offloading
>
> Tobias,
> who has yet to try offloading himself


Re: Regular darwin builds

2014-12-16 Thread Dominique d'Humières
Is it again the difference between testing before or after install?

Dominique

> Le 16 déc. 2014 à 20:50, Iain Sandoe  a écrit :
> 
> 
> On 16 Dec 2014, at 19:38, Dominique d'Humières wrote:
> 
>> Looking at your results for gcc 5.0, I see a lot of gcc.dg/ubsan/* failures 
>> I don’t see in my tests. Any idea why?
> 
> I think that there will be ubsan fails until the library is installed (which 
> implies that the testing is not setting the right DYLD_LIBRARY_PATH).
> 
> Iain



Re: trying out openacc 2.0

2014-12-16 Thread Jakub Jelinek
On Wed, Dec 17, 2014 at 08:54:06AM +1300, Mark Farnell wrote:
> That's good news.  Does it mean that if I want to try out openACC with
> KNL and PTX support, then all I need to do is to compile the
> gomp-4_0-branch *without* any extra parameters into ./configure ?

No.  Please read the wiki page Tobias mentioned, you need to build 2
compilers and pass some configure options to get OpenMP + KNL support.
OpenACC has not been committed to trunk yet, but even when it will make it
in, you'll still need similarly to build 2 compilers and configure them
non-default way.

> Also, are other GPUs such as the AMD ATI and the built-in GPUs such as
> the Intel GPU and AMD fusion supported?  If so, are they already
> supported in the trunk, or only specific branch?

Some AMD HSA support is on the hsa svn branch, but AFAIK OpenMP 4.0
offloading nor OpenACC is supported there yet (instead just auto-offloading
some OpenMP 3.x loops I believe).

> Finally, when will support of Knights Corner (knc) be added to the
> trunk and/or one of the branches?

Unlikely.  The advantage of KNL is that it uses the same vector ISA as
the future desktop/server CPUs, not a different one; to support KNC we'd
need to make the i?86 backend larger and more complicated for something that
is not going to be used in any? future CPUs.

Jakub


Re: Regular darwin builds

2014-12-16 Thread FX
Yes, the ubsan issues are about setting DYLD_LIBRARY_PATH:

dyld: Symbol not found: __ZTIN10__cxxabiv117__class_type_infoE
  Referenced from: 
/Users/fx/autobuilds/builds/gcc-trunk-218778/x86_64-apple-darwin14.0.0/i386/libsanitizer/ubsan/.libs/libubsan.0.dylib
  Expected in: /usr/lib/libstdc++.6.dylib
 in 
/Users/fx/autobuilds/builds/gcc-trunk-218778/x86_64-apple-darwin14.0.0/i386/libsanitizer/ubsan/.libs/libubsan.0.dylib



Another testsuite issue on darwin is that testsuite doesn’t clean up the .dSYM 
directories it generates. This gets really annoying on my autotester :(

FX

Re: Regular darwin builds

2014-12-16 Thread Dominique d'Humières

> Another testsuite issue on darwin is that testsuite doesn’t clean up the 
> .dSYM directories it generates. This gets really annoying on my autotester :(

I have a patch for that, but Iain does not like it!-(

Dominique



Re: Regular darwin builds

2014-12-16 Thread Iain Sandoe

On 16 Dec 2014, at 20:40, Dominique d'Humières wrote:

> 
>> Another testsuite issue on darwin is that testsuite doesn’t clean up the 
>> .dSYM directories it generates. This gets really annoying on my autotester :(
> 
> I have a patch for that, but Iain does not like it!-(

Hmm .. I like the patch in principle,
... the problem is that it doesn't clean up when one does cross-testing or 
installed testing - so it needed tweaking to use the right approach to deleting 
files on the remote/host - we (erm, probably I, in truth) never got around to 
finding the right recipe.

Might I suggest pulling it out of storage - and getting a review, perhaps from 
Mike who might be able to identify the best place to do the job.

Iain



Re: Regular darwin builds

2014-12-16 Thread Mike Stump
On Dec 16, 2014, at 12:46 PM, Iain Sandoe  wrote:
> 
> On 16 Dec 2014, at 20:40, Dominique d'Humières wrote:
>> 
>>> Another testsuite issue on darwin is that testsuite doesn’t clean up the 
>>> .dSYM directories it generates. This gets really annoying on my autotester 
>>> :(
>> 
>> I have a patch for that, but Iain does not like it!-(
> 
> Hmm .. I like the patch in principle,
> ... the problem is that it doesn't clean up when one does cross-testing or 
> installed testing - so it needed tweaking to use the right approach to 
> deleting files on the remote/host - we (erm, probably I, in truth) never got 
> around to finding the right recipe.
> 
> Might I suggest pulling it out of storage - and getting a review, perhaps 
> from Mike who might be able to identify the best place to do the job.

I won’t be too picky.  if is_native cleanup_native isn't unreasonable.

https://gcc.gnu.org/ml/gcc/2012-03/msg00364.html

So, I can’t help but think, we don’t need to slow the world down, and we can 
just do a find . \*.DSYM -exec rm type of thing at the end.  Simple, easy, 
works for native and the old cross is native ppc builds on x86.  Life goes on.

Re: Regular darwin builds

2014-12-16 Thread Dominique d'Humières
My patch is different and I am attaching it (it is quite old, so it may not 
apply cleanly). The problem for more evolved form is that *.dSYM are 
directories and ASAICT there is no command in derange to remove them.

At least my patch tracks all the locations giving *.dSYM.

Dominique


patch-dsym3
Description: Binary data

> Le 16 déc. 2014 à 21:55, Mike Stump  a écrit :
> 
> On Dec 16, 2014, at 12:46 PM, Iain Sandoe  wrote:
>> 
>> On 16 Dec 2014, at 20:40, Dominique d'Humières wrote:
>>> 
 Another testsuite issue on darwin is that testsuite doesn’t clean up the 
 .dSYM directories it generates. This gets really annoying on my autotester 
 :(
>>> 
>>> I have a patch for that, but Iain does not like it!-(
>> 
>> Hmm .. I like the patch in principle,
>> ... the problem is that it doesn't clean up when one does cross-testing or 
>> installed testing - so it needed tweaking to use the right approach to 
>> deleting files on the remote/host - we (erm, probably I, in truth) never got 
>> around to finding the right recipe.
>> 
>> Might I suggest pulling it out of storage - and getting a review, perhaps 
>> from Mike who might be able to identify the best place to do the job.
> 
> I won’t be too picky.  if is_native cleanup_native isn't unreasonable.
> 
> https://gcc.gnu.org/ml/gcc/2012-03/msg00364.html
> 
> So, I can’t help but think, we don’t need to slow the world down, and we can 
> just do a find . \*.DSYM -exec rm type of thing at the end.  Simple, easy, 
> works for native and the old cross is native ppc builds on x86.  Life goes on.



Re: Regular darwin builds

2014-12-16 Thread Mike Stump
On Dec 16, 2014, at 1:24 PM, Dominique d'Humières  wrote:
> My patch is different and I am attaching it (it is quite old, so it may not 
> apply cleanly). The problem for more evolved form is that *.dSYM are 
> directories and ASAICT there is no command in derange to remove them.
> 
> At least my patch tracks all the locations giving *.dSYM.

So, I think it would be better to do:

  remote_file build deletedir $dsym_file

And then replace standard_file (from remote.exp) with a patched routine that 
adds:

deletedir {
foreach x $args {
if { [file exists $x] && [file isdirectory $x] } {
exec rm -rf $x
}
}
return
}

and:

deletedir {
foreach x $args {
if { [file exists $x] && [file isdirectory $x] } {
exec rm -rf $x
}
}
return
}

and try that.  The patched routine can go into dejagnu144-fixes.exp then you 
just include this way up at the top from the same thing that include the thing 
that includes remote.exp.  That patch can be submitted to dejagnu, and when 
that comes out, we should just return from the 144-fixes.exp file when the 
version number is >= the fixed version.

If that’s too annoying, how about:

  remote_file_build_deletedir $dsym_file

and then define that to do the operation, protected by:

if { [is_remote target] } { return }

That’s pretty good, and once we switch to a dejagnu that supports deleting a 
directory, we could then remove it and just use remote_file.

It is a shame that there are a zillion places where this idiom is repeated.  
What a nightmare.  I can’t help but wonder if we aren’t better off just doing:

  find $testingdir . -type d -name \*.dSYM -exec rm -rf

at the end of testing, and be done with it, forever, no squirrelly lines all 
over the place, and 0 chance it will ever need maintenance or that someone 
might add a new fragment that won’t cleanup on darwin.  Might even be faster.  
Not pretty, but dSYM didn’t start out pretty either.  Also, less of an eyesore 
in the general code.

Re: trying out openacc 2.0

2014-12-16 Thread Mark Farnell
So what parameters will I need to pass to ./configure if I want to
support PTX offloading?

So if I want to have CPU, KNL and PTX, do I end up building three compilers?

And is it true that running in both the offload mode, and the KNL
native mode, would require two set of toolchains?

Finally, is the nvptx-tools project mentioned in Tobia's page aiming
at replacing the CUDA toolchain?

Thanks!

Mark





On Wed, Dec 17, 2014 at 9:05 AM, Jakub Jelinek  wrote:
> On Wed, Dec 17, 2014 at 08:54:06AM +1300, Mark Farnell wrote:
>> That's good news.  Does it mean that if I want to try out openACC with
>> KNL and PTX support, then all I need to do is to compile the
>> gomp-4_0-branch *without* any extra parameters into ./configure ?
>
> No.  Please read the wiki page Tobias mentioned, you need to build 2
> compilers and pass some configure options to get OpenMP + KNL support.
> OpenACC has not been committed to trunk yet, but even when it will make it
> in, you'll still need similarly to build 2 compilers and configure them
> non-default way.
>
>> Also, are other GPUs such as the AMD ATI and the built-in GPUs such as
>> the Intel GPU and AMD fusion supported?  If so, are they already
>> supported in the trunk, or only specific branch?
>
> Some AMD HSA support is on the hsa svn branch, but AFAIK OpenMP 4.0
> offloading nor OpenACC is supported there yet (instead just auto-offloading
> some OpenMP 3.x loops I believe).
>
>> Finally, when will support of Knights Corner (knc) be added to the
>> trunk and/or one of the branches?
>
> Unlikely.  The advantage of KNL is that it uses the same vector ISA as
> the future desktop/server CPUs, not a different one; to support KNC we'd
> need to make the i?86 backend larger and more complicated for something that
> is not going to be used in any? future CPUs.
>
> Jakub