On Monday, 6 October 2025 at 17:37:07 UTC, Clouudy wrote:
> Alright I have no idea what an 80 bit floating point emulator is or why it's useful but if you can point me in the direction to making one I can try, I guess.
D has 32-bit float
, 64-bit double
, and real
which is either 80 bit or 64-bit depending on the target. Sometimes the compiler not only needs to generate float instructions for those sizes, but also perform floating point math for CTFE or constant folding:
real x = 1.0 / 3.0;
Usually the compiler uses the same native processor instructions it generates to compute the value of 0.3333333... at real
precision, but what if you are running dmd on a target with 64-bit real but creating an executable for a target with 80-bit real? Then it should emulate those 80-bit float operations using integer instructions.
Walter's post a linked has some pointers to get you started, but honestly, don't feel pressured to work on it. Your language server work is probably much more valuable, 80-bit floats are a bit of a failure and not a priority issue, but if this sounds interesting, it is a very accessible issue because it's a well-defined and self-contained problem that doesn't require any knowledge of compiler internals.
> I suppose you're right, but even if past attempts haven't been as successful we should at least keep trying, IMO.
We are. This year, we have a new Project Coordinator role for example.
> Here, there's a whole list of things that I'm talking about.
I'm talking about the issue list specifically. The key difference is that items on there contain a reduced code example, expected behavior, and actual behavior. That means a programmer can pick it up, fix the compiler to exhibit the expected behavior, and close it. For example:
https://github.com/dlang/dmd/issues/20004
That's something you can ask someone to fix. 'debug info doesn't work well' can't be fixed like that, it first needs to be broken down into actionable items such as the above issue. I know that's a lot of work and I don't expect you to do all of that, but if you want to do more than raise awareness for high level issues but don't have enough time/expertise to create the fixes yourself, filing issues or raising awareness about existing overlooked issues in the tracker is a good intermediate way to contribute.