Re: Issue 5689
James Miller ja...@aatch.net wrote in message news:mailman.744.1331866908.4860.digitalmar...@puremagic.com... My code uses floats, so I just tested using floats instead of doubles and while I don't get the error, I do get incorrect values. I'll post the code I used and the disassembly to bugzilla. -- James Miller It might be worth trying it against this patch: https://github.com/D-Programming-Language/dmd/pull/769 On the off chance that I've already fixed it.
Re: Issue 5689
James Miller ja...@aatch.net wrote in message news:mailman.693.1331810915.4860.digitalmar...@puremagic.com... Hey, Whats the word on this issue: http://d.puremagic.com/issues/show_bug.cgi?id=5689 Its kinda killing my ability to profile my code here, since the program is no longer valid when compiled with -profile. -- James Miller Yum, looks like another xmm codegen bug. I'll add it to my todo list.
Re: Issue 5689
On 16 March 2012 03:00, Daniel Murphy yebbl...@nospamgmail.com wrote: James Miller ja...@aatch.net wrote in message news:mailman.693.1331810915.4860.digitalmar...@puremagic.com... Hey, Whats the word on this issue: http://d.puremagic.com/issues/show_bug.cgi?id=5689 Its kinda killing my ability to profile my code here, since the program is no longer valid when compiled with -profile. -- James Miller Yum, looks like another xmm codegen bug. I'll add it to my todo list. Out of curiosity, what does -profile do that could cause this bug? Seems like an odd cause, since in my specific case, I don't even get an error, just crazy values, -2^31 to ~10^38, in later calculations -- James Miller
Re: Issue 5689
James Miller ja...@aatch.net wrote in message news:mailman.707.1331841671.4860.digitalmar...@puremagic.com... Out of curiosity, what does -profile do that could cause this bug? Seems like an odd cause, since in my specific case, I don't even get an error, just crazy values, -2^31 to ~10^38, in later calculations -- James Miller IIRC the code that actually does -profile is in the backend, and is done with very low-level calls. Inserting calls can change the register usage patterns, interfere with cse elimination, etc. I assume this is what is happening, and with x64 and doubles that mean xmm codegen, which is still relatively new and buggy. Could you post the disassembly? (with intel syntax please) It might be possible to work around it by changing the calling convention of uniform and/or the functions it calls.
Re: Issue 5689
On 16 March 2012 14:36, Daniel Murphy yebbl...@nospamgmail.com wrote: James Miller ja...@aatch.net wrote in message news:mailman.707.1331841671.4860.digitalmar...@puremagic.com... Out of curiosity, what does -profile do that could cause this bug? Seems like an odd cause, since in my specific case, I don't even get an error, just crazy values, -2^31 to ~10^38, in later calculations -- James Miller IIRC the code that actually does -profile is in the backend, and is done with very low-level calls. Inserting calls can change the register usage patterns, interfere with cse elimination, etc. I assume this is what is happening, and with x64 and doubles that mean xmm codegen, which is still relatively new and buggy. Could you post the disassembly? (with intel syntax please) It might be possible to work around it by changing the calling convention of uniform and/or the functions it calls. My code uses floats, so I just tested using floats instead of doubles and while I don't get the error, I do get incorrect values. I'll post the code I used and the disassembly to bugzilla. -- James Miller