From: Stefan Agner <stefan@agner.ch> To: linux@armlinux.org.uk Cc: arnd@arndb.de, ard.biesheuvel@linaro.org, robin.murphy@arm.com, yamada.masahiro@socionext.com, ndesaulniers@google.com, manojgupta@google.com, jiancai@google.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com, Stefan Agner <stefan@agner.ch> Subject: [PATCH 0/3] ARM: make use of UAL VFP mnemonics when possible Date: Tue, 10 Mar 2020 23:01:18 +0100 [thread overview] Message-ID: <cover.1583360296.git.stefan@agner.ch> (raw) To build the kernel with Clang's integrated assembler the VFP code needs to make use of the unified assembler language (UAL) VFP mnemonics. At first I tried to get rid of the co-processor instructions to access the floating point unit along with the macros completely. However, due to missing FPINST/FPINST2 argument support in older binutils versions we have to keep them around. Once we drop support for binutils 2.24 and older, the move to UAL VFP mnemonics will be straight forward with this changes applied. Tested using Clang with integrated assembler as well as external (binutils assembler), various gcc/binutils version down to 4.7/2.23. Disassembled and compared the object files in arch/arm/vfp/ to make sure this changes leads to the same code. Besides different inlining behavior I was not able to spot a difference. This replaces (and extends) my earlier patch "ARM: use assembly mnemonics for VFP register access" http://lore.kernel.org/r/8bb16ac4b15a7e28a8e819ef9aae20bfc3f75fbc.1582266841.git.stefan@agner.ch -- Stefan Stefan Agner (3): ARM: use .fpu assembler directives instead of assembler arguments ARM: use VFP assembler mnemonics in register load/store macros ARM: use VFP assembler mnemonics if available arch/arm/include/asm/vfp.h | 2 ++ arch/arm/include/asm/vfpmacros.h | 31 ++++++++++++++++++++++--------- arch/arm/vfp/Makefile | 5 ++++- arch/arm/vfp/vfphw.S | 31 ++++++++++++++++++++----------- arch/arm/vfp/vfpinstr.h | 23 +++++++++++++++++++---- 5 files changed, 67 insertions(+), 25 deletions(-) -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Agner <stefan@agner.ch> To: linux@armlinux.org.uk Cc: clang-built-linux@googlegroups.com, arnd@arndb.de, ard.biesheuvel@linaro.org, ndesaulniers@google.com, linux-kernel@vger.kernel.org, Stefan Agner <stefan@agner.ch>, jiancai@google.com, yamada.masahiro@socionext.com, manojgupta@google.com, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/3] ARM: make use of UAL VFP mnemonics when possible Date: Tue, 10 Mar 2020 23:01:18 +0100 [thread overview] Message-ID: <cover.1583360296.git.stefan@agner.ch> (raw) To build the kernel with Clang's integrated assembler the VFP code needs to make use of the unified assembler language (UAL) VFP mnemonics. At first I tried to get rid of the co-processor instructions to access the floating point unit along with the macros completely. However, due to missing FPINST/FPINST2 argument support in older binutils versions we have to keep them around. Once we drop support for binutils 2.24 and older, the move to UAL VFP mnemonics will be straight forward with this changes applied. Tested using Clang with integrated assembler as well as external (binutils assembler), various gcc/binutils version down to 4.7/2.23. Disassembled and compared the object files in arch/arm/vfp/ to make sure this changes leads to the same code. Besides different inlining behavior I was not able to spot a difference. This replaces (and extends) my earlier patch "ARM: use assembly mnemonics for VFP register access" http://lore.kernel.org/r/8bb16ac4b15a7e28a8e819ef9aae20bfc3f75fbc.1582266841.git.stefan@agner.ch -- Stefan Stefan Agner (3): ARM: use .fpu assembler directives instead of assembler arguments ARM: use VFP assembler mnemonics in register load/store macros ARM: use VFP assembler mnemonics if available arch/arm/include/asm/vfp.h | 2 ++ arch/arm/include/asm/vfpmacros.h | 31 ++++++++++++++++++++++--------- arch/arm/vfp/Makefile | 5 ++++- arch/arm/vfp/vfphw.S | 31 ++++++++++++++++++++----------- arch/arm/vfp/vfpinstr.h | 23 +++++++++++++++++++---- 5 files changed, 67 insertions(+), 25 deletions(-) -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-03-10 22:01 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-10 22:01 Stefan Agner [this message] 2020-03-10 22:01 ` [PATCH 0/3] ARM: make use of UAL VFP mnemonics when possible Stefan Agner 2020-03-10 22:01 ` [PATCH 1/3] ARM: use .fpu assembler directives instead of assembler arguments Stefan Agner 2020-03-10 22:01 ` Stefan Agner 2020-03-10 22:01 ` [PATCH 2/3] ARM: use VFP assembler mnemonics in register load/store macros Stefan Agner 2020-03-10 22:01 ` Stefan Agner 2020-03-10 22:01 ` [PATCH 3/3] ARM: use VFP assembler mnemonics if available Stefan Agner 2020-03-10 22:01 ` Stefan Agner 2020-03-21 15:04 [PATCH 0/3] ARM: make use of UAL VFP mnemonics when possible Peter Smith
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1583360296.git.stefan@agner.ch \ --to=stefan@agner.ch \ --cc=ard.biesheuvel@linaro.org \ --cc=arnd@arndb.de \ --cc=clang-built-linux@googlegroups.com \ --cc=jiancai@google.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=manojgupta@google.com \ --cc=ndesaulniers@google.com \ --cc=robin.murphy@arm.com \ --cc=yamada.masahiro@socionext.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.