[PATCH] D82651: [GlobalISel][InlineAsm] Add support for matching input constraints

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 17:01:05 PDT 2020


paquette added a comment.

Another AArch64 failure from this (bugpointed from a failure in http://green.lab.llvm.org/green/job/test-suite-verify-machineinstrs-aarch64-O0-g)

Given the following:

  define void @main() {
    %1 = call i16 asm sideeffect "", "=r,0"(i16 undef)
    unreachable
  }

Compile with:

llc -global-isel -mtriple aarch64-apple-ios -verify-machineinstrs

And you'll get the following error:

  # After IRTranslator
  # Machine code for function main: IsSSA, TracksLiveness
  
  bb.1 (%ir-block.0):
    %1:_(s16) = G_IMPLICIT_DEF
    %2:gpr32common = COPY %1:_(s16)
    INLINEASM &"" [sideeffect] [attdialect], $0:[regdef:GPR32common], def %0:gpr32common, $1:[reguse tiedto:$0], %2:gpr32common(tied-def 3)
    %4:_(s32) = COPY %0:gpr32common
    %3:_(s16) = G_TRUNC %4:_(s32)
  
  # End machine code for function main.
  
  *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
  - function:    main
  - basic block: %bb.1  (0x7fdea2021d40)
  - instruction: %2:gpr32common = COPY %1:_(s16)
  Def Size = 32, Src Size = 16
  LLVM ERROR: Found 1 machine code errors.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82651/new/

https://reviews.llvm.org/D82651





More information about the llvm-commits mailing list