Commit graph

1298 commits

Author SHA1 Message Date
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
Amanieu d'Antras
0da9e16bef
Merge pull request #609 from theKidOfArcrania/master
Fix paths for Windows arm64 build
2024-05-15 10:33:39 +02: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
bc5de48bbe
Merge pull request #608 from Amanieu/release-0.1.112
Release 0.1.112
2024-05-11 10:11:02 +02:00
Amanieu d'Antras
f16e62159b Release 0.1.112 2024-05-11 10:05:33 +02:00
Amanieu d'Antras
4647d5d3c1
Merge pull request #603 from tgross35/ci-deny-warnings
Deny warnings in CI and add check-cfg directives
2024-05-11 09:59:55 +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
Trevor Gross
54d96150b5 Update cfg to fix warnings 2024-05-11 09:56:55 +02:00
Trevor Gross
286944e479 Emit directives for cargo-check-cfg 2024-05-11 09:56:55 +02:00
Trevor Gross
ccfe0e3808 Deny warnings in CI
There are currently a lot of warnings printed in CI, mostly dead code.
Update CI to deny warnings.
2024-05-11 09:56:55 +02:00
Amanieu d'Antras
e30a71cc24
Merge pull request #605 from nicholasbishop/bishop-i686-uefi
Enable chkstk/alloca intrinsics on i686-unknown-uefi
2024-05-09 16:28:48 +02:00
Nicholas Bishop
e4e03883ed Enable chkstk/alloca intrinsics on i686-unknown-uefi 2024-05-08 21:47:12 -04:00
Amanieu d'Antras
4781f0d75f
Merge pull request #602 from Amanieu/release-0.1.111
Release version 0.1.111
2024-05-04 21:00:53 +02:00
Amanieu d'Antras
2faef31e96 Release version 0.1.111 2024-05-04 19:57:27 +01:00
Amanieu d'Antras
52b85a1968
Merge pull request #601 from Patryk27/fix_avr_floats
fix: Add `#[avr_skip]` for `__addsf3` & `__adddf3`
2024-05-04 19:53:36 +02:00
Patryk Wychowaniec
461682bd91 fix: Add #[avr_skip] for __addsf3 & __adddf3
It looks like I've forgotten about them [back in 2023](https://github.com/rust-lang/compiler-builtins/pull/527).
2024-05-04 19:50:22 +02:00
Amanieu d'Antras
1ea3044bdf
Merge pull request #600 from Amanieu/release-0.1.110
Release version 0.1.110
2024-05-04 16:35:15 +02:00
Amanieu d'Antras
060391b020 Release version 0.1.110 2024-05-04 15:31:14 +01:00
Amanieu d'Antras
1af94b21ad
Merge pull request #599 from Enselic/update-ref
Update reference to rustc-std-workspace-core
2024-05-04 16:11:12 +02:00
Martin Nordholts
8c0c504d4f Update reference to rustc-std-workspace-core 2024-05-04 14:56:01 +02:00
Amanieu d'Antras
55f590fe3b
Merge pull request #598 from Amjad50/remove_weak-intrinsics
Apply `weak` attributes to all intrinsics
2024-05-03 13:30:21 +02:00
Amjad Alsharafi
ce8a0c346d Cleanup manged-names macro
Don't generate the whole function if we are not going to use `no_mangle`, there is no point
2024-05-03 13:27:03 +02:00
Amjad Alsharafi
e232a79146 Remove unneeded weak for optimized-c function
`weak` is only used with `no_mangle`
2024-05-03 13:27:03 +02:00
Amjad Alsharafi
2e096145c3 Apply weak attributes to all intrinsics
Removed the `weak-intrinsics` feature, so that all functions
will have the `weak` linkage attribute.

Also this fixed the bug in
https://github.com/rust-lang/rust/issues/124042.

