Commit Graph

4118 Commits

Author SHA1 Message Date
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
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