[PATCH] x86: Clean up and improve FPU inline assembly
Uros Bizjak
ubizjak@gmail.com
Fri Sep 19 19:05:28 GMT 2025
On Fri, Sep 19, 2025 at 8:51 PM Uros Bizjak <ubizjak@gmail.com> wrote:
>
> On Fri, Sep 19, 2025 at 8:42 PM Adhemerval Zanella Netto
> <adhemerval.zanella@linaro.org> wrote:
> >
> >
> >
> > On 19/09/25 11:05, Uros Bizjak wrote:
> > > Clean up and improve x86 FPU inline assembly:
> > >
> > > * Remove obsolete "*&" GCC asm memory operand workaround
> > >
> > > * Use %v prefix to emit VEX prefixed insns for AVX targets
> > >
> > > * Use \t and \n\t separators consistently
> >
> > I think this is not a really profitable change, it does not change
> > code generation and makes the history a bit harder to follow.
>
> I have considered the history issue, but please note that 90% of \t
> changes merge together with *& or \n\t changes. This is the reason I
> went for the complete change, so the code looks like I am used to from
> -S dumps from the compiler.
>
> Of course, this is not the hill I'm willing to die on, so \t change
> can easily be removed from the patch. The important changes are %v, *&
> removal and \n\t change.
Perhaps some more info about \n\t change: GCC estimates the size of
inline asm by default by counting the number of "\n" characters.
Although due to the default IS_ASM_LOGICAL_LINE_SEPARATOR it also
counts ";", using \n is the most reliable way, because it can't be
overridden.
Uros.
More information about the Libc-alpha
mailing list