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