[PATCH] D70401: [RISCV] Complete RV32E/ilp32e implementation

Kito Cheng via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 18 02:54:12 PDT 2022


kito-cheng added a comment.

> If I understand correctly, E can't be combined with D in current specification since E must use ILP32E calling convention.

Calling convention and extensions are separated, calling convention are specify the how argument passing and the register convention, so ILP32E *can* use with `-march=rv32efd`, but it can't pass or return floating point type in FPR.

Just like we can `ILP32` for `-march=rv32ifd` and `LP64` with `-march=rv64ifd`, you may confused about the opposite combination like `ILP32D` with `-march=rv32i` and `LP64D` with `-march=rv64i` is not work, that's because it require pass or return floating point type in FPR, but FPR isn't existing in such ISA config.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70401



More information about the cfe-commits mailing list