[PATCH] i386: Use fldt instead of fld on e_logl.S

H.J. Lu hjl.tools@gmail.com
Thu Aug 4 21:23:38 GMT 2022


On Thu, Aug 4, 2022 at 2:00 PM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> Clang cannot assemble fldt in the AT&T dialect mode.
> ---
>  sysdeps/i386/i686/fpu/e_logl.S | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/i386/i686/fpu/e_logl.S b/sysdeps/i386/i686/fpu/e_logl.S
> index 63183ac544..5d53f3bb22 100644
> --- a/sysdeps/i386/i686/fpu/e_logl.S
> +++ b/sysdeps/i386/i686/fpu/e_logl.S
> @@ -43,7 +43,7 @@ ENTRY(__ieee754_logl)
>         fsubl   MO(one)         // x-1 : x : log(2)
>  5:     fld     %st             // x-1 : x-1 : x : log(2)
>         fabs                    // |x-1| : x-1 : x : log(2)
> -       fld     MO(limit)       // 0.29 : |x-1| : x-1 : x : log(2)
> +       fldt    MO(limit)       // 0.29 : |x-1| : x-1 : x : log(2)
>         fcomip  %st(1)          // |x-1| : x-1 : x : log(2)
>         fstp    %st(0)          // x-1 : x : log(2)
>         jc      2f
> @@ -76,7 +76,7 @@ ENTRY(__logl_finite)
>         fsubl   MO(one)         // x-1 : x : log(2)
>         fld     %st             // x-1 : x-1 : x : log(2)
>         fabs                    // |x-1| : x-1 : x : log(2)
> -       fld     MO(limit)       // 0.29 : |x-1| : x-1 : x : log(2)
> +       fldt    MO(limit)       // 0.29 : |x-1| : x-1 : x : log(2)
>         fcomip  %st(1)          // |x-1| : x-1 : x : log(2)
>         fstp    %st(0)          // x-1 : x : log(2)
>         jc      2b
> --
> 2.34.1
>

I don't think this is correct since there are

        .type limit,@object
limit:  .double 0.29

It should be fldl.

-- 
H.J.


More information about the Libc-alpha mailing list