This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add FMA_EXPR, un-cse multiplications before expansion


On Fri, 22 Oct 2010, Geert Bosch wrote:

> I agree, but there are different axes that we can move on to get closer
> to the goal:
> 
>   1) Get complete C99 support on a few targets, add others over time
> 
>   2) Get partial C99 support on all targets, add full support over time
> 
> Of course, these are not mutually exclusive. You asked me for my
> interest, which is mostly related to 2). The reason is that we often
> end up having to code for the least common denominator. In other words,
> it is easy to get numerical code to work correct and efficiently on
> x86 Linux. Other targets are more of a challenge and by improving
> on 2) they get a bit easier.

I guess I'm saying that if you have a feature on one target - visibly 
there, hopefully with testcases for the feature that fail elsewhere so 
people with other targets can see they are missing it - then you'll find 
that not too long afterwards the people caring about various other targets 
will have added it to them.  Witness how STT_GNU_IFUNC support has been 
added to binutils and glibc for different targets after the initial x86 / 
x86_64 support, for example.

Maybe "easy to get numerical code to work correct and efficiently" isn't a 
sufficiently well-defined feature.  What targets are missing it, how do 
you demonstrate they are missing it, how do you make target maintainers 
aware that their targets are not at parity with x86 Linux, are there 
testcases in the testsuites, are there examples of patches that achieve 
this feature that other target maintainers can follow?  Can you define it 
well enough to put a column in backends.html?

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]