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
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
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
bjorn3
48ca2d9703
Implement llvm.fma.v* intrinsics
...
cc #1405
2023-10-31 18:38:31 +00:00
Guillaume Gomez
aed0ed2875
Rollup merge of #117317 - RalfJung:track-caller, r=oli-obk
...
share some track_caller logic between interpret and codegen
Also move the code that implements the track_caller intrinsics out of the core interpreter engine -- it's just a helper creating a const-allocation, doesn't need to be part of the interpreter core.
2023-10-30 17:33:16 +01:00
bjorn3
9a33f82140
Remove inline asm support from the list of limitations
...
#1403 extended support to all targets supported by cg_clif
2023-10-30 15:21:34 +00:00
bjorn3
51f6ac7bfc
Merge branch 'sync_from_rust'
2023-10-29 20:32:36 +00:00
bjorn3
41dcb52153
Merge commit 'dde58803fd6cbb270c7a437f36a8a3a29fbef679' into sync_cg_clif-2023-10-29
2023-10-29 20:30:50 +00:00
bjorn3
dde58803fd
Rustup to rustc 1.75.0-nightly ( e5cfc5547
2023-10-28)
2023-10-29 20:29:52 +00:00
bjorn3
e281e6fdb2
Sync from rust e5cfc55477
2023-10-29 20:18:11 +00:00
bjorn3
9436eae49b
Merge pull request #1403 from rust-lang/use_llvm_backend_as_assembler
...
Support and stabilize inline asm on all platforms
2023-10-29 21:14:08 +01:00
bjorn3
69c6aa560c
Avoid infinite recursion when cranelift is the default codegen backend
2023-10-29 19:45:30 +00:00
bjorn3
35453ac0eb
Stabilize inline asm usage on all platforms
...
But exclude sym operands for now as they are somewhat broken.
2023-10-29 16:40:52 +00:00
bjorn3
b1e705146a
Unconditionally handle int $$0x29 using a shim
2023-10-29 16:08:16 +00:00
bjorn3
827a6d8d9f
Use the LLVM rustc backend as external assembler
...
The LLVM backend is generally available, while the gnu assembler is not
on Windows and many other platforms by default.
2023-10-29 16:06:32 +00:00
bors
da1ed4dc4a
Auto merge of #81746 - bjorn3:cg_clif_rustup_component, r=Mark-Simulacrum
...
Distribute cg_clif as rustup component on the nightly channel
This makes it possible to use cg_clif using:
```bash
$ rustup component add rustc-codegen-cranelift-preview --toolchain nightly
$ RUSTFLAGS="-Zcodegen-backend=cranelift" cargo +nightly build
```
cc https://github.com/rust-lang/compiler-team/issues/405 .
r? `@Mark-Simulacrum`
2023-10-28 15:16:27 +00:00
Ralf Jung
c6f5090294
share the track_caller handling within a mir::Body
2023-10-28 16:16:15 +02:00
Ralf Jung
bad4be6e29
interpret: call caller_location logic the same way codegen does, and share some code
2023-10-28 15:40:03 +02:00
bors
9e20870c2e
Auto merge of #116609 - eduardosm:bump-stdarch, r=workingjubilee
...
Bump stdarch submodule and remove special handling for LLVM intrinsics that are no longer needed
Bumps stdarch to pull https://github.com/rust-lang/stdarch/pull/1477 , which reimplemented some functions with portable SIMD intrinsics instead of arch specific LLVM intrinsics.
Handling of those LLVM intrinsics is removed from cranelift codegen and miri.
cc `@RalfJung` `@bjorn3`
2023-10-28 11:26:34 +00:00
bjorn3
1cb7bdb757
Update target-lexicon to 0.12.12
...
This adds support for loongarch and a bunch of other targets
2023-10-27 11:56:39 +00:00
bjorn3
1e39bbf74c
Update Cranelift to 0.101.2 and disable host-arch feature of cranelift-codegen
...
This ensures that cg_clif can be built for targets that aren't natively
supported by Cranelift. It will not be possible to compile for the host
in this case, but cross-compilation will still be possible.
We won't distribute cg_clif as rustup component for any targets that
aren't natively supported by Cranelift, but will still build it if
codegen-backends lists "cranelift".
2023-10-27 11:56:39 +00:00
bjorn3
6d30a7dd70
Merge branch 'sync_from_rust'
2023-10-24 12:24:03 +00:00
bjorn3
a302610016
Merge commit '93a5433f17ab5ed48cc88f1e69b0713b16183373' into sync_cg_clif-2023-10-24
2023-10-24 12:22:23 +00:00
bjorn3
93a5433f17
Update Cranelift to 0.101.1
...
This patch release fixes an ABI incompatibility with LLVM.
Fixes #1395
2023-10-23 19:06:04 +00:00
bjorn3
a558968dbe
Implement all llvm intrinsics necessary for the image crate
...
Fixes #1379
2023-10-23 14:10:22 +00:00
bjorn3
efd3081083
Update rust-analyzer config
2023-10-23 13:24:46 +00:00
bjorn3
e5ba1e8417
Implement llvm intrinsics necessary for rav1e
...
Fixes #1399
2023-10-23 14:06:47 +02:00
bjorn3
ed8c515cc4
Avoid collect_and_partition_mono_items call when not doing codegen
...
Fixes #1401
2023-10-23 09:35:15 +00:00
bjorn3
7c4fcd4165
Update readme for the move to the rust-lang org
2023-10-22 22:45:03 +02:00
bjorn3
56c6c86661
Simplify FunctionCx::create_stack_slot a bit
2023-10-22 18:10:59 +00:00
bjorn3
55380a5ffd
Dynamically realign local variables with large alignment
...
This works around the lack of a way to specify the alignment of a stack
slot in Cranelift.
Fixes #1230
Fixes #1381
2023-10-22 17:11:11 +00:00
bjorn3
38e8be9673
Add create_stack_slot helper to FunctionCx
...
This will allow centrally handling a workaround for the lack of stack
alignment specifier in cranelift.
2023-10-22 16:02:14 +00:00
bjorn3
a99b1b4c0b
Merge branch 'sync_from_rust'
2023-10-21 19:57:28 +00:00
bjorn3
e472b5573a
Merge commit 'c07d1e2f88cb3b1a0604ae8f18b478c1aeb7a7fa' into sync_cg_clif-2023-10-21
2023-10-21 19:54:51 +00:00
bjorn3
c07d1e2f88
Use same --remap-path-prefix as bootstrap for testing the rustc test suite
...
This allows removing the CFG_VIRTUAL_RUST_SOURCE_BASE_DIR hack and
re-enabling a fair amount of tests.
2023-10-21 19:01:08 +00:00
bjorn3
62f6e84ac1
Merge pull request #1398 from bjorn3/riscv_support
...
Add riscv64 linux support
2023-10-21 20:16:33 +02:00
bjorn3
1848d25a83
Add shim for core::hint::spin_loop() on riscv64
2023-10-21 17:37:45 +00:00
bjorn3
78cd77f1f1
Give better error for unsupported asm!()
2023-10-21 16:47:14 +00:00
bjorn3
eb30083b69
Fix epilogue_noreturn for AArch64
2023-10-21 16:47:14 +00:00
bjorn3
55cc776731
Introduce asm_supported() helper
2023-10-21 16:47:14 +00:00
bjorn3
46388c1702
Re-enable all inline asm usage for the rustc tests
2023-10-21 16:46:45 +00:00
bjorn3
453ce49a6f
Support inline asm on riscv64
2023-10-21 16:46:24 +00:00