llvm / llvm/llvm-project

Using `_BitInt(128)` with `double` conversion generates call to unimplemented builtin for 32-bit targets

Open
#196,107 2 comments 0 reactions 0 assignees View on GitHub
compiler-rt:builtins confirmed
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Converting a 128-bit `_BitInt` to a `double` on 32-bit targets emits a call to the builtin `__floattidf`, which isn't implemented there:
```
undefined reference to `__floattidf'
```

Consider implementing it there, too. Or, generate generic code as is done for even larger integers.

Example for `_BitInt(128)` vs. `_BitInt(129)`: https://godbolt.org/z/chf3195W1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.