From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id 5B22B3858282 for ; Fri, 17 May 2024 08:20:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5B22B3858282 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5B22B3858282 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::530 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715934014; cv=none; b=TeqTMA5mnVUer/5f0M6N3WCWsOzAUjTpSPNw5uGGpeNlveIXWhb1yatZ9X/IuqFfjQH+d3PMIcyf9TCSeKJJZ2npMhdLX9ujHyfUxJWsf0yAitbu7YnImuMyXbBkhf24TYAgwh2qjZ6k9hw7Yk49sERx3To3rh3bKldNbWqt90Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715934014; c=relaxed/simple; bh=ugcyjNQtssgsHI19cZ+GKNLW8W/8cm8iv1aMYPc33zI=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=L8Re857LXZlgOIJQs+KlGzjgn/NQQhS9hJ21wIFZjqF2Q9pKt6/RWw1riG4jEdja2jDUabfG4uuZQyVD1srqa2QlP2FftXWFlWqNdF5UxS9liiFZph82DBD3ydglttb+uoUUVEJcvD/x70QMJ8Yqox476QJlMWEFpDG0nxLUY0g= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5751bcb3139so580326a12.1 for ; Fri, 17 May 2024 01:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715934009; x=1716538809; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=GpjiEe2fNReZ6PN3yUtxgAzPJxAv6k43rLMIDLp2WB8=; b=lQWShsdUw2x8CSgO5JVEDh9KHsMp3It8kQ/F3ONJTtAz8mUNKHj+vfQsIRn1zkbJSx eANhfcWSyLyPEKSfk2lgOV8jmGwQFDSRcqHgk2o9Vtifq3ugTXUZfNrH6ytF158FJVir ZyF1RFgqERrkgRDM05dWeSy3TSAogpgqnOeV3rZ+2sesVTBVk7chJthtAin4+rHS52Mc 6bOF158VOpDcIfCfv5WxKVJ7AvIKbQeOelon4BZ+vO6Cp8DDSJB9OnWU9gR22ygd9yhf 0/ihPTPyW5yKZm/8gWeNV8pV8qaWIApgYKzYR++EilapIwAOoKz3tf73095RW0iJRXUD jQWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715934009; x=1716538809; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GpjiEe2fNReZ6PN3yUtxgAzPJxAv6k43rLMIDLp2WB8=; b=b4TSSUu4wdWWsoDUm34bvqo1Zb2A5eH4lzAI7N2mE548j9jYlTb/xGHN2+xheQv7Wk DyqL6NhDEb+pndE3gTAJBrhvwD0aUjniI18w1CkKoiH/VYACxh6nj/IopQlcjo3bmKMb LrYs5vcIC66wowoCJ8Z5rlTBpevPsBEDiVqoikGELpESQTR0JYuRBo8qNs1KUU+B6QGx zUhrOVbkE0aFfsaLgc39R9bIMDnoxH2ggZ/HJn2Y5+xIcNyq8edODfBaAF9LbPYssw2l BHvJHLqlFHX/Ku5p419p+tmn3djis47fNsT/J5vgRZbqzlWlNNMS7q/FgfI4FnnrSR2e v8lA== X-Gm-Message-State: AOJu0YwfKl0o9TVUTJpEehrEXNkRs3Vyfk5+DpifqzUFzby7VeTrCThw vSwSImn8Zb6QNaDTzu/lKMhiBKdUwFbodKZRk9hwptXQcmEhVXZvZYS7iM1ZxJ8ZPQb37lGmZNk K7vanCBSh+554yCQAckmFf9AH3jY= X-Google-Smtp-Source: AGHT+IFQnYrS+NmrViCF/ZvxDLbzJgMR/6dgSJyN0UwykrJNrpNJ3zPKpg7+6SeUrXzRy7vQmMEnoXKfzhMo95SFnmk= X-Received: by 2002:a17:907:1189:b0:a59:ba2b:590b with SMTP id a640c23a62f3a-a5a2d6bed92mr1426381566b.71.1715934008393; Fri, 17 May 2024 01:20:08 -0700 (PDT) MIME-Version: 1.0 References: <20240517081013.12611-1-zengxiao@eswincomputing.com> In-Reply-To: <20240517081013.12611-1-zengxiao@eswincomputing.com> From: Kito Cheng Date: Fri, 17 May 2024 16:19:56 +0800 Message-ID: Subject: Re: [PATCH] RISC-V: Modify _Bfloat16 to __bf16 To: Xiao Zeng Cc: gcc-patches@gcc.gnu.org, jeffreyalaw@gmail.com, research_trasio@irq.a4lg.com, palmer@dabbelt.com, zhengyu@eswincomputing.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_NUMSUBJECT,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: LGTM, thanks for fixing this :) On Fri, May 17, 2024 at 4:05=E2=80=AFPM Xiao Zeng wrote: > > According to the description in: > , > the type representation symbol of BF16 has been corrected. > > Kito Cheng pointed out relevant information in the email: > > > gcc/ChangeLog: > > * config/riscv/riscv-builtins.cc (riscv_init_builtin_types): > Modify _Bfloat16 to __bf16. > * config/riscv/riscv.cc (riscv_mangle_type): Ditto. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/_Bfloat16-nanboxing.c: Move to... > * gcc.target/riscv/__bf16-nanboxing.c: ...here. > * gcc.target/riscv/bf16_arithmetic.c: Modify _Bfloat16 to __bf16. > * gcc.target/riscv/bf16_call.c: Ditto. > * gcc.target/riscv/bf16_comparison.c: Ditto. > * gcc.target/riscv/bf16_float_libcall_convert.c: Ditto. > * gcc.target/riscv/bf16_integer_libcall_convert.c: Ditto. > --- > gcc/config/riscv/riscv-builtins.cc | 6 +++--- > gcc/config/riscv/riscv.cc | 2 +- > .../{_Bfloat16-nanboxing.c =3D> __bf16-nanboxing.c} | 12 ++++++------ > gcc/testsuite/gcc.target/riscv/bf16_arithmetic.c | 6 +++--- > gcc/testsuite/gcc.target/riscv/bf16_call.c | 4 ++-- > gcc/testsuite/gcc.target/riscv/bf16_comparison.c | 6 +++--- > .../gcc.target/riscv/bf16_float_libcall_convert.c | 2 +- > .../gcc.target/riscv/bf16_integer_libcall_convert.c | 2 +- > 8 files changed, 20 insertions(+), 20 deletions(-) > rename gcc/testsuite/gcc.target/riscv/{_Bfloat16-nanboxing.c =3D> __bf16= -nanboxing.c} (83%) > > diff --git a/gcc/config/riscv/riscv-builtins.cc b/gcc/config/riscv/riscv-= builtins.cc > index 4c08834288a..dc54e1a59b5 100644 > --- a/gcc/config/riscv/riscv-builtins.cc > +++ b/gcc/config/riscv/riscv-builtins.cc > @@ -275,7 +275,7 @@ riscv_init_builtin_types (void) > lang_hooks.types.register_builtin_type (riscv_float16_type_node, > "_Float16"); > > - /* Provide the _Bfloat16 type and bfloat16_type_node if needed. */ > + /* Provide the __bf16 type and bfloat16_type_node if needed. */ > if (!bfloat16_type_node) > { > riscv_bfloat16_type_node =3D make_node (REAL_TYPE); > @@ -286,9 +286,9 @@ riscv_init_builtin_types (void) > else > riscv_bfloat16_type_node =3D bfloat16_type_node; > > - if (!maybe_get_identifier ("_Bfloat16")) > + if (!maybe_get_identifier ("__bf16")) > lang_hooks.types.register_builtin_type (riscv_bfloat16_type_node, > - "_Bfloat16"); > + "__bf16"); > } > > /* Implement TARGET_INIT_BUILTINS. */ > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > index 4067505270e..cf15a12de3a 100644 > --- a/gcc/config/riscv/riscv.cc > +++ b/gcc/config/riscv/riscv.cc > @@ -10262,7 +10262,7 @@ riscv_asan_shadow_offset (void) > static const char * > riscv_mangle_type (const_tree type) > { > - /* Half-precision float, _Float16 is "DF16_" and _Bfloat16 is "DF16b".= */ > + /* Half-precision float, _Float16 is "DF16_" and __bf16 is "DF16b". *= / > if (SCALAR_FLOAT_TYPE_P (type) && TYPE_PRECISION (type) =3D=3D 16) > { > if (TYPE_MODE (type) =3D=3D HFmode) > diff --git a/gcc/testsuite/gcc.target/riscv/_Bfloat16-nanboxing.c b/gcc/t= estsuite/gcc.target/riscv/__bf16-nanboxing.c > similarity index 83% > rename from gcc/testsuite/gcc.target/riscv/_Bfloat16-nanboxing.c > rename to gcc/testsuite/gcc.target/riscv/__bf16-nanboxing.c > index 11a73d22234..a9a586c98b9 100644 > --- a/gcc/testsuite/gcc.target/riscv/_Bfloat16-nanboxing.c > +++ b/gcc/testsuite/gcc.target/riscv/__bf16-nanboxing.c > @@ -1,14 +1,14 @@ > /* { dg-do compile } */ > /* { dg-options "-march=3Drv64ifd -mabi=3Dlp64d -mcmodel=3Dmedlow -O" } = */ > > -_Bfloat16 gvar =3D 9.87654; > +__bf16 gvar =3D 9.87654; > union U > { > unsigned short i16; > - _Bfloat16 f16; > + __bf16 f16; > }; > > -_Bfloat16 > +__bf16 > test1 (unsigned short input) > { > union U tmp; > @@ -16,19 +16,19 @@ test1 (unsigned short input) > return tmp.f16; > } > > -_Bfloat16 > +__bf16 > test2 () > { > return 1.234f; > } > > -_Bfloat16 > +__bf16 > test3 () > { > return gvar; > } > > -_Bfloat16 > +__bf16 > test () > { > return 0.0f; > diff --git a/gcc/testsuite/gcc.target/riscv/bf16_arithmetic.c b/gcc/tests= uite/gcc.target/riscv/bf16_arithmetic.c > index 9e485051260..190cc1d574a 100644 > --- a/gcc/testsuite/gcc.target/riscv/bf16_arithmetic.c > +++ b/gcc/testsuite/gcc.target/riscv/bf16_arithmetic.c > @@ -5,9 +5,9 @@ > /* 1) bf -> sf (call __extendbfsf2) */ > /* 2) sf1 [+|-|*|/] sf2 (call __[add|sub|mul|div]sf3) */ > /* 3) sf -> bf (call __truncsfbf2) */ > -extern _Bfloat16 bf; > -extern _Bfloat16 bf1; > -extern _Bfloat16 bf2; > +extern __bf16 bf; > +extern __bf16 bf1; > +extern __bf16 bf2; > > void bf_add_bf () { bf =3D bf1 + bf2; } > > diff --git a/gcc/testsuite/gcc.target/riscv/bf16_call.c b/gcc/testsuite/g= cc.target/riscv/bf16_call.c > index 29f67719999..6ace1494370 100644 > --- a/gcc/testsuite/gcc.target/riscv/bf16_call.c > +++ b/gcc/testsuite/gcc.target/riscv/bf16_call.c > @@ -4,9 +4,9 @@ > > /* 1) bf -> sf (call __extendbfsf2) */ > /* 2) sf -> bf (call __truncsfbf2) */ > -__attribute__ ((noinline)) _Bfloat16 add (_Bfloat16 a, _Bfloat16 b) { re= turn a + b; } > +__attribute__ ((noinline)) __bf16 add (__bf16 a, __bf16 b) { return a + = b; } > > -_Bfloat16 test(_Bfloat16 a, _Bfloat16 b) { return add (a, b); } > +__bf16 test(__bf16 a, __bf16 b) { return add (a, b); } > > /* { dg-final { scan-assembler-times "call\t__extendbfsf2" 2 } } */ > /* { dg-final { scan-assembler-times "call\t__truncsfbf2" 1 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/bf16_comparison.c b/gcc/tests= uite/gcc.target/riscv/bf16_comparison.c > index 69db803f403..2c13b8a0c9a 100644 > --- a/gcc/testsuite/gcc.target/riscv/bf16_comparison.c > +++ b/gcc/testsuite/gcc.target/riscv/bf16_comparison.c > @@ -4,9 +4,9 @@ > > /* 1) bf -> sf (call __extendbfsf2) */ > /* 2) sf1 [<|<=3D|>|>=3D|=3D=3D] sf2 (call __[lt|le|gt|ge|eq]sf2) *= / > -extern _Bfloat16 bf; > -extern _Bfloat16 bf1; > -extern _Bfloat16 bf2; > +extern __bf16 bf; > +extern __bf16 bf1; > +extern __bf16 bf2; > > void bf_lt_bf () { bf =3D (bf1 < bf2) ? bf1 : bf2; } > > diff --git a/gcc/testsuite/gcc.target/riscv/bf16_float_libcall_convert.c = b/gcc/testsuite/gcc.target/riscv/bf16_float_libcall_convert.c > index ba6c6460bc2..423a071d1a5 100644 > --- a/gcc/testsuite/gcc.target/riscv/bf16_float_libcall_convert.c > +++ b/gcc/testsuite/gcc.target/riscv/bf16_float_libcall_convert.c > @@ -14,7 +14,7 @@ > * bf -> tf =3D=3D bf -> sf -> tf (call __extendbfsf2 && _= _extendsftf2) > */ > > -extern _Bfloat16 bf; > +extern __bf16 bf; > extern _Float16 hf; > extern float sf; > extern double df; > diff --git a/gcc/testsuite/gcc.target/riscv/bf16_integer_libcall_convert.= c b/gcc/testsuite/gcc.target/riscv/bf16_integer_libcall_convert.c > index ad714253a4a..2c37302e294 100644 > --- a/gcc/testsuite/gcc.target/riscv/bf16_integer_libcall_convert.c > +++ b/gcc/testsuite/gcc.target/riscv/bf16_integer_libcall_convert.c > @@ -16,7 +16,7 @@ > * bf -> udi/uti (call __fixunssf[d|t]i) > */ > > -extern _Bfloat16 bf; > +extern __bf16 bf; > > extern signed char qi; > extern unsigned char uqi; > -- > 2.17.1 >