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