Skip to content

ARM instruction selection failure when -promote-elements=true and -mattr=+neon #11691

@llvmbot

Description

@llvmbot
Bugzilla Link 11319
Resolution FIXED
Resolved on Nov 10, 2011 21:17
Version trunk
OS Linux
Attachments The test cases to reproduce the bug.
Reporter LLVM Bugzilla Contributor
CC @efriedma-quic,@stephenhines

Extended Description

When we enable ARM NEON (-mattr=+neon) during the code generation, llc will return either instruction selection failure or assertion failure on APInt bit width in some circumstance (see the attached test cases).

After further inspection, we found that only if both of the following flags are enabled will the bug occur:

(a) -mattr=+neon : This flag enables the code generation for ARM NEON instruction.

(b) -promote-elements=true : This flag enables some vector type to vector type promotion during the legalization process. This flag has been enabled by default since revision 142152.

PROCEDURE TO REPRODUCE:

  1. Fetch and build the LLVM.

  2. Download the attached test case, extract the files, and place them in /test/CodeGen/ARM

  3. Run "make check". The expected behavior is that no additional unexpected test failure is discovered. But there will be 6 additional test failures after adding the attached test cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions