Code Monkey home page Code Monkey logo

Comments (7)

workingjubilee avatar workingjubilee commented on July 24, 2024 1

It is probably best if whatever ABI is specified for _BitInt(128) for ILP32 would be tolerable if it were also interpreted as the ABI of __int128 in the ILP32 case, per my reasoning in #300 (comment). The introduction of such a bit-precise way of saying "a 128-bit integer" would make adding it to the smaller data model an "obvious" extension.

from riscv-elf-psabi-doc.

jrtc27 avatar jrtc27 commented on July 24, 2024

Like other 32-bit architectures, there is no __int128 available on RV32

from riscv-elf-psabi-doc.

kito-cheng avatar kito-cheng commented on July 24, 2024

The major reason is what @jrtc27 said, more detail: currently GCC and clang/LLVM are not support __int128 on ILP32, that's implementable on ILP32, but there is some ... technical issue to support that on GCC side, and no 32 bit in GCC has supported __int128, so we don't support that on both compiler now.

from riscv-elf-psabi-doc.

xypron avatar xypron commented on July 24, 2024

Standardization should not be an afterthought but should be done before implementation. So it is good to define the alignment of __int128 before it is implemented in 32bit tools.

from riscv-elf-psabi-doc.

jrtc27 avatar jrtc27 commented on July 24, 2024

Our policy (see policy.md) is:

  • Changes requiring compiler changes
    • Require an open source PoC implementation for GCC or LLVM, either as a patch on the mailing list/Phabricator as appropriate or in a GitHub fork
    • Require at least one GCC developer AND one LLVM developer to approve

If people want __int128 to exist on RV32 then we can standardise it, but they need to want it and be willing to support it in toolchains. We're not going to add things to the specification that aren't going to be implemented or aren't wanted.

from riscv-elf-psabi-doc.

ptomsich avatar ptomsich commented on July 24, 2024

__int128 will still need to be standardised for ILP32, if ILP32 is used with RV64 (e.g. to have more cache-efficient userspace binaries on a 64bit kernel).

from riscv-elf-psabi-doc.

pellico avatar pellico commented on July 24, 2024

Having a defined ABI for __int128 would improve the interface between Rust and C

from riscv-elf-psabi-doc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.