Commit Graph

1350 Commits

Author SHA1 Message Date
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
Henry Wang
7d60c93165 Only run --features c for verbatim test 2024-05-21 01:09:47 +02:00
theKidOfArcrania
416be726df verbatim tests only need to build 2024-05-21 01:09:47 +02:00
theKidOfArcrania
fd290b1339 Properly escape /C and fix naming 2024-05-21 01:09:47 +02:00
theKidOfArcrania
e3d86a8350 Instead have cmd.exe dump out path 2024-05-21 01:09:47 +02:00
theKidOfArcrania
0000f98d73 Fix backslash 2024-05-21 01:09:47 +02:00
theKidOfArcrania
e246ba5a46 Use cmd.exe 2024-05-21 01:09:47 +02:00
theKidOfArcrania
24cb0c2bcc Fix CI 2024-05-21 01:09:47 +02:00
theKidOfArcrania
3fdef93258 Add tests for UNC paths on windows builds 2024-05-21 01:09:47 +02:00
Amanieu d'Antras
b07accb2c5
Merge pull request #615 from tgross35/test-refactoring
Rework the test crate to separate individual tests
2024-05-21 01:08:47 +02:00
Trevor Gross
f82e1f14fc Rework the test crate to separate individual tests
Currently, tests of the same kind are grouped together across all types
into a single function. This makes it difficult to understand exactly
what failed in CI.

Change test macros to create separate functions for separate types so
failures are more fine grained.
2024-05-18 04:37:55 -04:00
Amanieu d'Antras
f8b72ede7e
Merge pull request #606 from tgross35/f16-f128-intrinsics-min
Add addition, subtraction, multiplication, and compare operations for `f128`
2024-05-16 16:08:10 +02:00
Trevor Gross
a82491ed54 Correct f128 extend and truncate symbol names on powerpc
PowerPC uses `kf` instead of `tf`:
<https://gcc.gnu.org/wiki/Ieee128PowerPC>
2024-05-15 07:19:17 -05:00