---
# System prepended metadata

title: Portable SIMD 2020-11-09 Meeting
tags: [Minutes, Portable SIMD]

---

# Portable SIMD 2020-11-09 Meeting

###### tags: `Portable SIMD` `Minutes`

[Last Week] | [This Week's Chat] | [Next Week]

[Last Week]: https://hackmd.io/Am3uOG2mSBmG6R7TtwucgQ
[This Week's Chat]: https://rust-lang.zulipchat.com/#narrow/stream/257879-project-portable-simd/topic/Meeting.202020-11-09
[Next Week]: https://hackmd.io/z_gTcq9CSyegzgclNrlRzg

## Agenda

- Anything blocking comparisons? https://github.com/rust-lang/stdsimd/pull/44
- MCP for more `extern "platform-intrinsic"` and for fallback implementations: https://github.com/rust-lang/compiler-team/issues/381
- Allow `#[repr(simd)]` with `[T; N]` https://github.com/rust-lang/rust/pull/78863

## Outcomes

- See whether we can dispel currently used direct LLVM intrinsics from `core_simd`. If that solves our compilation issue on RISCV then we can consider that no longer a blocker.
- Review the PR for masks and merge if we're happy with the approach.
- Get more feedback on the MCP for fallback intrinsics.

## Summary

### Masks

https://github.com/rust-lang/stdsimd/pull/44

- There are some compilation errors in the tests right now to fix up.
- We spent a while before opening the PR discussing designs for the masks API. This PR uses opaque types to represent them.
- We might want to come up with alternatives based on the experience of using this approach.

### Wiring up backend-agnostic intrinsics

https://github.com/rust-lang/compiler-team/issues/381

- MCP is updated with some more detail and is ready for more `t-compiler` input.
- We're generally happy with the approach, even if it uses more concrete machinery than we'd really like. Alternatives have big open design spaces to explore, where this is fairly well constrained.

### Allowing `#[repr(simd)]` on `A([T; N])`

https://github.com/rust-lang/rust/pull/78863

- The original PR has been rebased.
- There are some codegen issues that we might need to spend some time investigating.

### `packed_simd`

- No obvious issues that need to be raised right now.
