Comments (7)
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.
Like other 32-bit architectures, there is no __int128 available on RV32
from riscv-elf-psabi-doc.
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.
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.
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.
__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.
Having a defined ABI for __int128 would improve the interface between Rust and C
from riscv-elf-psabi-doc.
Related Issues (20)
- Specify a platform reserved register HOT 20
- Should calling convention also define ptrdiff_t? HOT 1
- Should we use lw/sw in push pop when we used ILP32, whether it's RV32 or RV64 HOT 3
- Operation semantics of __bf16 datatype HOT 2
- representation of GNU C fixed-size vectors HOT 4
- Deprecate R_RISCV_RVC_LUI? HOT 4
- Define GOT-Relative data relocation HOT 8
- Embedding R_RISCV_RELAX to another relocations HOT 7
- Define gp(x3) as global VLENB HOT 4
- Bitfield integer calling convention garbled
- Calling convention uses RV64GQ without definition or reference HOT 3
- Calling convention description of va_list et al. are unclear HOT 2
- Interpretation of floating-point types
- Linux ABI for Pointer Masking HOT 19
- New ABI for stack layout and frame pointer scheme HOT 4
- Change branch from "master" to "main" HOT 1
- Add CREL support HOT 3
- Add RELR support HOT 6
- Question about medlow's single 2 GiB address range HOT 1
- AMOCAS recommended compatibility mappings are too weak for the c11 memory model HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riscv-elf-psabi-doc.