bjorn3
3ff8e7bd7c
Fix rustc test suite
2023-12-07 18:23:39 +00:00
bjorn3
1095e0165c
Fix testing of portable-simd
2023-12-07 16:49:01 +00:00
bjorn3
3e81adeb12
Rustup to rustc 1.76.0-nightly ( 1fdfe1234
2023-12-06)
2023-12-07 14:29:06 +00:00
bjorn3
2559532a35
Sync from rust 1fdfe12347
2023-12-07 14:19:46 +00:00
Nicholas Nethercote
0657c1b932
Give Handler::fatal
and Session::fatal
the same return type.
...
Currently, `Handler::fatal` returns `FatalError`. But `Session::fatal`
returns `!`, because it calls `Handler::fatal` and then calls `raise` on
the result. This inconsistency is unfortunate.
This commit changes `Handler::fatal` to do the `raise` itself, changing
its return type to `!`. This is safe because there are only two calls to
`Handler::fatal`, one in `rustc_session` and one in
`rustc_codegen_cranelift`, and they both call `raise` on the result.
`HandlerInner::fatal` still returns `FatalError`, so I renamed it
`fatal_no_raise` to emphasise the return type difference.
2023-12-04 15:42:06 +11:00
bjorn3
db91a41537
Merge pull request #1432 from simonbuchan/windows-y-wrappers
...
Add Windows wrappers for ./y
2023-11-29 13:43:39 +01:00
bjorn3
f5a74dc9d0
Add missing trailing newline in y.cmd
2023-11-29 13:42:08 +01:00
Simon Buchan
62dbc19425
Add Windows wrappers for ./y
2023-11-27 21:41:13 +13:00
bors
400cd47c28
Auto merge of #118279 - bjorn3:sync_cg_clif-2023-11-25, r=bjorn3
...
Subtree sync for rustc_codegen_cranelift
The main highlights this time are implementing a bunch of new vendor intrinsics and fixing some existing ones. And fixing polymorphization for coroutines.
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler
2023-11-25 13:08:29 +00:00
bjorn3
6b82fe231d
Merge branch 'sync_from_rust'
2023-11-25 10:08:42 +00:00
bjorn3
1988cf4a18
Merge commit '710c67909d034e1c663174a016ca82b95c2d6c12' into sync_cg_clif-2023-11-25
2023-11-25 10:05:52 +00:00
bjorn3
710c67909d
Merge pull request #1431 from rust-lang/even_more_simd_intrinsics
...
Implement another batch of vendor intrinsics
2023-11-25 10:57:11 +01:00
bjorn3
86fc533a71
Re-enable rustc test that was disabled due to a rustc bug
2023-11-25 09:40:02 +00:00
bjorn3
da3782a0b4
Rustup to rustc 1.76.0-nightly ( 37b2813a7
2023-11-24)
2023-11-25 09:32:50 +00:00
bjorn3
85c708132f
Sync from rust 37b2813a7b
2023-11-25 09:24:52 +00:00
bjorn3
e6e2f00d21
Fix incorrect implementation of several vendor intrinsics
2023-11-25 09:14:37 +00:00
bjorn3
3b49b9efd5
Implement the int part of the gather family vendor intrinsics
2023-11-24 20:45:22 +01:00
bjorn3
d5a7ae7976
Implement the float part of the gather family vendor intrinsics
2023-11-24 20:45:22 +01:00
bjorn3
c8729e9216
Implement _mm256_zeroupper vendor intrinsic
2023-11-24 20:45:22 +01:00
bjorn3
65da671694
Implement *fmaddsub_p*, *fmsubadd_p* and *fnmadd_p* vendor intrinsics
2023-11-24 20:45:22 +01:00
bjorn3
705031d017
Implement _mm_cvttps_epi32
2023-11-24 20:45:22 +01:00
David Tolnay
abf08329bb
Replace option.map(cond) == Some(true)
with option.is_some_and(cond)
2023-11-24 09:14:09 -08:00
bjorn3
3ec8d7aa4a
Implement _mm_cmpestri and _mm_cmpestrm using inline asm
2023-11-24 13:39:51 +00:00
bjorn3
9c958196e7
Fix polymorphization for coroutines
...
Fixes rust-lang/rustc_codegen_cranelift#1429
2023-11-24 10:46:22 +01:00
bjorn3
430ab4e923
Allow function pointers in CValue::const_val
...
Fixes rust-lang/rustc_codegen_cranelift#1430
2023-11-24 10:22:59 +01:00
bjorn3
4ae658683f
Fix fn_sig_for_fn_abi and the coroutine transform for generators
...
There were three issues previously:
* The self argument was pinned, despite Iterator::next taking an
unpinned mutable reference.
* A resume argument was passed, despite Iterator::next not having one.
* The return value was CoroutineState<Item, ()> rather than Option<Item>
While these things just so happened to work with the LLVM backend,
cg_clif does much stricter checks when trying to assign a value to a
place. In addition it can't handle the mismatch between the amount of
arguments specified by the FnAbi and the FnSig.
2023-11-23 20:17:19 +00:00
bjorn3
a5fcfad890
Fix _mm_sad_epu8 implementation
...
Fixes rust-lang/rustc_codegen_cranelift#1426
2023-11-21 17:00:43 +01:00
bjorn3
cd7218aa9f
Update Cranelift to 0.102
2023-11-21 12:10:37 +01:00
bjorn3
97ca520c44
check-cfg needs -Zunstable-options
2023-11-16 21:24:33 +00:00
bjorn3
db12abf5e1
Merge branch 'sync_from_rust'
2023-11-16 21:16:53 +00:00
bjorn3
dfc669b74c
Merge commit 'def04540a4e2541b995195c752c751295606a388' into sync_cg_clif-2023-11-16
2023-11-16 21:15:07 +00:00
bjorn3
def04540a4
Rustup to rustc 1.76.0-nightly ( 6b771f6b5
2023-11-15)
2023-11-16 21:06:08 +00:00
bjorn3
d9122c7565
Update reference to bjorn3/rustc_codegen_cranelift
2023-11-16 20:55:49 +00:00
Mark Rousskov
497c17a390
Add check-cfg to cranelift
2023-11-15 21:45:48 -05:00
bjorn3
cc59a427c9
Use git clone --filter=tree:0 to speed up rust clones in CI
2023-11-12 17:35:58 +00:00
bjorn3
dd256865f9
Merge pull request #1425 from rust-lang/crypto_intrinsics_inline_asm
...
Implement AES-NI and SHA256 crypto intrinsics using inline asm
2023-11-12 18:33:57 +01:00
bjorn3
ca85cc3c7b
Implement SHA256 intrinsics using inline asm
2023-11-12 17:17:57 +00:00
bjorn3
813f8b4fd0
Use inline asm for _mm_clmulepi64_si128
...
This is a lot more compact and significantly faster
2023-11-12 17:10:46 +00:00
bjorn3
dc60334777
Implement AES-NI intrinsics using inline asm
2023-11-12 17:10:46 +00:00
bjorn3
6ef877c8c2
Support narrowing casts in mir_operand_get_const_val
2023-11-12 17:10:46 +00:00
bjorn3
2769ac03ba
Inline codegen_xgetbv into llvm_x86.rs
2023-11-12 17:10:46 +00:00
bjorn3
9205667c0d
Extract codegen_inline_asm_inner function and use in codegen_xgetbv
2023-11-12 17:10:46 +00:00
bjorn3
7947070789
Minor changes to codegen_inline_asm_terminator
2023-11-12 17:10:46 +00:00
bjorn3
ede3269ed8
Print /proc/cpuinfo for the CI runner where relevant
2023-11-12 16:59:15 +00:00
bjorn3
bf85e182d0
Merge pull request #1421 from Kobzol/patch-1
...
Add Rustup installation instructions to README
2023-11-12 15:45:43 +01:00
Jakub Beránek
d8445b1cf2
Add Rustup installation instructions to README
...
Now that cranelift is distributed with Rustup, I find myself constantly searching for the https://github.com/rust-lang/rust/pull/81746 PR. I think that it would be useful to also describe the Rustup installation/usage instructions here in README.
2023-11-11 22:49:27 +01:00
bjorn3
cdae1c939f
Set CG_CLIF_FORCE_GNU_AS for all rustc tests
2023-11-11 13:19:49 +00:00
bjorn3
c59226c3df
Merge branch 'sync_from_rust'
2023-11-10 11:33:22 +00:00
bjorn3
d49fd9f877
Merge commit 'c84d1871dc4456539b7b578830268ab3539915d0' into sync_cg_clif-2023-11-10
2023-11-10 11:30:51 +00:00
bjorn3
c84d1871dc
Rustup to rustc 1.75.0-nightly ( 0f44eb32f
2023-11-09)
2023-11-10 11:27:03 +00:00