rust/tests
bors 97fff1f2ed Auto merge of #114790 - taiki-e:asm-maybe-uninit, r=Amanieu
Allow MaybeUninit in input and output of inline assembly

**Motivation:**

As part of the work to remove UBs from crossbeam's AtomicCell, I'm writing a library to implement atomic operations on MaybeUnint using inline assembly ([atomic-maybe-uninit](https://github.com/taiki-e/atomic-maybe-uninit), https://github.com/crossbeam-rs/crossbeam/pull/1015).

However, currently, MaybeUnint cannot be used in input&output of inline assembly, so when processing MaybeUninit, values must be [passed through memory](https://github.com/taiki-e/atomic-maybe-uninit/blob/main/src/arch/aarch64.rs#L121-L122). It is inefficient and microbenchmarks have [actually shown significant performance degradation](https://github.com/crossbeam-rs/crossbeam/pull/1015#issuecomment-1676549870).

It would be nice if we could allow MaybeUninit in input and output of inline assembly.

---

This PR changed the type check in rustc_hir_analysis to allow `MaybeUnint<int | float | ptr | fn ptr | simd vector>` in input and output of inline assembly and added a simple test.

To be honest, I'm not sure that this is the correct way to do it, because this is like doing transmute to integers/floats/etc from MaybeUninit on the compiler side. EDIT: [this seems fine](https://rust-lang.zulipchat.com/#narrow/stream/216763-project-inline-asm/topic/MaybeUninit.20in.20asm!/near/384662900)

r? `@Amanieu`
cc `@thomcc` (because you [had previously proposed this](https://rust-lang.zulipchat.com/#narrow/stream/216763-project-inline-asm/topic/MaybeUninit.20in.20asm!))
2023-08-23 13:40:41 +00:00
..
assembly Auto merge of #112922 - g0djan:godjan/wasi-threads, r=wesleywiser 2023-08-02 01:01:48 +00:00
auxiliary
codegen Auto merge of #114790 - taiki-e:asm-maybe-uninit, r=Amanieu 2023-08-23 13:40:41 +00:00
codegen-units
debuginfo Replace ignore-everything with only-arch 2023-07-29 15:49:07 -07:00
incremental Forbid old-style simd_shuffleN intrinsics 2023-08-03 09:29:00 +00:00
mir-opt Auto merge of #113124 - nbdd0121:eh_frame, r=cjgillot 2023-08-20 09:58:52 +00:00
pretty
run-coverage coverage: Anonymize line numbers in run-coverage test snapshots 2023-08-17 10:03:32 +10:00
run-coverage-rustdoc coverage: Anonymize line numbers in run-coverage test snapshots 2023-08-17 10:03:32 +10:00
run-make Auto merge of #113124 - nbdd0121:eh_frame, r=cjgillot 2023-08-20 09:58:52 +00:00
run-make-fulldeps On nightly, dump ICE backtraces to disk 2023-07-19 14:10:07 +00:00
run-pass-valgrind
rustdoc Add check-pass tests and fix test behavior 2023-08-18 15:19:18 +08:00
rustdoc-gui Auto merge of #106561 - GuillaumeGomez:warning-block, r=rustdoc 2023-08-21 09:26:02 +00:00
rustdoc-js Auto merge of #112233 - notriddle:notriddle/search-unify, r=GuillaumeGomez 2023-06-15 03:04:46 +00:00
rustdoc-js-std Auto merge of #108537 - GuillaumeGomez:rustdoc-search-whitespace-as-separator, r=notriddle 2023-07-02 18:49:29 +00:00
rustdoc-json rustdoc-json: Add tests for field/variant ordering. 2023-08-09 00:32:03 +00:00
rustdoc-ui rustdoc: use unicode-aware checks for redundant explicit link fastpath 2023-08-21 14:25:26 -07:00
ui Rollup merge of #115114 - tmiasko:115052, r=compiler-errors 2023-08-23 05:35:18 +00:00
ui-fulldeps Bump syn dependency 2023-07-26 08:42:40 +00:00
COMPILER_TESTS.md