riscv-non-isa/riscv-toolchain-conventions

Clarify FP ABI implication by march string

Opened this issue · 1 comments

This ticket is derived from a comment in #18.

The document states the following:

A target -march which includes floating point instructions implies a hardfloat calling convention, but can be overridden using the -mabi flag (see the next section).

This is not implemented in GCC (I don't know how LLVM handles this).
Also, it is not clear why the march string should change the ABI.

I have sent a patch to GCC upstream and a fixup for LLVM:

I don't know if I have implemented it correctly, so I think we can discuss here to figure out if this feature is needed and how to implement it (like -mabi=auto, multilib selection issue, etc.).