https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108426

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #2)
> Confirmed.
> The following builtins are missing from the go front-end:
> BUILT_IN_CLZL
> BUILT_IN_CTZL
> 
> The {,LL} versions are there but not the L version.

This should fix that:
diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc
index a4a0e5d903e..eea361b4f70 100644
--- a/gcc/go/go-gcc.cc
+++ b/gcc/go/go-gcc.cc
@@ -627,6 +627,11 @@ Gcc_backend::Gcc_backend()
                                                unsigned_type_node,
                                                NULL_TREE),
                       builtin_const);
+  this->define_builtin(BUILT_IN_CTZL, "__builtin_ctzl", "ctzl",
+                      build_function_type_list(integer_type_node,
+                                               long_unsigned_type_node,
+                                               NULL_TREE),
+                      builtin_const);
   this->define_builtin(BUILT_IN_CTZLL, "__builtin_ctzll", "ctzll",
                       build_function_type_list(integer_type_node,
                                                long_long_unsigned_type_node,
@@ -637,6 +642,11 @@ Gcc_backend::Gcc_backend()
                                                unsigned_type_node,
                                                NULL_TREE),
                       builtin_const);
+  this->define_builtin(BUILT_IN_CLZL, "__builtin_clzl", "clzl",
+                      build_function_type_list(integer_type_node,
+                                               long_unsigned_type_node,
+                                               NULL_TREE),
+                      builtin_const);
   this->define_builtin(BUILT_IN_CLZLL, "__builtin_clzll", "clzll",
                       build_function_type_list(integer_type_node,
                                                long_long_unsigned_type_node,

Reply via email to