Ben Shi via llvm-dev
2021-Jun-08 08:26 UTC
[llvm-dev] [proposal] change default ABI for special riscv arch
I also think the logic of fomulating default arch according to -mabi can be improved. // 3. Choose a default based on `-mabi=` // // ilp32e -> rv32e // ilp32 | ilp32f | ilp32d -> rv32imafdc // lp64 | lp64f | lp64d -> rv64imafdc it can be // ilp32e -> rv32e // ilp32 -> rv32imac // ilp32f -> rv32imacf // ilp32d -> rv32 imacfd // lp64 -> rv64imac // lp64f -> rv64imacf // lp64d -> rv64imacfd At 2021-06-08 12:06:15, "Craig Topper" <craig.topper at gmail.com> wrote: That one line change doesn't look like it handles multiletter extension names correctly. For example, Zbf contains "f". ~Craig On Mon, Jun 7, 2021 at 8:13 PM Ben Shi via llvm-dev <llvm-dev at lists.llvm.org> wrote: Hello, In the clang's riscv driver, https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/Arch/RISCV.cpp the default abi is fomulated according to arch if no explicit -mabi is specified. Is it possible to set the default abi to ilp32f for -march=rv32imacf. For my exployer's chip, HW F is used while SW D is used. Each time I have to write "-march=rv32imacf -mabi=ilp32f“, can it be simplified to only "-march=imacf" ? Just adding a line is enough. if (MArch.substr(4).contains_lower("f") && !MArch.substr(4).contains_lower("d")) return "ilp32f"; Can I submit a patch to fix it? Ben _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210608/1501a4e8/attachment.html>
Kito Cheng via llvm-dev
2021-Jun-08 08:53 UTC
[llvm-dev] [proposal] change default ABI for special riscv arch
Although GCC didn't implement the implied ABI option, but I would suggest you create an issue on riscv-toolchain-conventions[1] and/or raise discussion on RISC-V LLVM sync up meeting [1] https://github.com/riscv/riscv-toolchain-conventions On Tue, Jun 8, 2021 at 4:26 PM Ben Shi via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > > I also think the logic of fomulating default arch according to -mabi can be improved. > > // 3. Choose a default based on `-mabi=` > // > // ilp32e -> rv32e > // ilp32 | ilp32f | ilp32d -> rv32imafdc > // lp64 | lp64f | lp64d -> rv64imafdc > > it can be > // ilp32e -> rv32e > // ilp32 -> rv32imac > // ilp32f -> rv32imacf > // ilp32d -> rv32 imacfd > // lp64 -> rv64imac > // lp64f -> rv64imacf > // lp64d -> rv64imacfd > > > > > > > At 2021-06-08 12:06:15, "Craig Topper" <craig.topper at gmail.com> wrote: > > That one line change doesn't look like it handles multiletter extension names correctly. For example, Zbf contains "f". > > ~Craig > > > On Mon, Jun 7, 2021 at 8:13 PM Ben Shi via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> Hello, >> >> In the clang's riscv driver, >> https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/Arch/RISCV.cpp >> >> the default abi is fomulated according to arch if no explicit -mabi is specified. >> >> Is it possible to set the default abi to ilp32f for -march=rv32imacf. For my exployer's chip, HW F is used while SW D is used. Each time I have to write "-march=rv32imacf -mabi=ilp32f“, can it be simplified to only "-march=imacf" ? Just adding a line is enough. >> >> if (MArch.substr(4).contains_lower("f") && !MArch.substr(4).contains_lower("d")) >> return "ilp32f"; >> >> Can I submit a patch to fix it? >> >> Ben >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev