Commit Graph

2049 Commits

Author SHA1 Message Date
Tyler Mandry
d511d48b97 Add control flow information to __rust_probestack (#328) 2019-12-06 08:51:42 -06:00
Alex Crichton
ca69fcbf12 Update checkout action reference 2019-12-03 09:11:29 -08:00
Alex Crichton
d6d215b97c Bump to 0.2.1 2019-11-22 11:16:36 -08:00
AJ Frantz
a8d9eb7521 Fix sincosf for interval (7*pi/4, 9*pi/4) (#233)
A mistake was made in porting musl's implementation which caused the sin
and cos components to be reversed.

closes rust-lang/libm#232
2019-11-22 13:16:00 -06:00
Alex Crichton
62c025e9a8 Update publishing instructions 2019-11-11 10:40:09 -08:00
Alex Crichton
4729d8bf39 Bump to 0.1.21 2019-11-11 10:39:08 -08:00
Alex Crichton
eb58e12abf Gate atomic intrinsics on presence of instructions (#324)
Don't emit the intrinsics for platforms which don't actually have the
instructions to do atomic loads/stores.

Closes #322
2019-11-11 12:38:50 -06:00
Alex Crichton
3f473cd3f3 Allow FFI-unsafe warnings for u128/i128 (#323)
* Allow FFI-unsafe warnings for u128/i128

Handle new warnings on nightly, and we shouldn't need to worry about
these with compiler-builtins since this is tied to a particular compiler.

* Clean up crate attributes

* No need for stability marker
* Rustdoc docs not used for this crate
* Remove old build-system related cruft from rustc itself.

* Run `cargo fmt`
2019-11-11 12:19:10 -06:00
Alex Crichton
5067dce074 Bump to 0.1.20 2019-11-07 11:04:36 -08:00
Oliver Scherer
bff186bef3 Emit _fltused on uefi targets as a short-term workaround (#317)
* Emit `_fltused` on `uefi` targets as a short-term workaround

* Remove stray docker container
2019-11-07 13:04:11 -06:00
Alex Crichton
12283c7aca Fix Github Actions for recent system changes 2019-10-28 07:39:04 -07:00
Christopher Serr
3b3f3e977c Fix sincosf(PI) (#229)
Looks like the implementation was not ported correctly. Some negations
were forgotten in a certain branch. Here is the original code in musl
that has the negations:

94cb2ec2a0/src/math/sincosf.c (L66-L67)

Resolves rust-lang/libm#228
2019-10-18 08:23:57 -05:00
Ian Kronquist
af3d2e0a3c Implement bcmp (#315)
As of LLVM 9.0, certain calls to memcmp may be converted to bcmp, which I guess
could save a single subtraction on some architectures. [1]

bcmp is just like memcmp except instead of returning the difference between the
two differing bytes, it returns non-zero instead. As such, memcmp is a valid
implementation of bcmp.

If we care about size, bcmp should just call memcmp.
If we care about speed, we can change bcmp to look like this instead:
```rust
pub unsafe extern "C" fn bcmp(s1: *const u8, s2: *const u8, n: usize) -> i32 {
    let mut i = 0;
    while i < n {
        let a = *s1.offset(i as isize);
        let b = *s2.offset(i as isize);
        if a != b {
            return 1;
        }
        i += 1;
    }
    0
}
```

In this PR I do not address any changes which may or may not be needed for arm
aebi as I lack proper test hardware.

[1]: https://releases.llvm.org/9.0.0/docs/ReleaseNotes.html#noteworthy-optimizations
2019-09-30 11:02:47 -05:00
Alex Crichton
52ecbdd9c0 Remove -nursery from urls 2019-09-25 11:20:49 -07:00
Alex Crichton
30bf61039f Remove -nursery from urls 2019-09-25 11:20:14 -07:00
Alex Crichton
d7adb275eb Update the gitmodule url for libm 2019-09-25 11:19:35 -07:00
Alex Crichton
0198311a4b Migrate to github actions from Azure Pipelines
Less need to manage users, more concurrency, and interface is all in
one!
2019-09-10 21:57:13 -05:00
Alex Crichton
fda4a8992f Migrate from azure pipelines to Github actions (#226)
Should make user management easier and also helps follow the repository
when it's renamed.
2019-09-10 10:07:17 -05:00
Lokathor
b86b2d59bc update the libm submodule, again 2019-09-09 19:43:37 -06:00
Lokathor
e796054f9e Update build.rs 2019-09-06 18:02:11 -06:00
Lokathor
e079f2d70d Update build.rs 2019-09-06 15:20:05 -06:00
Lokathor
3ab350613b Update the libm submodule 2019-09-06 13:48:15 -06:00
Lokathor
e9a2b2ca11 i was told to change this path to my repo and reset things 2019-09-06 11:37:00 -06:00
Lokathor
0960b00b10 suppress useless clippy warnings 2019-09-05 08:57:15 -06:00
Lokathor
de3480c3c2 Update run.sh 2019-09-05 08:36:08 -06:00
Lokathor
06184b8d10 use sebug_assertions 2019-09-05 08:33:34 -06:00
Lokathor
c847d46c64 swap stable to be unstable, use debug_assertions 2019-09-05 08:33:23 -06:00
Lokathor
c6fbe72886 swap stable to be unstable 2019-09-05 08:33:03 -06:00
Lokathor
9811b57af2 swap stable to be unstable 2019-09-05 08:32:38 -06:00
Lokathor
de80131c26 swap stable to be unstable, checked is now debug_assertions 2019-09-05 08:32:26 -06:00
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