Andrey Turkin
cc64c7978e
Never use C version of clz builtins
2024-07-24 12:50:04 +01:00
Andrey Turkin
a5c7a17d55
Implement remaining __clz*i2 intrinsics
2024-07-24 12:50:04 +01:00
Amanieu d'Antras
e01e62aa16
Merge pull request #642 from tgross35/android-testing-fix
...
Fix missing `extern "C"` on `unsafe` intrinsics
2024-07-24 12:44:54 +01:00
Trevor Gross
ddd97dc19a
Fix missing extern "C" for unsafe functions
...
`unsafe` functions were being matched in a different block that did not
include `extern $abi`. This means that some intrinsics were getting
generated with the Rust ABI rather than C.
Combine the last two blocks using an optional token matcher, which fixes
this problem and is cleaner.
2024-07-23 04:35:04 -05:00
Amanieu d'Antras
56a2c50613
Merge pull request #633 from tea/bswap
...
Implement __bswap[si]i2 intrinsics
2024-07-06 11:58:12 +02:00
Andrey Turkin
45465cc488
Implement __bswap[sdt]i2 intrinsics
...
These can be emitted by gcc, at least if requested specifically via __builtin_bswap{32,64,128}.
2024-07-06 11:51:52 +02:00
Amanieu d'Antras
34aa493499
Merge pull request #634 from tea/extern_crate
...
Get rid of a warning
2024-07-06 11:51:38 +02:00
Andrey Turkin
98195c0348
Get rid of a warning
2024-07-06 05:19:37 +03:00
Amanieu d'Antras
194efcd5bf
Merge pull request #638 from tgross35/remove-bench-files
...
Remove unnecessary benchmark files
2024-07-05 22:25:36 +02:00
Trevor Gross
32b12b647b
Remove unnecessary benchmark files
2024-07-05 22:17:50 +02:00
Amanieu d'Antras
b4b18c6585
Merge pull request #637 from beetrees/fix-float-mul
...
Fix incorrect rounding with subnormal/zero results of float multiplication
2024-07-05 22:17:22 +02:00
beetrees
086a1c33eb
Temporarily use define_rust_probestack;
2024-07-01 07:42:22 +01:00
beetrees
c6bf88ab1c
Ignore broken nightly/system builtins
2024-07-01 07:42:22 +01:00
beetrees
ffb31aee13
Fix incorrect rounding with subnormal/zero results of float multiplication
2024-06-30 22:03:33 +01:00
Amanieu d'Antras
cea216b195
Merge pull request #631 from tgross35/try-enabling-tests
...
Enable `f128 -> f16` tests on Linux
2024-06-26 00:01:31 +02:00
Trevor Gross
55b3f8b13d
Enable f128 -> f16 tests on Linux
...
Since updating the docker images in
<https://github.com/rust-lang/compiler-builtins/pull/625 >, it looks like
`__extendhftf2` and `__trunctfhf2` are available on all 64-bit Linux
platforms.
2024-06-25 23:57:08 +02:00
Amanieu d'Antras
1c022f42cc
Merge pull request #635 from Amanieu/release-0.1.113
...
Release 0.1.113
2024-06-25 23:56:47 +02:00
Amanieu d'Antras
1d7f2847e3
Release 0.1.113
2024-06-25 22:52:36 +01:00
Amanieu d'Antras
e5c0023bf5
Merge pull request #632 from beetrees/fix-avr
...
Fix building on AVR
2024-06-25 23:47:20 +02:00
beetrees
bf503b5c9b
Fix building on AVR
2024-06-23 19:19:25 +01:00
Amanieu d'Antras
cdd0084cfd
Merge pull request #629 from tgross35/fix-script
...
Fix unset variables in the build script
2024-06-22 16:20:27 +02:00
Trevor Gross
fdec3b6514
Fix unset variables in the build script
...
These were preventing building via Docker locally.
2024-06-22 16:15:46 +02:00
Amanieu d'Antras
b9507cc0f2
Merge pull request #625 from tgross35/docker-image-update
...
Update the Ubuntu docker image to the latest version
2024-06-22 16:15:11 +02:00
Trevor Gross
21690f7320
Skip f128 tests on powerpc64le
...
__addkf3 and __mulkf3 seem to hit a nondescript SIGILL. This is probably
likely to just be another Qemu limitation.
2024-06-22 06:05:25 -04:00
Trevor Gross
f2092967cb
Update the Ubuntu docker image to the latest version
2024-06-22 05:58:25 -04:00
Amanieu d'Antras
eaa2e17e9f
Merge pull request #628 from tgross35/libm-sse-fix
...
Disable libm on x86 without sse2
2024-06-22 09:52:32 +02:00
Trevor Gross
e35091a2d0
Disable libm on x86 without sse2
...
In <https://github.com/rust-lang/compiler-builtins/pull/594 >, symbols
for the Rust port of libm were made always weakly available. This seems
to be causing problems on platforms with ABI issues, as explained at
<https://github.com/rust-lang/rust/pull/125016#issuecomment-2174572661 >.
Disable Rust libm on x86 without sse2 to mitigate this.
2024-06-17 19:38:55 -05:00
Amanieu d'Antras
72d172ca48
Merge pull request #621 from tgross35/ci-caching
...
Add CI caching
2024-05-24 23:24:15 +02:00
Trevor Gross
84e87eb15b
Add caching for downloading compiler-rt
2024-05-24 23:18:59 +02:00
Trevor Gross
98ddf3c66d
Enable cache for Docker images
2024-05-24 23:18:59 +02:00
Trevor Gross
d0fdc0044a
Enable cache for Cargo components of the build
2024-05-24 23:18:59 +02:00
Amanieu d'Antras
46e377ae5f
Merge pull request #618 from tgross35/benchmarking
...
Add benchmarks for floating point math
2024-05-24 23:18:00 +02:00
Trevor Gross
6cd17ff4d2
Add benchmarks for floating point math
...
This adds comparisons among the compiler-builtins function, system
functions if available, and optionally handwritten assembly.
These also help us identify inconsistencies between this crate and
system functions, which may otherwise go unnoticed if intrinsics get
lowered to inline operations rather than library calls.
2024-05-24 02:49:41 -04:00
Amanieu d'Antras
c9517347b5
Merge pull request #590 from QuentinPerez/master
...
Add Apple visionOS support
2024-05-23 01:45:10 +02:00
Quentin Perez
2fa55c4ef5
Add Apple visionOS support
2024-05-22 09:49:08 +02:00
Amanieu d'Antras
24d4826719
Merge pull request #619 from tgross35/update-intrinsics
...
Update examples/intrinsics.rs
2024-05-21 20:17:13 +02:00
Trevor Gross
81fbfedd92
Add some missing functions to examples/intrinsics
2024-05-21 20:13:40 +02:00
Trevor Gross
ec12399470
Update outdated contribution guidelines
2024-05-21 20:13:40 +02:00
Trevor Gross
324544fb6a
Add f16 and f128 intrinsics to the example test
2024-05-21 20:13:40 +02:00
Trevor Gross
d696144b87
Organize functions in intrinsics example
2024-05-21 20:13:40 +02:00
Amanieu d'Antras
839245c1db
Merge pull request #620 from tgross35/ppc-alias
...
Add `ppc_alias` to the `intrinsics!` macro
2024-05-21 20:12:00 +02:00
Trevor Gross
c7bd2a5655
Add ppc_alias to the intrinsics! macro
...
PowerPC platforms use `kf` rather than `tf` for `f128`. Add a way to
alias this in the macro to make the code cleaner.
This also fixes the names of `fixunstf*` and `fixtf*` on Power PC
(`fixunskf*` and `fixkf*` are correct).
2024-05-21 03:55:37 -04:00
Amanieu d'Antras
6ab5934b81
Merge pull request #613 from tgross35/f16-f128-convert
...
Add `f128` float to integer conversion functions
2024-05-21 02:06:19 +02:00
Trevor Gross
ccd179b231
Add f128 float to integer conversion functions
...
Add the following:
- `__fixtfsi`
- `__fixtfdi`
- `__fixtfti`
- `__fixunstfsi`
- `__fixunstfdi`
- `__fixunstfti`
2024-05-20 20:01:33 -04:00
Trevor Gross
aaaf62bd6b
Add an apfloat fallback for float to integer tests
2024-05-20 20:01:19 -04:00
Trevor Gross
a3b1dfb8d5
Allow a specific fallback function in apfloat_fallback
...
`as` casts are only allowed for primitives, doing the same operations
with `rustc_apfloat` requires using functions. Add a way to specify
these separately.
2024-05-20 20:00:46 -04:00
Trevor Gross
fc53fb64fc
Make float to integer conversions generic
...
Deduplicate code used for float to integer conversions in order to make
adding `f128` conversion functions easier.
2024-05-20 19:46:53 -04:00
Trevor Gross
bac7b1e777
Add CastFrom as a convenience form of CastInto
2024-05-20 19:46:53 -04:00
Amanieu d'Antras
ba01751407
Merge pull request #612 from theKidOfArcrania/master
...
Add tests for verbatim paths on windows builds
2024-05-21 01:13:55 +02:00
Henry Wang
0722bc4275
Don't run verbatim test on windows-gnu
2024-05-21 01:09:47 +02:00