Commit Graph

3862 Commits

Author SHA1 Message Date
bjorn3
aef31cb2f3 Implement _mm_srli_epi64 2023-06-23 09:35:39 +00:00
bjorn3
bbf45081b7 Implement _mm_srai_epi* and _mm256_srai_epi* 2023-06-23 09:32:52 +00:00
bjorn3
71cb045c7d Fix _mm_cmp*_ps 2023-06-23 09:27:15 +00:00
bjorn3
7cbc8bcb4b Implement nontemporal_store using a regular store 2023-06-23 09:19:11 +00:00
bjorn3
41af17a9d1 Implement more _mm_cmp*_{ps,pd} intrinsics 2023-06-23 09:18:56 +00:00
bjorn3
0311202fd4 Implement _addcarry_u32 and _subborrow_u32 2023-06-23 09:17:02 +00:00
bjorn3
6b141f39d2 Rustup to rustc 1.72.0-nightly (065a1f5df 2023-06-21) 2023-06-22 18:45:21 +00:00
bjorn3
ee1793432d Sync from rust 065a1f5df9 2023-06-22 18:40:02 +00:00
bjorn3
c8620a3cbf Nicer error when implementation limits are exceeded
Fixes #1370
2023-06-20 15:48:00 +00:00
bjorn3
e5268804a2 Update Cranelift to 0.97 2023-06-20 15:32:44 +00:00
bjorn3
aebbeceb88 Handle rust-call abi without self argument
Fixes #1236
2023-06-20 10:05:23 +00:00
Michael Goulet
7ba31b9938 Rollup merge of #112232 - fee1-dead-contrib:match-eq-const-msg, r=b-naber
Better error for non const `PartialEq` call generated by `match`

Resolves #90237
2023-06-19 17:53:33 -07:00
bjorn3
daf79b5685 Avoid the stack in a couple more cases in write_cvalue_maybe_transmute 2023-06-19 20:56:21 +00:00
bjorn3
ab836ca5e3 Fix transmuting fat pointers to integers
Fixes #1325
2023-06-19 20:55:55 +00:00
bjorn3
ece98a4b41 Simplify CPlaceInner::Addr branch of write_cvalue_maybe_transmute 2023-06-19 20:26:07 +00:00
bjorn3
d169ee3457 Recurse into function signatures in assert_assignable
Fixes #1311
2023-06-19 19:30:44 +00:00
bjorn3
43064b005d Update portable-simd 2023-06-19 17:39:38 +00:00
bjorn3
932645473c Fix warning about the cargo resolver to use 2023-06-19 17:36:32 +00:00
bjorn3
0b3060138b Use -Zinline-mir instead of -Zmir-opt-level=3
Except for mir inlining all mir opts that are beneficial for cg_clif now
run on -Zmir-opt-level=2. -Zmir-opt-level=3 enables some more expensive
optimizations.
2023-06-19 17:21:30 +00:00
bjorn3
8b23094ade Fix some outdated references to y.rs 2023-06-19 16:21:11 +00:00
bjorn3
87374d89e0 Rustup to rustc 1.72.0-nightly (2d0aa5768 2023-06-18) 2023-06-19 14:03:36 +00:00
bjorn3
361a1ea39b Sync from rust 2d0aa57684 2023-06-19 13:55:47 +00:00
Scott McMurray
0c3e15283f Remove unchecked_add/sub/mul/shl/shr from CTFE/cg_ssa/cg_clif 2023-06-19 01:47:03 -07:00
Scott McMurray
9efe5e746a Promote unchecked_add/sub/mul/shl/shr to mir::BinOp 2023-06-19 01:47:03 -07:00
Deadbeef
c96f17c51f Better error for non const PartialEq call generated by match 2023-06-18 05:24:38 +00:00
DrMeepster
f429b3e67f remove box_free and replace with drop impl 2023-06-16 13:41:06 -07:00
bjorn3
9c8c14fba2 Merge branch 'sync_from_rust' 2023-06-15 17:58:56 +00:00
bjorn3
81ea0b29ea Merge commit '8830dccd1d4c74f1f69b0d3bd982a3f1fcde5807' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
bjorn3
8830dccd1d Rustup to rustc 1.72.0-nightly (8c74a5d27 2023-06-14) 2023-06-15 17:45:30 +00:00
bjorn3
c1fa3cf6c4 Sync from rust 8c74a5d27c 2023-06-15 17:40:32 +00:00
bjorn3
f2895f3143
Merge pull request #1357 from bjorn3/build_system_rework6
Support testing of cg_clif in rust's CI
2023-06-15 19:37:23 +02:00
bjorn3
e9bd63af3c Ignore -Clink-arg=-import-instr-limit 2023-06-15 17:14:49 +00:00
bors
2445d740f7 Auto merge of #112314 - ferrocene:pa-core-alloc-abort, r=bjorn3
Ignore `core`, `alloc` and `test` tests that require unwinding on `-C panic=abort`

