Open zhassan-aws opened 3 weeks ago
Transferred to rust-lang/rust, since this is a compiler issue.
I didn't realize LLVM ever used these symbols, usually it seems to convert to a f32
first then do f32
to f16
. This just needs another symbol in compiler-builtins.
I guess on x86 it will emit assembly for u32
and u64
but u128
gets a libcall https://rust.godbolt.org/z/Yoqzn9o3j. It looks like this symbol is provided by libgcc since https://github.com/gcc-mirror/gcc/commit/5823ef233578d8f6e3770bf92e72c1c977067d13 and this links fine on the playground, maybe Ubuntu 20.04 just didn't enable the symbols.
We should make them available anyway, WIP https://github.com/rust-lang/compiler-builtins/pull/729
Also just checked the other way, looks like LLVM always does f16 -> f32
conversions and then f32 -> int
https://rust.godbolt.org/z/bMTMW3ocT
Problem
I'm getting a linking failure on the following program on an Ubuntu 20.04 with x86_64:
Steps
No response
Possible Solution(s)
No response
Notes
No response
Version
No response