public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] RISC-V: Modify _Bfloat16 to __bf16
@ 2024-05-17  8:10 Xiao Zeng
  2024-05-17  8:19 ` Kito Cheng
  0 siblings, 1 reply; 5+ messages in thread
From: Xiao Zeng @ 2024-05-17  8:10 UTC (permalink / raw)
  To: gcc-patches
  Cc: jeffreyalaw, research_trasio, kito.cheng, palmer, zhengyu, Xiao Zeng

According to the description in:
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/367>,
the type representation symbol of BF16 has been corrected.

Kito Cheng pointed out relevant information in the email:
<https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651850.html>

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 => __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 => __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 = make_node (REAL_TYPE);
@@ -286,9 +286,9 @@ riscv_init_builtin_types (void)
   else
     riscv_bfloat16_type_node = 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) == 16)
     {
       if (TYPE_MODE (type) == HFmode)
diff --git a/gcc/testsuite/gcc.target/riscv/_Bfloat16-nanboxing.c b/gcc/testsuite/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=rv64ifd -mabi=lp64d -mcmodel=medlow -O" } */
 
-_Bfloat16 gvar = 9.87654;
+__bf16 gvar = 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/testsuite/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 = bf1 + bf2; }
 
diff --git a/gcc/testsuite/gcc.target/riscv/bf16_call.c b/gcc/testsuite/gcc.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) { return 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/testsuite/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 [<|<=|>|>=|==] 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 = (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 == 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] RISC-V: Modify _Bfloat16 to __bf16
  2024-05-17  8:10 [PATCH] RISC-V: Modify _Bfloat16 to __bf16 Xiao Zeng
@ 2024-05-17  8:19 ` Kito Cheng
  2024-05-18  0:36   ` Jeff Law
  2024-05-18  2:59   ` [COMMITTED] " Xiao Zeng
  0 siblings, 2 replies; 5+ messages in thread
From: Kito Cheng @ 2024-05-17  8:19 UTC (permalink / raw)
  To: Xiao Zeng; +Cc: gcc-patches, jeffreyalaw, research_trasio, palmer, zhengyu

LGTM, thanks for fixing this :)

On Fri, May 17, 2024 at 4:05 PM Xiao Zeng <zengxiao@eswincomputing.com> wrote:
>
> According to the description in:
> <https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/367>,
> the type representation symbol of BF16 has been corrected.
>
> Kito Cheng pointed out relevant information in the email:
> <https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651850.html>
>
> 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 => __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 => __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 = make_node (REAL_TYPE);
> @@ -286,9 +286,9 @@ riscv_init_builtin_types (void)
>    else
>      riscv_bfloat16_type_node = 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) == 16)
>      {
>        if (TYPE_MODE (type) == HFmode)
> diff --git a/gcc/testsuite/gcc.target/riscv/_Bfloat16-nanboxing.c b/gcc/testsuite/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=rv64ifd -mabi=lp64d -mcmodel=medlow -O" } */
>
> -_Bfloat16 gvar = 9.87654;
> +__bf16 gvar = 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/testsuite/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 = bf1 + bf2; }
>
> diff --git a/gcc/testsuite/gcc.target/riscv/bf16_call.c b/gcc/testsuite/gcc.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) { return 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/testsuite/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 [<|<=|>|>=|==] 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 = (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 == 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
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] RISC-V: Modify _Bfloat16 to __bf16
  2024-05-17  8:19 ` Kito Cheng
@ 2024-05-18  0:36   ` Jeff Law
  2024-05-18  3:04     ` Xiao Zeng
  2024-05-18  2:59   ` [COMMITTED] " Xiao Zeng
  1 sibling, 1 reply; 5+ messages in thread
From: Jeff Law @ 2024-05-18  0:36 UTC (permalink / raw)
  To: Kito Cheng, Xiao Zeng; +Cc: gcc-patches, research_trasio, palmer, zhengyu



On 5/17/24 2:19 AM, Kito Cheng wrote:
> LGTM, thanks for fixing this :)
And just to be clear for Xiao, you can go ahead and commit this patch to 
the trunk.  An ACK from Kito, Juzhe, Palmer, Robin or myself is all you 
need for a change that is isolated to RISC-V code.

jeff


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [COMMITTED] RISC-V: Modify _Bfloat16 to __bf16
  2024-05-17  8:19 ` Kito Cheng
  2024-05-18  0:36   ` Jeff Law
@ 2024-05-18  2:59   ` Xiao Zeng
  1 sibling, 0 replies; 5+ messages in thread
From: Xiao Zeng @ 2024-05-18  2:59 UTC (permalink / raw)
  To: kito.cheng; +Cc: gcc-patches, jeffreyalaw, research_trasio, palmer, zhengyu

2024-05-17 16:19  Kito Cheng <kito.cheng@gmail.com> wrote:
>
>LGTM, thanks for fixing this :) 
1 Passed CI testing:
<https://patchwork.sourceware.org/project/gcc/patch/20240517081013.12611-1-zengxiao@eswincomputing.com/>

2 pushed to trunk.
>
>On Fri, May 17, 2024 at 4:05 PM Xiao Zeng <zengxiao@eswincomputing.com> wrote:
>>
>> According to the description in:
>> <https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/367>,
>> the type representation symbol of BF16 has been corrected.
>>
>> Kito Cheng pointed out relevant information in the email:
>> <https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651850.html>
>>
>> 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 => __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 => __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 = make_node (REAL_TYPE);
>> @@ -286,9 +286,9 @@ riscv_init_builtin_types (void)
>>    else
>>      riscv_bfloat16_type_node = 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) == 16)
>>      {
>>        if (TYPE_MODE (type) == HFmode)
>> diff --git a/gcc/testsuite/gcc.target/riscv/_Bfloat16-nanboxing.c b/gcc/testsuite/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=rv64ifd -mabi=lp64d -mcmodel=medlow -O" } */
>>
>> -_Bfloat16 gvar = 9.87654;
>> +__bf16 gvar = 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/testsuite/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 = bf1 + bf2; }
>>
>> diff --git a/gcc/testsuite/gcc.target/riscv/bf16_call.c b/gcc/testsuite/gcc.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) { return 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/testsuite/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 [<|<=|>|>=|==] 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 = (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 == 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
>>
Thanks
Xiao Zeng


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: [PATCH] RISC-V: Modify _Bfloat16 to __bf16
  2024-05-18  0:36   ` Jeff Law
@ 2024-05-18  3:04     ` Xiao Zeng
  0 siblings, 0 replies; 5+ messages in thread
From: Xiao Zeng @ 2024-05-18  3:04 UTC (permalink / raw)
  To: jeffreyalaw, kito.cheng; +Cc: gcc-patches, research_trasio, palmer, zhengyu

2024-05-18 08:36  Jeff Law <jeffreyalaw@gmail.com> wrote:
>
>
>
>On 5/17/24 2:19 AM, Kito Cheng wrote:
>> LGTM, thanks for fixing this :)
>And just to be clear for Xiao, you can go ahead and commit this patch to
>the trunk. 
> An ACK from Kito, Juzhe, Palmer, Robin or myself
good.

>is all you need for a change that is isolated to RISC-V code.
>
>jeff
Thanks
Xiao Zeng


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-18  3:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-17  8:10 [PATCH] RISC-V: Modify _Bfloat16 to __bf16 Xiao Zeng
2024-05-17  8:19 ` Kito Cheng
2024-05-18  0:36   ` Jeff Law
2024-05-18  3:04     ` Xiao Zeng
2024-05-18  2:59   ` [COMMITTED] " Xiao Zeng

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).