Lokathor
2e3ba17f9d
there are no longer any default features
2019-09-05 08:32:05 -06:00
Benjamin Saunders
01a0524d8c
Tidy up unordered elementwise atomic memory intrinsics
2019-08-23 10:20:09 -07:00
Alex Crichton
85d36cbe37
Merge pull request #311 from Ralith/elementwise-unordered-atomics
...
Implement LLVM's elementwise unordered atomic memory intrinsics
2019-08-22 16:01:41 -07:00
Benjamin Saunders
1cc3d32874
Implement LLVM's elementwise unordered atomic memory intrinsics
...
Allows uses of intrinsics of the form
llvm.(memcpy|memmove|memset).element.unordered.atomic.* to be linked.
2019-08-21 18:21:58 -07:00
Alex Crichton
1dec01c8e4
Merge pull request #310 from alexcrichton/modernize
...
Modernize the `testcrate` slighty
2019-08-19 17:21:50 -05:00
Joel Galenson
a80233948f
Update comment to mention where the __FILE__ macro is used.
2019-08-19 15:12:07 -07:00
Alex Crichton
a292bd9cb5
Modernize the testcrate slighty
...
* Update `rand` dependency
* Drop `cast` in favor of explicit casting or crate-defined
* Move build script to 2018 edition
2019-08-19 14:02:08 -07:00
Joel Galenson
cefd832d89
Support deterministic builds by remapping the __FILE__ prefix if the compiler supports it.
2019-08-19 09:30:45 -07:00
Lokathor
3dd4991eab
rustfmt fixes
2019-08-13 23:45:50 -06:00
Lokathor
ff3dd206d1
slightly improve spec and sanity check coverage
2019-08-13 23:40:54 -06:00
Alex Crichton
c4a676d5cb
Merge pull request rust-lang/libm#216 from Lokathor/sse-sqrt
...
Improve sqrt/sqrtf if stable intrinsics allow
2019-08-12 09:57:54 -05:00
Roman Proskuryakov
f004acd691
Fix broken link in README
2019-08-12 10:30:36 +02:00
Lokathor
0b8c514c8f
update comments
2019-08-08 18:21:18 -06:00
Lokathor
e247c599cc
update comments
2019-08-08 18:21:10 -06:00
Lokathor
887fca89c2
move use/const statements to a limited scope
2019-08-07 14:16:10 -06:00
Lokathor
47d6a214d4
apply rustfmt
2019-08-07 14:10:34 -06:00
Lokathor
d19e47014a
Improve sqrt/sqrtf if stable intrinsics allow
2019-08-07 14:06:12 -06:00
Alex Crichton
8b76d44636
Bump to 0.1.19
2019-07-24 07:05:29 -07:00
Alex Crichton
0f6042793a
Merge pull request #306 from da-x/probestack-frame-pointer
...
probestack: add frame pointers for easier traceback
2019-07-24 09:04:02 -05:00
Dan Aloni
84e8cc74c5
probestack: add frame pointers for easier traceback
...
This turns the following backtrace,
```
>> bt
#0 0x0000555555576f73 in __rust_probestack () at /cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.14/src/probestack.rs:55
Backtrace stopped: Cannot access memory at address 0x7fffff7fedf0
```
To this:
```
>>> bt
#0 0x0000555555574e47 in __rust_probestack ()
#1 0x00005555555595ba in test::main ()
#2 0x00005555555594f3 in std::rt::lang_start::{{closure}} ()
#3 0x0000555555561ae3 in std::panicking::try::do_call ()
#4 0x000055555556595a in __rust_maybe_catch_panic ()
#5 0x000055555555af9b in std::rt::lang_start_internal ()
#6 0x00005555555594d5 in std::rt::lang_start ()
#7 0x000055555555977b in main ()
```
2019-07-24 10:18:30 +03:00
Alex Crichton
fb35190998
Bump to 0.1.18
2019-07-19 07:44:17 -07:00
Alex Crichton
3c36beb31b
Merge pull request #302 from bjorn3/no_128bit_lang_items
...
Replace {u,i}128_* lang items with __rust_{u,i}128_* unmangled functions
2019-07-19 09:44:00 -05:00
Alex Crichton
e80c858e20
Merge pull request #301 from RalfJung/dyn
...
avoid bare trait objects
2019-07-15 10:04:18 -05:00
Alex Crichton
7773dafe01
Bump to 0.1.17
2019-07-15 07:26:49 -07:00
bjorn3
4ca09454a8
Fix tests
2019-07-13 12:27:58 +02:00
bjorn3
8bd3e4d5a1
Replace {u,i}128_* lang items with __rust_{u,i}128_* unmangled functions
...
The -Zlower-128bit-ops feature is completely broken, as libcore needs
those lang items to compile with this feature, but they are only
provided by compiler_builtins, which itself depends on libcore.
According to rust-lang/rust#58969 the feature never got finished.
This commit removes the associated lang items and replaces them with
normal unmangled functions, when there is no existing intrinsic. This
makes it easier for alternative codegen backends to implement 128bit
integer support.
2019-07-13 11:38:35 +02:00
Ralf Jung
8ae096b544
avoid bare trait objects
2019-07-13 11:07:43 +02:00
Ralf Jung
29ea38c623
remove unused imports
2019-07-13 11:00:15 +02:00
Ralf Jung
f4bc012b26
avoid ptr::write which might panic in debug mode
2019-07-13 10:55:54 +02:00
Alex Crichton
b05e339db2
Merge pull request rust-lang/libm#209 from gnzlbg/fma
...
Fix overflow bugs in fma
2019-07-11 09:29:20 -05:00
gnzlbg
c2b0bbb814
Fix overflow bug in fma
2019-07-10 18:33:38 +02:00
Alex Crichton
f783ff454b
Remove most #[inline] annotations
...
These annotations fall into a few categories
* Some simply aren't needed since functions will always be in the same
CGU anyway and are already candidates for inlining.
* Many are on massive functions which shouldn't be inlined across crates
due to code size concerns.
* Others aren't necessary since calls to this crate are rarely inlined
anyway (since it's lowered through LLVM).
If this crate is called directly and inlining is needed then LTO can
always be turned on, otherwise this will benefit downstream consumers by
avoiding re-codegen'ing so many functions.
2019-07-10 08:42:28 -07:00
gnzlbg
42e0c8c0a1
Add FMA tests that cause it to segfault
2019-07-10 16:57:13 +02:00
Alex Crichton
002b51d035
Merge pull request rust-lang/libm#205 from gnzlbg/fenv
...
Floating-point environment APIs are private
2019-07-09 10:47:50 -05:00
gnzlbg
e46b4a8299
Floating-point environment APIs are private
2019-07-09 17:33:01 +02:00
gnzlbg
2da2f8dce4
Add nextafter and nextafterf from musl
2019-07-09 17:17:08 +02:00
Alex Crichton
36b5b4c00c
Merge pull request rust-lang/libm#196 from Schultzer/add-remainder
...
Add remainder
2019-07-04 06:45:20 +02:00
gnzlbg
e8ad478f6f
Remove traits from README
2019-07-03 23:53:35 +02:00
gnzlbg
dc9fa00222
Bump minor version to 0.2.0
2019-07-03 23:35:24 +02:00
gnzlbg
0e871e58b4
Remove F32Ext and F64Ext
2019-07-03 23:35:07 +02:00
Benjamin Schultzer
05762eb876
Only return the fp value.
...
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-03 14:24:16 -07:00
Benjamin Schultzer
1d159b5278
Add remainder
...
This PR adds the missing `remainder` and `remainderf` found in musl libm respectly https://git.musl-libc.org/cgit/musl/tree/src/math/remainder.c and https://git.musl-libc.org/cgit/musl/tree/src/math/remainderf.c
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-03 12:01:21 -07:00
Benjamin Schultzer
4f5e28166f
Add signum
...
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-02 12:02:43 -07:00
Alex Crichton
99ef5a062a
Merge pull request rust-lang/libm#191 from m1el/fuzz-rem-overflows
...
Fixed a few int overflows
2019-07-02 10:41:48 -05:00
Igor null
5e711e630e
Fixed a few int overflows
...
rem_pio2 had incorrect u32/i32 operations
remquo has a straight int overflow
2019-07-02 16:48:59 +03:00
gnzlbg
eb08eb0d43
Run benchmarks on CI
2019-07-02 09:07:10 +02:00
gnzlbg
f6e48dd17d
Re-export the stable libm feature
2019-07-02 08:33:11 +02:00
gnzlbg
cc1671fc57
Do not enable default features in benchmarks
2019-07-02 08:32:31 +02:00
gnzlbg
53c6687ef5
Move benchmarks into its own crate
2019-07-02 08:22:03 +02:00
Benjamin Schultzer
2cd88e96b1
Add benchmark suite
...
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-01 18:37:23 -07:00