[PATCH] x86: Clean up and improve FPU inline assembly
H.J. Lu
hjl.tools@gmail.com
Tue Oct 7 22:31:52 GMT 2025
On Sat, Sep 20, 2025 at 3:06 AM Uros Bizjak <ubizjak@gmail.com> wrote:
>
> 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.
Please submit a separate patch for the %v change.
Thanks.
--
H.J.
More information about the Libc-alpha
mailing list