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
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
1d7f2847e3
Release 0.1.113
2024-06-25 22:52:36 +01:00
beetrees
bf503b5c9b
Fix building on AVR
2024-06-23 19:19:25 +01: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
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
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
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
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
Quentin Perez
2fa55c4ef5
Add Apple visionOS support
2024-05-22 09:49:08 +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
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
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
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
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
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
Trevor Gross
aaa5260748
Implement f128
comparison
2024-05-15 07:19:17 -05:00
Trevor Gross
191c1b88cd
Implement f128
multiplication
2024-05-15 07:19:17 -05:00
Trevor Gross
2755f457f8
Implement f128
addition and subtraction
2024-05-15 07:19:17 -05:00
Trevor Gross
4509315d2f
Enable no-fail-fast for more usable test output
2024-05-15 07:19:17 -05:00
Trevor Gross
1be6626307
Refactor float test macros to have a fallback
...
Change float test macros to fall back to testing against `rustc_apfloat`
when system implementations are not available, rather than just skipping
tests.
This allows for easier debugging where operations may not be supported.
2024-05-15 07:19:17 -05:00
Trevor Gross
23b91f2b58
Add i256
and u256
bigint types
2024-05-15 07:19:17 -05:00
Trevor Gross
10689247bc
Split Int
into Int
and MinInt
...
`MinInt` contains the basic methods that are only needed by integers
involved in widening operations, i.e. big integers. `Int` retains all
other operations and convenience methods.
2024-05-15 07:19:17 -05:00
theKidOfArcrania
0ccdd076ae
Merge branch 'master' of https://github.com/rust-lang/compiler-builtins
2024-05-14 15:50:50 -07:00
theKidOfArcrania
4c35dc3b1e
Remove aarch64 CI
2024-05-14 15:47:07 -07:00
theKidOfArcrania
8c27bcb11a
Maybe try arm64
2024-05-13 11:38:43 -07:00
theKidOfArcrania
6ef61fd85a
Update target
2024-05-13 11:31:23 -07:00
theKidOfArcrania
4edceece66
Add aarch64 target
2024-05-13 11:29:55 -07:00
theKidOfArcrania
a5779e5d37
Fix paths for Windows arm64 build
2024-05-13 11:17:07 -07:00
Amanieu d'Antras
f16e62159b
Release 0.1.112
2024-05-11 10:05:33 +02:00
Trevor Gross
f52b4a268f
Remove the undocumented and unused rustbuild
feature
...
See
<https://github.com/rust-lang/compiler-builtins/pull/603#discussion_r1590747361 >
2024-05-11 09:56:55 +02:00