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
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