Felix S. Klock II
8266a1343b
Document origins of the multiplication method being used here.
2022-10-25 11:25:14 -04:00
Amanieu d'Antras
6f53a4f074
Bump to 0.1.82
2022-10-10 19:04:06 +01:00
Ralf Jung
6267545315
invoke the unreachable intrinsic, not the stable wrapper
2022-10-10 19:34:48 +02:00
Amanieu d'Antras
2e0590c997
Fix clippy lints
2022-10-10 17:40:16 +01:00
Amanieu d'Antras
1bffeb803e
Merge pull request #343 from silwol/master
2022-10-10 17:35:41 +01:00
Amanieu d'Antras
8bc227d1fe
Bump to 0.1.81
2022-09-29 03:16:50 +01:00
Lokathor
f6cd5cf806
Update macros.rs
2022-09-27 13:22:45 -06:00
Amanieu d'Antras
4c8bb40c8d
Bump to 0.1.80
2022-09-20 16:20:52 +08:00
D1plo1d
1d5b952100
math: Enabled floating point intrinsics for RISCV32 microcontrollers
2022-09-17 11:47:21 -04:00
Amanieu d'Antras
83c4ff5f96
Bump to 0.1.79
2022-08-10 15:28:39 +01:00
Amanieu d'Antras
1eb4cc1977
Update libm submodule
2022-08-10 15:24:16 +01:00
David Hoppenbrouwers
a695cf95cf
Remove c32() from x86_64 memcmp
...
Fixes https://github.com/rust-lang/compiler-builtins/issues/487
2022-08-10 11:29:38 +02:00
Nicholas Bishop
abb6893a85
Enable unadjusted_on_win64 for UEFI in some cases
...
The conversion functions from i128/u128 to f32/f64 have the
`unadjusted_on_win64` attribute, but it is disabled starting with
LLVM14. This seems to be the correct thing to do for Win64, but for some
reason x86_64-unknown-uefi is different, despite generally using the
same ABI as Win64.
2022-08-03 19:16:03 -04:00
Amanieu d'Antras
8a9e33297a
Bump to 0.1.78
2022-07-30 01:45:31 +01:00
Amanieu d'Antras
b71753da80
Merge pull request #484 from Alexhuszagh/armv5te
2022-07-30 02:42:08 +02:00
Amanieu d'Antras
a81a868a59
Merge pull request #482 from ankane/gamma
2022-07-30 02:41:21 +02:00
Andrew Kane
d9cd50d32f
Update libm
2022-07-29 17:34:06 -07:00
Alex Huszagh
599dcc2c46
Add compiler-rt fallbacks for sync builtins on armv5te-musl.
2022-07-29 16:58:05 -05:00
Alex Huszagh
de09c87e0b
Add compiler-rt fallback for __trunctfsf2 on mips64-musl.
2022-07-29 15:52:23 -05:00
Andrew Kane
89df6f6bc0
Added tgamma and tgammaf
2022-07-28 16:21:37 -07:00
Amanieu d'Antras
1913181e24
Bump to 0.1.77
2022-07-28 20:58:02 +01:00
David Hoppenbrouwers
66f22e0931
Remove branches around rep movsb/stosb
...
While it is measurably faster for older CPUs, removing them keeps the code
smaller and is likely more beneficial for newer CPUs.
2022-07-28 18:45:28 +02:00
David Hoppenbrouwers
04c223f0df
Skip rep movsb in copy_backward if possible
...
There is currently no measureable performance difference in benchmarks
but it likely will make a difference in real workloads.
2022-07-28 18:32:57 +02:00
David Hoppenbrouwers
30e0c1f4c2
Use att_syntax for now
2022-07-28 18:32:56 +02:00
David Hoppenbrouwers
897a133869
Remove rep_param_rev
2022-07-28 18:32:56 +02:00
David Hoppenbrouwers
45e2996c96
Fix suboptimal codegen in memset
2022-07-28 18:32:56 +02:00
David Hoppenbrouwers
a977b01090
Align destination in mem* instructions.
...
While misaligned reads are generally fast, misaligned writes aren't and
can have severe penalties.
2022-07-28 18:32:51 +02:00
Amanieu d'Antras
0cc9a7e4a6
Merge pull request #478 from Lokathor/weak-linkage-for-division
2022-07-28 18:14:59 +02:00
Nicholas Bishop
586e2b38ef
Enable win64_128bit_abi_hack for x86_64-unknown-uefi
...
The `x86_64-unknown-uefi` target is Windows-like [1], and requires the
same altered ABI for some 128-bit integer intrinsics.
See also https://github.com/rust-lang/rust/issues/86494 .
[1]: https://github.com/rust-lang/rust/blob/master/compiler/rustc_target/src/spec/x86_64_unknown_uefi.rs
2022-07-28 11:55:59 -04:00
Lokathor
8568a33255
restrict linkage to platforms using ELF binaries
...
on windows and apple (which don't use ELF) we can't apply weak linkage
2022-07-28 09:42:18 -06:00
Lokathor
1070134a56
Merge pull request #1 from rust-lang/master
...
updates from main
2022-07-28 09:36:02 -06:00
Ayush Singh
f2ac36348c
Use all of src/math for UEFI
...
This is needed for libtest
2022-07-28 20:51:44 +05:30
Amanieu d'Antras
6b6db5cc84
Disable some PPC64 tests which are failing due to an LLVM(?) bug
...
See https://github.com/rust-lang/rust/issues/99853
2022-07-28 16:02:04 +01:00
Lokathor
011f92c877
add weak linkage to the ARM AEABI division functions
2022-07-22 17:14:18 -06:00
Amanieu d'Antras
5e48419836
Bump to 0.1.76
2022-06-29 01:08:54 +01:00
Amanieu d'Antras
db6016bee5
Merge pull request #473 from Ayush1325/uefi-std
...
Enable mem for UEFI
2022-06-29 02:08:09 +02:00
Ayush Singh
f6ab9ca9a7
Enable mem for UEFI
...
Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-06-28 20:16:07 +05:30
Amanieu d'Antras
4d44679eb5
Bump to 0.1.75
2022-06-12 01:19:53 +01:00
Amanieu d'Antras
d14c5a43b7
Merge pull request #471 from Demindiro/x86_64-fix-recursive-memcmp
2022-06-12 02:19:30 +02:00
David Hoppenbrouwers
08f4f4007d
Fix infinite recursion in x86_64 memcmp if SSE2 is not present
...
Fixes #470
2022-06-11 09:20:01 +02:00
Sean Cross
7cdad114a5
math: compile math functions for Xous
...
This adds support for Xous, enabling users to call math functions on
primitives such as `cos()`.
Signed-off-by: Sean Cross <sean@xobs.io>
2022-06-09 09:12:44 +08:00
Sean Cross
bb0b7d660f
build: compile C code for "xous" operating system
...
The "xous" operating system is enturely Rust-based, meaning it has no
libc. Therefore, it relies on `compiler-builtins` for all intrinsics.
Unfortunately, there are not yet Rust equivalents for all C functions.
For example, triganometric functions are still missing. In the meantime,
enable C replacements for these functions so that Rust programs compiled
for Xous can call these functions.
Signed-off-by: Sean Cross <sean@xobs.io>
2022-06-09 08:40:15 +08:00
Amanieu d'Antras
cfc0422a7e
Bump to 0.1.74
2022-05-31 17:19:27 +01:00
David Hoppenbrouwers
cb63d7d500
Use unchecked_div/rem
2022-05-31 08:20:30 +02:00
David Hoppenbrouwers
b94e93ead8
Slightly optimize main (32b) memcmp loop
...
It only seems to save a single instruction at first sight yet the
effects are significant.
2022-05-28 22:46:16 +02:00
David Hoppenbrouwers
95d2cd5502
Fix rustfmt sillyness
2022-05-28 08:16:46 +02:00
David Hoppenbrouwers
217748f91b
Fix panic not being optimized out.
...
I don't know why it isn't being optimized out though, which worries
me.
2022-05-28 01:24:17 +02:00
David Hoppenbrouwers
2071d05a19
Always inline compare_bytes::cmp
2022-05-28 00:50:05 +02:00
David Hoppenbrouwers
e7a8932e3b
Fix CI, better memcmp tests
2022-05-28 00:10:55 +02:00
David Hoppenbrouwers
d6650678de
Fix formatting
2022-05-27 22:37:54 +02:00