public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: caiyinyu <caiyinyu@loongson.cn>
To: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>,
	Xi Ruoyao <xry111@xry111.site>,
	libc-alpha@sourceware.org
Cc: WANG Xuerui <i@xen0n.name>, luweining@loongson.cn
Subject: Re: [PATCH] LoongArch: Use "$fcsr0" instead of "$r0" in _FPU_{GET,SET}CW
Date: Sun, 26 May 2024 14:15:34 +0800	[thread overview]
Message-ID: <cbd97efe-12c3-72fd-638a-9a8cf2f06ba1@loongson.cn> (raw)
In-Reply-To: <b8e0a49f-eefb-44b2-985a-db1cf4f199b7@linaro.org>


在 2024/5/23 下午9:09, Adhemerval Zanella Netto 写道:
>
> On 29/04/24 04:31, Xi Ruoyao wrote:
>> Clang inline-asm parser does not allow using "$r0" in
>> movfcsr2gr/movgr2fcsr, so everything using _FPU_{GET,SET}CW is now
>> failing to build with Clang on LoongArch.  As we now requires Binutils
>>> = 2.41 which supports using "$fcsr0" here, use it instead of "$r0" to
>> fix the issue.
>>
>> Link: https://github.com/loongson-community/discussions/issues/53#issuecomment-2081507390
>> Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=4142b2368353
>> Signed-off-by: Xi Ruoyao <xry111@xry111.site>
> LGTM, thanks.  It is safe to use with old gcc and binutils or the new
> constraint required a specific gcc version?
1.  Starting from LoongArch glibc-2.39, the minimum required version of 
binutils
is 2.41(because of the LASX/LSX vector instructions), and binutils 
support for
this modification also begins with version 2.41

2.  All LoongArch gcc support this change.

The header files modified this time are export header files, but I think 
this
change is ok.  In conclusion, I plan to merge this commit.
>> ---
>>
>> People in the Cc list will receive this twice because I've mistyped the
>> address of libc-alpha first time.  Sorry.  Stupid I :(.
>>
>>   sysdeps/loongarch/fpu_control.h | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sysdeps/loongarch/fpu_control.h b/sysdeps/loongarch/fpu_control.h
>> index 54add4e01c..3cdf2417d9 100644
>> --- a/sysdeps/loongarch/fpu_control.h
>> +++ b/sysdeps/loongarch/fpu_control.h
>> @@ -91,8 +91,8 @@ typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
>>   /* Macros for accessing the hardware control word.  */
>>   extern fpu_control_t __loongarch_fpu_getcw (void) __THROW;
>>   extern void __loongarch_fpu_setcw (fpu_control_t) __THROW;
>> -#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$r0" : "=r"(cw))
>> -#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $r0,%0" : : "r"(cw))
>> +#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$fcsr0" : "=r"(cw))
>> +#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $fcsr0,%0" : : "r"(cw))
>>   
>>   /* Default control word set at startup.  */
>>   extern fpu_control_t __fpu_control;


      reply	other threads:[~2024-05-26  6:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29  7:31 Xi Ruoyao
2024-05-23  3:20 ` Ping: " Xi Ruoyao
2024-05-23 13:09 ` Adhemerval Zanella Netto
2024-05-26  6:15   ` caiyinyu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cbd97efe-12c3-72fd-638a-9a8cf2f06ba1@loongson.cn \
    --to=caiyinyu@loongson.cn \
    --cc=adhemerval.zanella@linaro.org \
    --cc=i@xen0n.name \
    --cc=libc-alpha@sourceware.org \
    --cc=luweining@loongson.cn \
    --cc=xry111@xry111.site \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).