chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.79k stars 421 forks source link

Support for 128-bit ints #23997

Open bradcray opened 11 months ago

bradcray commented 11 months ago

As time goes on, interest in int(128) seems to be growing. This issue is a placeholder requesting to add such support for 128 bit integers, at least on platforms and back-end compilers for which it's reasonably supported.

My assumption is that the work here would involve the following major components:

A lot of this seems pretty reasonable and mechanical as long as the LLVM/C support is there. The part I fear the most is the degree to which we've (intentionally or un-) baked in assumptions about the default int width also being the max.

damianmoz commented 11 months ago

Wise move.

There was discussion about real(128) and int(128) in the email discussion (predating discourse) from about December 2017 which noted both would need to happen eventually. It involved Michael, Jeff Hammond and myself and it came from the 128-bit floating point perspective. Not sure that we said anything startling or even momentous but rather noted it for the future. Jeff mentioned

https://en.wikipedia.org/wiki/Intel_ADX

To your list, add fundamental operations like transmute (eventually).

bradcray commented 4 months ago

I'm giving this a bump due to additional user interest since posting it.