]> xenbits.xensource.com Git - unikraft/libs/compiler-rt.git/commitdiff
Add clrsbdi2 needed by tensorflowlite RELEASE-0.5
authorGeorge Muraru <murarugeorgec@gmail.com>
Wed, 15 Apr 2020 06:15:58 +0000 (09:15 +0300)
committerFelipe Huici <felipe.huici@neclab.eu>
Fri, 17 Apr 2020 23:51:07 +0000 (01:51 +0200)
Signed-off-by: George Muraru <murarugeorgec@gmail.com>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
Makefile.uk
lib/builtins/clrsbdi2.c [new file with mode: 0644]

index 23f9e2ef3ad27023acc5779f335d7e083f2cacd3..dcb042b38b6d41789ca17cdc88a368e65a6a0b47 100644 (file)
@@ -62,8 +62,11 @@ LIBCOMPILER_RT_SRC=$(LIBCOMPILER_RT_ORIGIN)/$(LIBCOMPILER_RT_SUBDIR)
 # Library includes
 ################################################################################
 CINCLUDES-$(CONFIG_LIBCOMPILER_RT) += -I$(LIBCOMPILER_RT_SRC)/lib
+CINCLUDES-$(CONFIG_LIBCOMPILER_RT) += -I$(LIBCOMPILER_RT_SRC)/lib/builtins
 CINCLUDES-$(CONFIG_LIBCOMPILER_RT) += -I$(LIBCOMPILER_RT_SRC)/include
+
 CXXINCLUDES-$(CONFIG_LIBCOMPILER_RT) += -I$(LIBCOMPILER_RT_SRC)/lib
+CXXINCLUDES-$(CONFIG_LIBCOMPILER_RT) += -I$(LIBCOMPILER_RT_SRC)/lib/builtins
 CXXINCLUDES-$(CONFIG_LIBCOMPILER_RT) += -I$(LIBCOMPILER_RT_SRC)/include
 
 ################################################################################
@@ -238,3 +241,5 @@ LIBCOMPILER_RT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBCOMPILER_RT_SRC)/lib/builtins/
 ifdef CONFIG_LIBCOMPILER_RT_ATOMIC
 LIBCOMPILER_RT_SRCS-y += $(LIBCOMPILER_RT_SRC)/lib/builtins/atomic.c
 endif
+
+LIBCOMPILER_RT_SRCS-y += $(LIBCOMPILER_RT_BASE)/lib/builtins/clrsbdi2.c
diff --git a/lib/builtins/clrsbdi2.c b/lib/builtins/clrsbdi2.c
new file mode 100644 (file)
index 0000000..286d510
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of GCC.
+   GCC is free software; you can redistribute it and/or modify it under
+   the terms of the GNU General Public License as published by the Free
+   Software Foundation; either version 3, or (at your option) any later
+   version.
+   GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+   WARRANTY; without even the implied warranty of MERCHANTABILITY or
+   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+   for more details.
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.
+*/
+
+#include <int_lib.h>
+
+/* Returns: Number of leading zeroes */
+
+
+COMPILER_RT_ABI di_int
+__clrsbdi2(di_int x)
+{
+    int ret;
+    if (x < 0LL)
+        x = ~x;
+    if (x == 0LL)
+        return 8 * sizeof (x) -1;
+    ret = __builtin_clz((du_int) x);
+    return ret - 1;
+}