http://d.puremagic.com/issues/show_bug.cgi?id=1149
--- Comment #6 from yebblies <[email protected]> 2012-02-23 15:20:57 EST --- (In reply to comment #5) > (In reply to comment #4) > > > Oops. I tried to disable it for floating point and ended up disabling it > > for > > all non-integers. > > I have tried it with this code: > > void main() { > int[] arr; > arr.length = 4; > arr[0] = 1; > arr[1] = 1; > arr[2] = 1; > arr[3] = 1; > } > > > And I am seeing something similar to the uint[] case. Yeah, the optimization in my patch is effectively disabled. I changed it to integer-only because it was crashing in some floating point code - but the most significant word of an array isn't an integer, it's a pointer. I've tracked to codegen down, it seems like 'fnstsw ax' destroys eax and it never gets restored. Without the optimization loading the pointer into eax never gets picked up as a cse and removed in the first place. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