Before this commit, generated code will be
```rust
pub extern "C" fn <name>(...) -> ... {
        // code...
}
pub mod <name> {
    #[linkage = "weak"]
    #[no_mangle]
    pub extern "C" fn <name>(...) -> ... {
        super::<name>(...)
    }
}
```

The issue is that there is 2 `weak` linkage, the first one is not required.
Along refactoring `weak` attributes, this was fixed.
2024-05-03 13:27:03 +02:00
Amanieu d'Antras
5daaeeaebc
Merge pull request #593 from beetrees/fix-f16-conv-c
Add builtins for `f16`/`f128` float conversions
2024-05-02 13:53:15 +02:00
beetrees
229babb1d0 Add builtins for f16/f128 float conversions 2024-05-02 13:49:24 +02:00
Chris Denton
0b4ddb1738
Merge pull request #594 from Amjad50/fix_libm_weak_link
Fix math libraries not being linked on some platforms
2024-04-30 21:32:48 +00:00
Amjad Alsharafi
656106f050 Updated libm to fix clippy warning 2024-04-30 23:28:43 +02:00
Amjad Alsharafi
f761f03822 Fix clippy warnings in math
The solution is not pretty, but not sure why we still get clippy
warning from one of the files in `libm` even though we use
`allow(clippy::all)`
2024-04-30 23:28:43 +02:00
Amjad Alsharafi
2ce9bc0cc1 Fix math libraries not being linked on some platforms
This is a continuation/fix of 018616e. In that commit, we made it add
the math functions to all platforms (except apple-targets and windows),
and use `weak` linking, so that it can be used if the system doesn't
have those functions.

Didn't notice `mod math` was behind another set of `cfg`, so removed it
as well here.
2024-04-30 23:28:43 +02:00
Amanieu d'Antras
6c10d7f035
Merge pull request #597 from beetrees/i128-readme
Update status of 128-bit integers in README.md
2024-04-29 12:10:20 +02:00
beetrees
a2587f7b02
Update status of 128-bit integers in README.md 2024-04-28 17:41:35 +01:00
Amanieu d'Antras
c9b8b33a5c
Merge pull request #591 from tgross35/testing-updates
Add a way to test more targets on non-linux machines
2024-04-19 18:05:23 +02:00
Trevor Gross
1b679e5cee Apply some more fixes suggested by Shellcheck 2024-04-19 11:49:23 -04:00
Trevor Gross
a55604fd8c Add a way to run tests on non-linux machines
Allow using the `rust-lang/rust:nightly` docker image to run tests in
cases where the host rust and cargo cannot be used, such as non-linux
hosts.
2024-04-19 11:49:23 -04:00
Amanieu d'Antras
f8002a4861
Merge pull request #592 from tgross35/lse-gating
Add a fix for aarch64-darwin and enable it in CI
2024-04-17 02:30:30 +02:00
Trevor Gross
d5bc2de9ec Add CI testing for AArch64 Darwin
The Apple ARM silicon has been around for a while now and hopefully will
become Rust Tier 1 at some point. Add it to CI since it is distinct
enough from aarch64-linux and x86_86-darwin that there may be
differences.
2024-04-16 14:04:47 -04:00
Trevor Gross
47f2241db9 Change aarch64_linux module and lse tests to have the same gating
Trying to run testcrate on non-linux aarch64 currently hits a
compilation error. Make this test linux-only, to be consistent with the
`aarch64_linux` module that it depends on.

Additionally, enable the `aarch64_linux` module for `target_arch =
"arm64ec"` to be the same as these tests.
2024-04-16 14:04:47 -04:00
Amanieu d'Antras
3eab86ff86
Merge pull request #589 from Amanieu/release-0.1.109
Release 0.1.109
2024-04-10 14:24:37 +02:00
Amanieu d'Antras
bd48df66bd Release 0.1.109 2024-04-10 13:16:43 +01:00
Amanieu d'Antras
16a1878dd3
Merge pull request #577 from Amjad50/weak_link_libm
Always have math functions but with `weak` linking attribute if we can
2024-04-10 13:44:16 +02:00