rust/compiler/rustc_codegen_llvm/src
bors 760430e6fd Auto merge of #78863 - KodrAus:feat/simd-array, r=oli-obk
Support repr(simd) on ADTs containing a single array field

This is a squash and rebase of `@gnzlbg's` #63531

I've never actually written code in the compiler before so just fumbled my way around until it would build 😅

I imagine there'll be some work we need to do in `rustc_codegen_cranelift` too for this now, but might need some input from `@bjorn3` to know what that is.

cc `@rust-lang/project-portable-simd`

-----

This PR allows using `#[repr(simd)]` on ADTs containing a single array field:

```rust
 #[repr(simd)] struct S0([f32; 4]);
 #[repr(simd)] struct S1<const N: usize>([f32; N]);
 #[repr(simd)] struct S2<T, const N: usize>([T; N]);
```

This should allow experimenting with portable packed SIMD abstractions on nightly that make use of const generics.
2020-11-29 09:28:09 +00:00
..
back Allow disabling TrapUnreachable via -Ztrap-unreachable=no 2020-11-24 01:08:27 +01:00
coverageinfo Update compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs 2020-11-25 11:41:23 -08:00
debuginfo Use Option::map instead of open coding it 2020-11-23 04:58:21 +01:00
llvm Updated links to LLVM 11 docs and types 2020-11-23 19:15:10 -08:00
abi.rs Rename prefix_chunk to prefix_chunk_size 2020-11-21 19:22:31 +01:00
allocator.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
asm.rs Change capitalization of Spirv to SpirV 2020-11-11 19:18:06 +01:00
attributes.rs Never inline naked functions 2020-11-20 00:00:00 +00:00
base.rs [self-profiling] Include the estimated size of each cgu in the profile 2020-11-03 07:55:17 -05:00
builder.rs Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
callee.rs rustc_target: Rename some target options to avoid tautology 2020-11-08 17:29:13 +03:00
common.rs s/Scalar::Raw/Scalar::Int 2020-11-04 10:11:31 +00:00
consts.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
context.rs Removed an unused function now that LLVM 9 is the minimal supported version 2020-11-12 14:39:47 +01:00
declare.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
intrinsic.rs Auto merge of #78863 - KodrAus:feat/simd-array, r=oli-obk 2020-11-29 09:28:09 +00:00
lib.rs Rollup merge of #77795 - bjorn3:codegen_backend_interface_refactor, r=oli-obk 2020-10-14 02:30:38 +02:00
llvm_util.rs Rollup merge of #78361 - DevJPM:master, r=workingjubilee 2020-11-18 15:46:19 +01:00
metadata.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
mono_item.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
type_.rs Remove MMX from Rust 2020-09-20 15:13:11 +02:00
type_of.rs compiler: fold by value 2020-11-16 22:34:57 +01:00
va_arg.rs rustc_target: Rename some target options to avoid tautology 2020-11-08 17:29:13 +03:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00