Commit graph

1096 commits

Author SHA1 Message Date
Amanieu d'Antras
371a6856ee
Merge pull request #504 from nicholasbishop/bishop-no-uefi-asm 2022-11-16 19:05:16 +00:00
Nicholas Bishop
98b3454d3d Skip assembly implementations on the UEFI targets
The UEFI targets link with `/SAFESEH`. That requires that objects have a
symbol called [`@feat.00`]. Clang adds that symbol for COFF targets if
the input is a C file, but not if the input is an ASM file. That doesn't
prevent compiler_builtins or rustc from building, but using the
resulting rustc to compile something that references one of the objects
lacking `@feat.00` will result in a linker error.

Fix by removing all the `.S` implementations when `target_os == uefi`.

[`@feat.00`]: https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#the-sxdata-section
2022-11-16 13:16:42 -05:00
Amanieu d'Antras
8fc5ec8b99
Merge pull request #503 from nicholasbishop/bishop-no-no-lang-items 2022-11-12 17:36:13 +00:00
Nicholas Bishop
524ca7ceb6 Remove unused no-lang-items feature 2022-11-12 12:09:06 -05:00
Amanieu d'Antras
f5c3be5629
Merge pull request #501 from Amanieu/release-0.1.83 2022-11-09 17:01:35 +00:00
Amanieu d'Antras
a996f56f5a Bump to 0.1.83 2022-11-09 04:12:51 +00:00
Amanieu d'Antras
c9b5a71c93
Merge pull request #500 from Jules-Bertholet/rint 2022-11-09 04:11:58 +00:00
Jules Bertholet
af5664be84
Update libm, add rint and rintf 2022-11-08 21:04:02 -05:00
Amanieu d'Antras
cf89479eb7
Merge pull request #499 from pnkfelix/ancient-history 2022-10-25 20:51:05 +01:00
Felix S. Klock II
2faf57c08d might as well add the link to the LLVM assembly code as well. 2022-10-25 12:32:41 -04:00
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
Amanieu d'Antras
bcd6313307
Merge pull request #496 from RalfJung/unreachable 2022-10-10 19:03:38 +01:00
Ralf Jung
6267545315 invoke the unreachable intrinsic, not the stable wrapper 2022-10-10 19:34:48 +02:00
Amanieu d'Antras
924453eea6
Merge pull request #498 from Amanieu/fix-clippy 2022-10-10 17:47:02 +01: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
Amanieu d'Antras
986743d392
Merge pull request #495 from Lokathor/more-weak-linkage 2022-09-29 02:59:47 +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
Amanieu d'Antras
f0d43b1d21
Merge pull request #493 from D1plo1d/riscv32_floating_point_math 2022-09-20 16:19:02 +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
Amanieu d'Antras
6fb26c170e
Merge pull request #488 from Demindiro/remove-x86_64-memcmp-c32 2022-08-10 16:19:06 +02: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
Amanieu d'Antras
09aca6f001
Merge pull request #486 from nicholasbishop/bishop-uefi-unadjusted-win64-4 2022-08-07 16:38:34 +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
Amanieu d'Antras
d117ae3ae7
Merge pull request #483 from Alexhuszagh/musl64 2022-07-29 23:14:24 +02: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
Amanieu d'Antras
c22f0d54c4
Merge pull request #474 from Demindiro/x86_64-mem-align-dest 2022-07-28 21:37:48 +02: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
Amanieu d'Antras
863ddc5a6f
Merge pull request #475 from nicholasbishop/bishop-fix-uefi-div 2022-07-28 18:14:13 +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