On Fri, May 10, 2024 at 11:26:22PM +0100, Conor Dooley wrote: > On Fri, May 10, 2024 at 02:43:10PM -0700, Charlie Jenkins wrote: > > On Fri, May 10, 2024 at 09:43:33PM +0100, Conor Dooley wrote: > > > Hey Charlie, > > > > > > On Tue, May 07, 2024 at 06:36:28PM -0700, Charlie Jenkins wrote: > > > > Current versions of the kernel add "v" to the march and then immeidately > > > > filter it out such that "v" is not passed to CFLAGS. Instead of doing > > > > this filtering, code blocks in the kernel that want to use vector > > > > assembly have been changed to locally enable vector (using ".option > > > > arch, +v"). > > > > > > Other content in the series aside, since this is a change that could be > > > made independently of the main series objectives, I figured it was worth > > > pointing out that this is not a change without downsides: I think that > > > it would drop support for vector with most versions of LLVM as > > > .option arch support there is much more recent thing than it is for gcc. > > > Off the top of my head I don't know exactly the versions involved, but > > > it is something like LLVM-14 supports vector but only LLVM-17 and later > > > supports .option arch. > > > > Toolchain incompatibilities are always fun. It does look like .option > > arch was introduced in LLVM-17. That would be a regression. We do use > > .option arch for every other extension, but vector was treated special > > when it was introduced unfortunately so maybe we have to live with the > > weird march parsing hack. > > I wrote out a long message about the history of some of this, but right > at the end I was scrolling through my chat logs with Andy and realised > we actually did make it depend on AS_HAS_OPTION_ARCH, so it should be > safe to do without regressing anything. I didn't notice in the diff that > the AS_HAS_OPTION_ARCH was a movement, not an addition. Maybe Andy knows > why, despite the dependency on the assembler having it, we didn't use it > everywhere. And while I remember, the bits of this doing the .option arch conversion should be (IMO) split into a different patch to anything dealing with Kconfig options etc. Cheers, Conor.