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
c04ceb4342
Fix workaround for the int $$0x29
issue to not crash on empty inline asm
2023-11-02 09:52:21 +00:00
bjorn3
361585e06d
Sync from rust 75b064d26970ca8e7a487072f51835ebb057d575
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
41dcb52153
Merge commit 'dde58803fd6cbb270c7a437f36a8a3a29fbef679' into sync_cg_clif-2023-10-29
2023-10-29 20:30:50 +00:00
bjorn3
e281e6fdb2
Sync from rust e5cfc55477eceed1317a02189fdf77a4a98f2124
2023-10-29 20:18:11 +00: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
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
a302610016
Merge commit '93a5433f17ab5ed48cc88f1e69b0713b16183373' into sync_cg_clif-2023-10-24
2023-10-24 12:22:23 +00:00
bjorn3
a558968dbe
Implement all llvm intrinsics necessary for the image crate
...
Fixes #1379
2023-10-23 14:10:22 +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
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
e472b5573a
Merge commit 'c07d1e2f88cb3b1a0604ae8f18b478c1aeb7a7fa' into sync_cg_clif-2023-10-21
2023-10-21 19:54:51 +00: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
453ce49a6f
Support inline asm on riscv64
2023-10-21 16:46:24 +00:00
bjorn3
f414e265a7
Sync from rust 249624b5043013d18c00f0401ca431c1a6baa8cd
2023-10-21 11:26:32 +00:00
Oli Scherer
8e264ab07a
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
bjorn3
49987faf87
Fix rustc test suite
2023-10-19 13:20:25 +00:00
bjorn3
b972010887
Fix CG_CLIF_DISABLE_INCR_CACHE
2023-10-19 12:44:27 +00:00
bjorn3
bdc597d512
Rustup to rustc 1.75.0-nightly (0039d739d 2023-10-18)
2023-10-19 12:39:49 +00:00
bjorn3
5f2d3ac041
Sync from rust 0039d739d40a076334e111488946441378d11cd7
2023-10-19 12:18:00 +00:00
Urgau
2f461b74ff
[RFC 3127 - Trim Paths]: Condition remapped filepath on remap scopes
2023-10-17 10:11:30 +02:00
Michael Howell
8c3eda36df
docs: add Rust logo to more compiler crates
...
c6e6ecb1afea9695a42d0f148ce153536b279eb5 added it to some of the
compiler's crates, but avoided adding it to all of them to reduce
bit-rot. This commit adds to more.
2023-10-16 15:38:08 -07:00
bjorn3
ca53d2e8bb
Change producer string to have the rustc producer string as prefix
...
This fixes the comment-section run-make test
2023-10-14 13:46:55 +00:00
bjorn3
5a9b81a91e
Re-enable a bunch of fixed rustc tests
2023-10-14 13:37:03 +00:00
Eduardo Sánchez Muñoz
40cc89137b
Remove from cranelift codegen LLVM intrinsics that are no longer needed
2023-10-12 11:20:00 +02:00
bjorn3
3c0d3f2bf1
Fix review comments
2023-10-09 18:39:43 +00:00
bjorn3
e006e2c9c6
Remove cgu_reuse_tracker from Session
...
This removes a bit of global mutable state
2023-10-09 18:39:41 +00:00
bjorn3
ed2f5baba6
Reuse determine_cgu_reuse from cg_ssa in cg_clif
2023-10-09 18:38:50 +00:00
bjorn3
5d85a24442
Merge commit '81dc066758ec150b43822d4a0c84aae20fe10f40' into sync_cg_clif-2023-10-09
2023-10-09 08:52:46 +00:00
bjorn3
91e5bd87e6
Skip cpuid shim when inline asm support is enabled
...
cg_clif should support enough simd intrinsics now to not need almost all
cpu features to be force disabled. In addition they can't be disabled
anyway when using a sysroot compiled by LLVM.
2023-10-08 09:50:20 +00:00
bjorn3
07147f34d0
Fix inline asm on macOS
2023-10-08 09:50:20 +00:00
bjorn3
1906ec56fc
Sync from rust 97c81e1b537088f1881c8894ee8579812ed9b6d1
2023-10-08 09:22:39 +00:00
Jubilee
c9f6ac45d9
Rollup merge of #116277 - RalfJung:post-mono, r=oli-obk
...
dont call mir.post_mono_checks in codegen
It seems like all tests are still passing when I remove this... let's see what CI says.
2023-10-06 16:37:46 -07:00
bjorn3
4577c1dc05
Temporarily remove riscv64 inline asm support
...
Riscv support is not currently being tested so it is likely broken.
Removing it may avoid confusion in the future.
2023-10-05 19:23:40 +00:00