Some of the tests for `core` and `alloc` require unwinding through their use of `catch_unwind`. These tests fail when testing using `-C panic=abort` (in my case through a target without unwinding support, and `-Z panic-abort-tests`), while they should be ignored as they don't indicate a failure.

This PR marks all of these tests with this attribute:

```rust
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
```

I'm not aware of a way to test this on rust-lang/rust's CI, as we don't test any target with `-C panic=abort`, but I tested this locally on a Ferrocene target and it does indeed make the test suite pass.
2023-06-13 19:03:27 +00:00
bjorn3
485d7e129f Remove outdated fixme 2023-06-13 16:39:59 +00:00
bjorn3
a691b14aee Allow skipping tests from the commandline 2023-06-13 16:39:59 +00:00
bjorn3
8c1c84d79e Copy Cargo.lock over in ./y.sh prepare
This makes it easier for ./x.py to vendor all dependencies
2023-06-13 16:39:59 +00:00
bjorn3
bcac222013 Lazily patch the standard library 2023-06-13 16:39:59 +00:00
bjorn3
d0ea8bbc5e Only copy library dir for stdlib
When building as part of rust, the sysroot source dir is symlinked to
the main source dir, which contains the build dir to which we are likely
copying.
2023-06-13 16:39:59 +00:00
bjorn3
6b9af8cb36 Disable all incremental compilation for CARGO_BUILD_INCREMENTAL=false 2023-06-13 16:39:59 +00:00
bjorn3
eb3e8bb7d7 Move some profile settings out of the stdlib cargo workspace patch 2023-06-13 16:39:59 +00:00
bjorn3
8ad9e9f861 Ensure everything has a lockfile 2023-06-13 16:39:59 +00:00
bjorn3
d3da972441 Write stdlib workspace Cargo.toml directly in prepare.rs 2023-06-13 16:39:59 +00:00
bjorn3
67f9fe6863 Lazily patch all test projects 2023-06-13 16:39:59 +00:00
bjorn3
3baee66f9b Rework standard library building 2023-06-13 16:39:59 +00:00
bjorn3
54eaa5382c Enable compiler-builtins no-asm feature using --features flag 2023-06-13 16:39:59 +00:00
bjorn3
b9129c0d6b Rename a couple of build dirs for consistency 2023-06-13 16:39:59 +00:00
bjorn3
fc23a8a7e0 Lazily patch coretests 2023-06-13 16:39:59 +00:00
bjorn3
2c38effe28 Don't patch in place in apply_patches
This will make it easier to skip patching if unnecessary in the future
2023-06-13 16:39:59 +00:00
bjorn3
75327f8587 Reuse existing download in y.sh prepare if fresh 2023-06-13 16:39:59 +00:00
bjorn3
0e4139922e Put patched sources in build/ instead of download/ 2023-06-13 16:39:59 +00:00