On Wed, Oct 02, 2019 at 08:09:18PM +0200, Ard Biesheuvel wrote: > On Wed, 2 Oct 2019 at 19:23, Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > > On Wed, Oct 02, 2019 at 09:47:41AM -0700, Nick Desaulniers wrote: > > > I'm running into some inconsistencies between how clang parses target > > > arch between command line flag, function __attribute__, assembler > > > directive, and disassembler. I see arch's like: armv8-a+crc, > > > armv8-a+sve, armv8-a+fp16, armv8-a+memtag, armv8-a+lse, but I'm not > > > familiar with the `+...` part of the target arch. > > > > This page shows the possible combinations: > > > > https://sourceware.org/binutils/docs/as/AArch64-Extensions.html#AArch64-Extensions > > > > Basically if it's an optional feature in ARMv8.0, you pass armv8-a+... > > For optional features only in higher versions, it would be > > armv8.5-a+memtag. The table above also states whether it's enabled by > > default (i.e. mandatory) in an architecture version. SB for example is > > supported from 8.0 but only required in 8.5. > > I am not convinced (but I haven't checked) that this is used in the > same way on 32-bit. Ah, I didn't realise this was about 32-bit. I don't think the above applies in this case. -- Catalin