Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gcc/jit/dummy-frontend.cc
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,7 @@ recording::type* tree_type_to_jit_type (tree type)
}
else if (type == bfloat16_type_node)
{
return new recording::memento_of_get_type (&target_builtins_ctxt, GCC_JIT_TYPE_VOID); // FIXME: wrong type.
return new recording::memento_of_get_type (&target_builtins_ctxt, GCC_JIT_TYPE_BFLOAT16);
}
else if (type == dfloat128_type_node)
{
Expand Down
2 changes: 2 additions & 0 deletions gcc/jit/jit-playback.cc
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,8 @@ get_tree_node_for_type (enum gcc_jit_types type_)

case GCC_JIT_TYPE_FLOAT:
return float_type_node;
case GCC_JIT_TYPE_BFLOAT16:
return bfloat16_type_node;
case GCC_JIT_TYPE_DOUBLE:
return double_type_node;
case GCC_JIT_TYPE_LONG_DOUBLE:
Expand Down
10 changes: 10 additions & 0 deletions gcc/jit/jit-recording.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2483,6 +2483,9 @@ recording::memento_of_get_type::get_size ()
case GCC_JIT_TYPE_FLOAT:
size = FLOAT_TYPE_SIZE;
break;
case GCC_JIT_TYPE_BFLOAT16:
size = 16; // TODO
break;
case GCC_JIT_TYPE_DOUBLE:
size = DOUBLE_TYPE_SIZE;
break;
Expand Down Expand Up @@ -2542,6 +2545,7 @@ recording::memento_of_get_type::dereference ()
case GCC_JIT_TYPE_INT64_T:
case GCC_JIT_TYPE_INT128_T:
case GCC_JIT_TYPE_FLOAT:
case GCC_JIT_TYPE_BFLOAT16:
case GCC_JIT_TYPE_DOUBLE:
case GCC_JIT_TYPE_LONG_DOUBLE:
case GCC_JIT_TYPE_COMPLEX_FLOAT:
Expand Down Expand Up @@ -2606,6 +2610,7 @@ recording::memento_of_get_type::is_int () const
return true;

case GCC_JIT_TYPE_FLOAT:
case GCC_JIT_TYPE_BFLOAT16:
case GCC_JIT_TYPE_DOUBLE:
case GCC_JIT_TYPE_LONG_DOUBLE:
return false;
Expand Down Expand Up @@ -2664,6 +2669,7 @@ recording::memento_of_get_type::is_signed () const
case GCC_JIT_TYPE_UINT128_T:

case GCC_JIT_TYPE_FLOAT:
case GCC_JIT_TYPE_BFLOAT16:
case GCC_JIT_TYPE_DOUBLE:
case GCC_JIT_TYPE_LONG_DOUBLE:

Expand Down Expand Up @@ -2723,6 +2729,7 @@ recording::memento_of_get_type::is_float () const
return false;

case GCC_JIT_TYPE_FLOAT:
case GCC_JIT_TYPE_BFLOAT16:
case GCC_JIT_TYPE_DOUBLE:
case GCC_JIT_TYPE_LONG_DOUBLE:
return true;
Expand Down Expand Up @@ -2786,6 +2793,7 @@ recording::memento_of_get_type::is_bool () const
return false;

case GCC_JIT_TYPE_FLOAT:
case GCC_JIT_TYPE_BFLOAT16:
case GCC_JIT_TYPE_DOUBLE:
case GCC_JIT_TYPE_LONG_DOUBLE:
return false;
Expand Down Expand Up @@ -2865,6 +2873,7 @@ static const char * const get_type_strings[] = {
"__int32_t", /* GCC_JIT_TYPE_INT32_T */
"__int64_t", /* GCC_JIT_TYPE_INT64_T */
"__int128_t", /* GCC_JIT_TYPE_INT128_T */
"bfloat16", /* GCC_JIT_TYPE_BFLOAT16 */

};

Expand Down Expand Up @@ -2911,6 +2920,7 @@ static const char * const get_type_enum_strings[] = {
"GCC_JIT_TYPE_INT32_T",
"GCC_JIT_TYPE_INT64_T",
"GCC_JIT_TYPE_INT128_T",
"GCC_JIT_TYPE_BFLOAT16",
};

void
Expand Down
4 changes: 3 additions & 1 deletion gcc/jit/libgccjit.h
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,9 @@ enum gcc_jit_types
GCC_JIT_TYPE_INT16_T,
GCC_JIT_TYPE_INT32_T,
GCC_JIT_TYPE_INT64_T,
GCC_JIT_TYPE_INT128_T
GCC_JIT_TYPE_INT128_T,

GCC_JIT_TYPE_BFLOAT16,
};

extern gcc_jit_type *
Expand Down