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
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
Nicholas Bishop
e4e03883ed
Enable chkstk/alloca intrinsics on i686-unknown-uefi
2024-05-08 21:47:12 -04:00
Amanieu d'Antras
2faef31e96
Release version 0.1.111
2024-05-04 19:57:27 +01: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
060391b020
Release version 0.1.110
2024-05-04 15:31:14 +01:00
Martin Nordholts
8c0c504d4f
Update reference to rustc-std-workspace-core
2024-05-04 14:56:01 +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
beetrees
229babb1d0
Add builtins for f16/f128 float conversions
2024-05-02 13:49:24 +02: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