Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
January 28, 2016 [Issue 15619] [REG 2.068] Floating-point x86_64 codegen regression | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 ponce <aliloko@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[REG 2.068] |[REG 2.068] Floating-point | |x86_64 codegen regression -- |
January 28, 2016 [Issue 15619] [REG 2.068] Floating-point x86_64 codegen regression | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 --- Comment #1 from ponce <aliloko@gmail.com> --- Reduced to: -------------------------------- import std.stdio; void fillWithOnes(float* outputs, int frames) { float[] A = new float[frames]; float[] B = new float[frames]; A[] = 0; B[] = 0; float one = returnOne(); A[0..frames] += B[0..frames]; for (int i = 0; i < frames; ++i) { outputs[i] = one; } } float returnOne() { return 1; } void main() { float[] buf = new float[16]; fillWithOnes(buf.ptr, 16); writeln(buf); } -------------------------------- -- |
January 29, 2016 [Issue 15619] [REG 2.068] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 ponce <aliloko@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[REG 2.068] Floating-point |[REG 2.068] Floating-point |x86_64 codegen regression |x86_64 codegen regression, | |when involving array ops -- |
February 08, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 Kenji Hara <k.hara.pg@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Summary|[REG 2.068] Floating-point |[REG 2.066] Floating-point |x86_64 codegen regression, |x86_64 codegen regression, |when involving array ops |when involving array ops --- Comment #2 from Kenji Hara <k.hara.pg@gmail.com> --- Both original and reduced code generate wrong result since 2.066.0 (2.065 is ok). -- |
March 20, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 yebblies <yebblies@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yebblies@gmail.com Component|dmd |druntime --- Comment #3 from yebblies <yebblies@gmail.com> --- The array operation uses xmm6/xmm7 internally without saving them, but they are callee saved on win64. Probably introduced by this: https://github.com/D-Programming-Language/druntime/pull/829 -- |
March 20, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code@dawg.eu Assignee|nobody@puremagic.com |code@dawg.eu --- Comment #4 from Martin Nowak <code@dawg.eu> --- I'll take this. https://trello.com/c/TNCQ6xBk/171-issue-15619-reg-2-066-floating-point-x86-64-codegen-regression-when-involving-array-ops -- |
March 23, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 --- Comment #5 from Martin Nowak <code@dawg.eu> --- As this is already broken for a while (and way longer for other array ops, e.g. double), I'll delay this fix for a proper replacement w/ templated array ops. https://github.com/D-Programming-Language/druntime/pull/471#issuecomment-16075234 WIP: https://github.com/MartinNowak/dmd/tree/arrayOps https://github.com/MartinNowak/druntime/tree/arrayOps -- |
May 24, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@digitalmars.com --- Comment #6 from Walter Bright <bugzilla@digitalmars.com> --- Doesn't seem like this should be too hard to fix - just save xmm6-7 for Win64 - why not just do it? -- |
May 24, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 --- Comment #7 from ponce <aliloko@gmail.com> --- FWIW I don't use array ops anymore, to the exception of: slice[] = value; sliveA[] = sliceB[]; -- |
June 05, 2016 [Issue 15619] [REG 2.066] Floating-point x86_64 codegen regression, when involving array ops | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15619 --- Comment #8 from Martin Nowak <code@dawg.eu> --- (In reply to Walter Bright from comment #6) > Doesn't seem like this should be too hard to fix - just save xmm6-7 for Win64 - why not just do it? Because all the other functions ignore it as well and maintaining that mess is just wasted time. -- |
Copyright © 1999-2021 by the D Language Foundation