Messages in this thread | | | Subject | Re: [PATCH] arm64: lse: fix LSE atomics with LLVM's integrated assembler | From | Robin Murphy <> | Date | Wed, 9 Oct 2019 11:03:16 +0100 |
| |
On 2019-10-08 10:03 pm, Ard Biesheuvel wrote: > On Tue, 8 Oct 2019 at 18:19, Robin Murphy <robin.murphy@arm.com> wrote: >> >> On 08/10/2019 16:22, Sami Tolvanen wrote: >>> On Mon, Oct 7, 2019 at 2:46 PM 'Nick Desaulniers' via Clang Built >>> Linux <clang-built-linux@googlegroups.com> wrote: >>>> I'm worried that one of these might lower to LSE atomics without >>>> ALTERNATIVE guards by blanketing all C code with `-march=armv8-a+lse`. >>> >>> True, that's a valid concern. I think adding the directive to each >>> assembly block is the way forward then, assuming the maintainers are >>> fine with that. >> >> It's definitely a valid concern in principle, but in practice note that >> lse.h ends up included in ~99% of C files, so the extension is enabled >> more or less everywhere already. >> > > lse.h currently does > > __asm__(".arch_extension lse"); > > which instructs the assembler to permit the use of LSE opcodes, but it > does not instruct the compiler to emit them, so this is not quite the > same thing.
Derp, of course it isn't. And IIRC we can't just pass the option through with -Wa either because at least some versions of GCC emit an explicit .arch directive at the top of the output. Oh well; sorry for the distraction.
Robin.
| |