rust/compiler
bors c97922dca5 Auto merge of #99443 - jam1garner:mips-virt-feature, r=nagisa
Add support for MIPS VZ ISA extension

[Link to relevant LLVM line where virt extension is specified](83fab8cee9/llvm/lib/Target/Mips/Mips.td (L172-L173))

This has been tested on mips-unknown-linux-musl with a target-cpu that is >= MIPS32 5 and `target-features=+virt`. The example was checked in a disassembler to ensure the correct assembly sequence was being generated using the virtualization instructions.

Needed additional work:

* MIPS is missing from [the Rust reference CPU feature lists](https://doc.rust-lang.org/reference/attributes/codegen.html#available-features)

Example docs for later:

```md
#### `mips` or `mips64`

This platform requires that `#[target_feature]` is only applied to [`unsafe`
functions][unsafe function]. This target's feature support is currently unstable
and must be enabled by `#![feature(mips_target_feature)]` ([Issue #44839])

[Issue #44839]: https://github.com/rust-lang/rust/issues/44839

Further documentation on these features can be found in the [MIPS Instruction Set
Reference Manual], or elsewhere on [mips.com].

[MIPS Instruction Set Reference Manual]: https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00086-2B-MIPS32BIS-AFP-6.06.pdf
[developer.arm.com]: https://www.mips.com/products/architectures/ase/

Feature        | Implicitly Enables | Description
---------------|--------------------|-------------------
`fp64`         |                    | 64-bit Floating Point
`msa`          |                    | "MIPS SIMD Architecture"
`virt`         |                    | Virtualization instructions (VZ ASE)
```

If the above is good I can also submit a PR for that if there's interest in documenting it while it's still unstable. Otherwise that can be dropped, I just wrote it before realizing it was possibly not a good idea.

Relevant to #44839
2022-09-14 08:21:25 +00:00
..
rustc Don't rerun the build script for the compiler each time on linux 2022-07-10 23:57:25 -05:00
rustc_apfloat Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_arena Make use of [wrapping_]byte_{add,sub} 2022-08-23 19:32:37 +04:00
rustc_ast Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_ast_lowering Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_ast_passes Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_ast_pretty Auto merge of #101241 - camsteffen:refactor-binding-annotations, r=cjgillot 2022-09-06 03:16:29 +00:00
rustc_attr Rollup merge of #101486 - asquared31415:invalid_repr_list, r=estebank 2022-09-07 07:43:54 +09:00
rustc_borrowck Use def_span for external requirements. 2022-09-13 19:18:24 +02:00
rustc_builtin_macros Rename AttrAnnotatedToken{Stream,Tree}. 2022-09-09 12:45:26 +10:00
rustc_codegen_cranelift Auto merge of #99556 - davidtwco:collapse-debuginfo, r=wesleywiser 2022-09-13 01:19:05 +00:00
rustc_codegen_gcc Remove dead broken code from const zst handling in backends 2022-09-06 14:09:49 +00:00
rustc_codegen_llvm Auto merge of #99443 - jam1garner:mips-virt-feature, r=nagisa 2022-09-14 08:21:25 +00:00
rustc_codegen_ssa Auto merge of #99443 - jam1garner:mips-virt-feature, r=nagisa 2022-09-14 08:21:25 +00:00
rustc_const_eval Auto merge of #101483 - oli-obk:guaranteed_opt, r=fee1-dead 2022-09-10 09:50:21 +00:00
rustc_data_structures Auto merge of #99334 - NiklasJonsson:84447/error-privacy, r=oli-obk 2022-09-12 15:57:37 +00:00
rustc_driver Fix ICE report flags display. 2022-09-08 16:08:53 -07:00
rustc_error_codes Stabilize #![feature(label_break_value)] 2022-08-23 21:14:12 -05:00
rustc_error_messages Rollup merge of #101266 - LuisCardosoOliveira:translation-rustcsession-pt3, r=davidtwco 2022-09-13 22:25:34 +02:00
rustc_errors Rollup merge of #101266 - LuisCardosoOliveira:translation-rustcsession-pt3, r=davidtwco 2022-09-13 22:25:34 +02:00
rustc_expand Rollup merge of #101602 - nnethercote:AttrTokenStream, r=petrochenkov 2022-09-13 16:51:31 +05:30
rustc_feature Auto merge of #96709 - jackh726:gats-stabilization, r=compiler-errors 2022-09-13 09:39:41 +00:00
rustc_fs_util Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_graphviz Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_hir Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_hir_pretty Handle generic parameters. 2022-09-09 01:31:46 +00:00
rustc_incremental Remove trait_of_item query. 2022-08-01 21:39:26 +02:00
rustc_index Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_infer Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_interface change rlib format to discern native dependencies 2022-09-12 16:45:03 +03:00
rustc_lexer remove unnecessary PartialOrd and Ord 2022-09-08 06:15:33 +09:00
rustc_lint Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_lint_defs Auto merge of #96709 - jackh726:gats-stabilization, r=compiler-errors 2022-09-13 09:39:41 +00:00
rustc_llvm Introduce a fallible variant of LLVMConstIntGetZExtValue 2022-09-09 15:54:14 +02:00
rustc_log Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_macros Move TRY_LOAD_FROM_DISK out of rustc_queries to rustc_query_impl 2022-09-09 20:21:59 -05:00
rustc_metadata Auto merge of #96709 - jackh726:gats-stabilization, r=compiler-errors 2022-09-13 09:39:41 +00:00
rustc_middle Auto merge of #101307 - jyn514:simplify-storage, r=cjgillot 2022-09-14 02:39:51 +00:00
rustc_mir_build Shrink some visibilities. 2022-09-13 19:18:24 +02:00
rustc_mir_dataflow Generalize the Assume intrinsic statement to a general Intrinsic statement 2022-09-06 14:18:32 +00:00
rustc_mir_transform minor fixups as per PR feedback 2022-09-11 14:04:17 +08:00
rustc_monomorphize rename codegen_fulfill_obligation 2022-09-09 13:36:27 +02:00
rustc_parse Rename {Create,Lazy}TokenStream as {To,Lazy}AttrTokenStream. 2022-09-09 17:25:38 +10:00
rustc_parse_format Separate CountIsStar from CountIsParam in rustc_parse_format. 2022-08-25 14:49:09 +02:00
rustc_passes Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_plugin_impl Migrate rustc_plugin_impl to SessionDiagnostic 2022-08-22 16:35:05 +01:00
rustc_privacy Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_query_impl Auto merge of #101307 - jyn514:simplify-storage, r=cjgillot 2022-09-14 02:39:51 +00:00
rustc_query_system Remove unnecessary TRY_LOAD_FROM_DISK constant 2022-09-09 20:24:02 -05:00
rustc_resolve Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00
rustc_save_analysis Remove path_span argument to the visit_path_segment methods. 2022-09-12 13:24:25 +10:00
rustc_serialize Replace rustc_data_structures::thin_vec::ThinVec with thin_vec::ThinVec. 2022-08-29 15:42:13 +10:00
rustc_session Rollup merge of #101266 - LuisCardosoOliveira:translation-rustcsession-pt3, r=davidtwco 2022-09-13 22:25:34 +02:00
rustc_smir Only keep one version of ImplicitSelfKind. 2022-09-13 19:18:23 +02:00
rustc_span Auto merge of #100640 - reitermarkus:socket-display-buffer, r=thomcc 2022-09-13 06:41:37 +00:00
rustc_symbol_mangling Remove ReEmpty 2022-09-08 20:55:55 -04:00
rustc_target Use RelocModel::Pic for UEFI targets 2022-09-09 15:26:19 -04:00
rustc_trait_selection Auto merge of #96709 - jackh726:gats-stabilization, r=compiler-errors 2022-09-13 09:39:41 +00:00
rustc_traits Remove ReEmpty 2022-09-08 20:55:55 -04:00
rustc_transmute Auto merge of #100726 - jswrenn:transmute, r=oli-obk 2022-09-04 07:55:44 +00:00
rustc_ty_utils Auto merge of #100251 - compiler-errors:tuple-trait-2, r=jackh726 2022-09-12 03:24:29 +00:00
rustc_type_ir Remove ReEmpty 2022-09-08 20:55:55 -04:00
rustc_typeck Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot 2022-09-14 05:21:14 +00:00