Re: [PATCH] LoongArch: Stop -mfpu from silently breaking ABI

2023-03-02 Thread Xi Ruoyao via Gcc-patches
On Fri, 2023-03-03 at 10:12 +0800, Yujie Yang wrote: > However, "loongarch64" is defined to include the "fpu64" ISA module[1] > (i.e. enable "-mfpu=64" when -mfpu is not explicitly used). So I believe > the above behavior you observed is expected. Ah this make things much simpler and aligns with

Re: [PATCH] LoongArch: Stop -mfpu from silently breaking ABI

2023-03-02 Thread Yujie Yang
On Fri, Mar 03, 2023 at 12:01:22AM +0800, Xi Ruoyao via Gcc-patches wrote: > But then it causes "-mabi=lp64s -march=loongarch64" to generate code like: > > movgr2fr.d $fa0, $a0 > frecip.d $fa0, $fa0 > movfr2gr.d $a0, $fa0 > > The problem here is "loongarch64" is never strictly defined.

[PATCH] LoongArch: Stop -mfpu from silently breaking ABI

2023-03-02 Thread Xi Ruoyao via Gcc-patches
In the toolchain convention, we describe -mfpu= as: "Selects the allowed set of basic floating-point instructions and registers. This option should not change the FP calling convention unless it's necessary." Though not explicitly stated, the rationale of this rule is to allow combinations like