Skip to content

ARM needs a "thumb-state" target-feature to fix a recent breakage that stdsimd caused. #59203

Open
@Lokathor

Description

@Lokathor
Contributor

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.

Activity

changed the title [-]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.[/+] on Mar 16, 2019
added
O-ArmTarget: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state
on Mar 19, 2019
added
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
on Nov 9, 2019
CJKay

CJKay commented on Dec 29, 2019

@CJKay

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 but arm-unknown-linux-gnueabi isn't.

jonas-schievink

jonas-schievink commented on Feb 27, 2020

@jonas-schievink
Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    O-ArmTarget: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 stateT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @sanxiyn@CJKay@jonas-schievink@Lokathor

        Issue actions

          ARM needs a "thumb-state" target-feature to fix a recent breakage that `stdsimd` caused. · Issue #59203 · rust-lang/rust