https://bugzilla.gdcproject.org/show_bug.cgi?id=288
Bug ID: 288 Summary: strange nonsensical x86-64 code generation with -O3 - rats' nest of useless conditional jumps Product: GDC Version: 7.x Hardware: x86_64 OS: Linux Status: NEW Severity: minor Priority: Normal Component: gdc Assignee: ibuc...@gdcproject.org Reporter: ce...@cecilward.com Created attachment 93 --> https://bugzilla.gdcproject.org/attachment.cgi?id=93&action=edit D source; debug-only c9de is the weird stuff so compiling with -fdebug is essential because the source code in question is inside a D 'debug' cond so otherwise no relevant code will be generated This seems to be a quirk in the code generated by the GCC x86-64 backend itself in my humble opinion, and very much doubt it has much to do with GDC itself. I am not alleging that the generated code does not perform the correct function, I haven't gone through it carefully enough, but the x64 code generated is just very strange and utterly pointless. I compiled with GDC 7.x for x64 with -O3 -fdebug -march=skylake See the long list of useless conditional jumps towards the end of the first function in the asm output (whose demangled name is test.t1(unit)) -- You are receiving this mail because: You are watching all bug changes.