Open
Description
So recently stdsimd added an intrinsic that was too liberal. The intrinsic needs to only be allowed in in specific circumstances, like so:
#[cfg(any(not(target_feature = "thumb-state"), target_feature = "v6t2"))]
Unfortunately we don't currently have a "thumb-mode" feature.
@gnzlbg said that before a PR for this change we should first have an issue with a ping to @parched, @Amanieu, and @japaric , so that everyone can be on the same page about how to proceed.
EDIT: Within official ARM docs, using ARM or Thumb code is called the "state", not "mode", so we should stick with that naming system. The CPU's "mode" is reserved for a different concept.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
[-]ARM needs a "thumb-mode" target-feature to fix a recent breakage that `stdsimd` caused.[/-][+]ARM needs a "thumb-state" target-feature to fix a recent breakage that `stdsimd` caused.[/+]CJKay commentedon Dec 29, 2019
This is critical for certain inline assembly like semihosting instructions. There is no way to identify that
armv7-linux-androideabi
is going to build with Thumb code generation butarm-unknown-linux-gnueabi
isn't.jonas-schievink commentedon Feb 27, 2020
Related: rust-lang/rfcs#2867