[PATCH] D105142: RFC: Implementing new mechanism for hard register operands to inline asm as a constraint.

James Y Knight via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 7 11:41:11 PDT 2021


jyknight added a comment.

This code doesn't handle multiple alternatives in a constraint.

E.g. `"={eax}{ebx}"` or `"={eax}{ebx},m"`.

See the GCC docs for the C-level syntax
https://gcc.gnu.org/onlinedocs/gcc/Multi-Alternative.html#Multi-Alternative
and LLVM IR docs for the IR syntax:
https://llvm.org/docs/LangRef.html#constraint-codes

LLVM doesn't handle alternatives very well in the backend, but Clang at least should parse and properly generate LLVM asm strings for these cases I think.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D105142



More information about the cfe-commits mailing list