On Jul 13, 2012, at 4:21 PM, Joseph S. Myers wrote:
> On Fri, 13 Jul 2012, Mike Stump wrote:
>> I understand the beauty of putting in the const wide int stuff first...  
>> I don't think it matters much to me...  but I might ask why?  I think we 
>> have added support for all in-tree gcc ports for all possible testcases.  
>> Do you know of a single testcase that fails on a single port?
> 
> We need to be careful about putting in changes that are only relevant for 
> out-of-tree ports, because it's impossible for anyone using FSF GCC to 
> validate whether the code in question works properly.

Anyone that wants to validate my work can trivially do so.  They are free to 
grab any of the OI ports, and turn on scalar OImode, and then test.  Because it 
is trivial to validate it, I have no clue what you mean by impossible.  Does 
that mean that you have no access to an x86_64?  I just can't begin to 
understand what you mean by impossible, can you elaborate?

> The question is whether someone could just add their own 256-bit port and 
> reasonably expect it to work.

No, they can not reasonable expect it to work.  They are guaranteed that any 
expectations of goodness are misplaced, I will personally make that guarantee.  
What they can expect to work, are those things they have tested that work; 
that's all.  The compiler has bugs, that those bugs prevent good code from 
working.  This has always been the case, and will always be the case.  I'm a 
realist, what I can say about the patch is that the compiler will work better 
with the patch, than without the patch.  The patch lies in the direction of 
goodness, and that it is impossible to get to goodness without either applying 
the patch, or creating a virtually identical patch.

> And when submitting patches, it's the job 
> of the submitter to make it easy for the reviewer to give them an A

I don't see what you all see.  For example, you see that it is impossible to 
validate my work, I only see that it is trivially possible to validate my work. 
 I can't explain the difference in viewpoint.  Richard says that the patch 
introduces wrong-code bugs almost everywhere in the compiler, I only see that 
it does not.  I can't explain the difference.  Richard says I expose users to 
bugs, I see that I do not.  I can't explain the difference.  I see that you 
worry that the patch is unsound, I only see that it is not.  I can't explain 
the difference.  I see that you want to pend this on libgcc work.  I see that 
there is no benefit to doing that.  I can't explain the difference.  I see that 
Richard wants to pend the work on the cont_wide_int work,  I see that there is 
no benefit to doing that.  I can't explain the difference.  The list is 
seemingly endless...

I don't have a proof the work is sound, and cannot sign up to provide one at 
this time.  I do not have the time at this point to fix all 256-bit bugs in the 
compiler.  I don't have time to add support for all possible future ports of 
gcc.  I don't have time to craft abis for all gcc ports.  I don't have time to 
implement argument passing for all other ports.  I don't have time to validate 
__int256 for you.  I don't have time to re-implement __int128 support in the 
compiler for you.

So, are there any other specific actionable things I can do for you to make the 
patch acceptable?

Reply via email to