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
bjorn3
6e7961ac5d
Sync from rust 0f44eb32f1
2023-11-10 11:10:26 +00:00
bjorn3
82487a9447
Merge pull request #1417 from rust-lang/implement_xgetbv
...
Implement a lot of SIMD intrinsics
2023-11-07 19:49:50 +01:00
bjorn3
864973135a
Implement all vendor intrinsics used by the simd-json crate
2023-11-07 18:10:12 +00:00
bjorn3
9f426cef38
Merge pull request #1416 from afonso360/aarch64-intrinsics-1
...
Implement AArch64 intrinsics necessary for simd-json
2023-11-07 14:38:10 +01:00
bjorn3
ecf79a304a
Implement all vendor intrinsics used by the fimg crate
2023-11-07 13:32:11 +00:00
bjorn3
0a35232c85
Implement all vendor intrinsics used by the httparse crate
2023-11-07 09:42:01 +00:00
bjorn3
61e38ceea7
Implement all SSE intrinsics used by the jpeg-decoder crate
2023-11-07 08:59:16 +00:00
bjorn3
438194980b
Implement all avx2 intrinsics used by the image crate
2023-11-05 19:49:30 +00:00
bjorn3
6a53acefd8
Implement _mm256_permute2f128_ps and _mm256_permute2f128_pd intrinsics
2023-11-05 18:24:39 +00:00
Afonso Bordado
209476e33a
Only import aarch64 intrinsics on aarch64
2023-11-04 19:47:56 +00:00
Afonso Bordado
f824da66c6
Make neon example build in all arches
2023-11-04 19:41:08 +00:00
Afonso Bordado
70a6abfd29
Add unsigned saturating add/sub intrinsics for aarch64
2023-11-04 19:37:36 +00:00
Afonso Bordado
88c2e7896b
Implement aarch64 addp intrinsics
2023-11-04 19:11:15 +00:00
Afonso Bordado
1f09bae6a8
Implement min/max neon intrisics
2023-11-04 19:07:13 +00:00
Nicholas Nethercote
8eca01f4b6
Remove support for compiler plugins.
...
They've been deprecated for four years.
This commit includes the following changes.
- It eliminates the `rustc_plugin_impl` crate.
- It changes the language used for lints in
`compiler/rustc_driver_impl/src/lib.rs` and
`compiler/rustc_lint/src/context.rs`. External lints are now called
"loaded" lints, rather than "plugins" to avoid confusion with the old
plugins. This only has a tiny effect on the output of `-W help`.
- E0457 and E0498 are no longer used.
- E0463 is narrowed, now only relating to unfound crates, not plugins.
- The `plugin` feature was moved from "active" to "removed".
- It removes the entire plugins chapter from the unstable book.
- It removes quite a few tests, mostly all of those in
`tests/ui-fulldeps/plugin/`.
Closes #29597 .
2023-11-04 08:50:46 +11:00
bjorn3
f6a8c3afb5
Add real implementation of _xgetbv()
2023-11-02 16:10:15 +00:00
bjorn3
909513ef74
Use Value instead of CValue in CInlineAsmOperand
2023-11-02 15:32:44 +00:00
bjorn3
ef3703694f
Disable a couple of rustc tests which are broken due to a rustc bug
2023-11-02 10:27:56 +00:00
bjorn3
c04ceb4342
Fix workaround for the int $$0x29
issue to not crash on empty inline asm
2023-11-02 09:52:21 +00:00
bjorn3
04f1024ecb
Rustup to rustc 1.75.0-nightly ( 75b064d26
2023-11-01)
2023-11-02 09:44:36 +00:00
bjorn3
361585e06d
Sync from rust 75b064d269
2023-11-02 09:38:34 +00:00
George Bateman
03c9acdd8f
Support enum variants in offset_of!
2023-10-31 23:25:54 +00:00