search for: __udivsi3

Displaying 19 results from an estimated 19 matches for "__udivsi3".

Did you mean: __udivdi3
2018 Dec 03
3
The builtins library of compiler-rt is a performance HOG^WKILLER
...s! __divsi3 (18 instructions) perform a DIV after 2 calls of abs(), plus a final negation, instead of just a single IDIV __modsi3 (14 instructions) calls __divsi3 (18 instructions) __divmodsi4 (17 instructions) calls __divsi3 (18 instructions) __udivsi3 (52 instructions) does NOT use DIV, but performs BITWISE division using shifts and additions! __umodsi3 (14 instructions) calls __udivsi3 (52 instructions) __udivmodsi4 (17 instructions) calls __udivsi3 (52 instructions) __muldi3 (41 instructions) performs a "long&...
2018 Dec 03
3
The builtins library of compiler-rt is a performance HOG^WKILLER
...calls of abs(), >> plus a final negation, instead of just >> a single IDIV >> __modsi3 (14 instructions) calls __divsi3 (18 instructions) >> __divmodsi4 (17 instructions) calls __divsi3 (18 instructions) >> >> __udivsi3 (52 instructions) does NOT use DIV, but performs BITWISE >> division using shifts and additions! >> __umodsi3 (14 instructions) calls __udivsi3 (52 instructions) >> __udivmodsi4 (17 instructions) calls __udivsi3 (52 instructions) >> >> __mul...
2004 Feb 22
3
ARM/Thumb updates and some other minor tweaks
.../klibc/libgcc/__udivmodsi4.c 2002-09-16 09:45:47.000000000 -0700 +++ klibc-0.114/klibc/libgcc/__udivmodsi4.c 2004-02-22 04:39:00.000000000 -0800 @@ -1,3 +1,7 @@ +/* + * libgcc/__udivmodsi4.c + */ + #include <klibc/diverr.h> #include <stdint.h> diff -ruN klibc-0.114_orig/klibc/libgcc/__udivsi3.c klibc-0.114/klibc/libgcc/__udivsi3.c --- klibc-0.114_orig/klibc/libgcc/__udivsi3.c 2002-09-16 09:45:47.000000000 -0700 +++ klibc-0.114/klibc/libgcc/__udivsi3.c 2004-02-22 04:39:00.000000000 -0800 @@ -1,5 +1,5 @@ /* - * libgcc/__divsi3.c + * libgcc/__udivsi3.c */ #include <stdint.h> di...
2003 Dec 08
0
[PATCH] Add some libgcc stuff to ia64's Makefile.inc
...tor.com|ChangeSet|20020723064121|00000|f8a756c36aa22cad C c Add a bunch of libgcc objects. K 41984 O -rw-rw-r-- P klibc/arch/ia64/Makefile.inc ------------------------------------------------ D13 1 I13 9 arch/$(ARCH)/pipe.o \ libgcc/__divdi3.o \ libgcc/__divsi3.o \ libgcc/__udivdi3.o \ libgcc/__udivsi3.o \ libgcc/__umodsi3.o \ libgcc/__umoddi3.o \ libgcc/__udivmodsi4.o \ libgcc/__udivmoddi4.o # Patch checksum=c61569d9 -------------- next part -------------- A non-text attachment was scrubbed... Name: klibc-libgcc-fixes.diff Type: text/x-patch Size: 1114 bytes Desc: not available Url : http:/...
2014 Nov 25
1
[Profiling][FFT][AArch64] FFT Profiling data on AArch64
Hi everyone, I have profiled Opus on AArch64. I just run opus_demo with some pcm files. Following is time proportion of FFT with different bitrate. Bitrate | Time cost by FFT/iFFT 24kb/s | 15% 48kb/s | 15% 96kb/s | 13% Any comment? I want some data close to real application, any suggestion? Thanks, Phil Wang -------------- next part -------------- An HTML attachment was scrubbed... URL:
2014 Sep 06
2
[LLVMdev] [Compiler-RT] [ARM] Where __aeabi_[il]div0 builtins should be implemented?
> Looks as though whomever implemented the call to __aeabi_idiv0 wanted > to be conservative for non EABI targets. How could it prevent him from providing default implementation of __aeabi_idiv0() for EABI targets? > AFAIK, gnueabi targets recognize all EABI functions, so that should > work well. Not sure I understand you, nothing in compiler-rt defines these functions, they are
2020 Aug 29
0
[klibc:master] ia64: Fix sigaction function implementation
...ld +++ b/usr/klibc/arch/ia64/Kbuild @@ -2,7 +2,7 @@ # klibc files for ia64 # -klib-y := vfork.o setjmp.o pipe.o syscall.o +klib-y := vfork.o setjmp.o sigaction.o pipe.o syscall.o klib-y += ../../libgcc/__divdi3.o ../../libgcc/__divsi3.o klib-y += ../../libgcc/__udivdi3.o ../../libgcc/__udivsi3.o diff --git a/usr/klibc/arch/ia64/sigaction.c b/usr/klibc/arch/ia64/sigaction.c new file mode 100644 index 00000000..c1ea5fdd --- /dev/null +++ b/usr/klibc/arch/ia64/sigaction.c @@ -0,0 +1,50 @@ +/* + * sigaction.c + */ + +#include <signal.h> +#include <sys/syscall.h> + +/* We use -mno...
2020 Aug 28
0
[klibc:ia64-signal-fix] ia64: Fix sigaction struct layout and function implementation
...ld +++ b/usr/klibc/arch/ia64/Kbuild @@ -2,7 +2,7 @@ # klibc files for ia64 # -klib-y := vfork.o setjmp.o pipe.o syscall.o +klib-y := vfork.o setjmp.o sigaction.o pipe.o syscall.o klib-y += ../../libgcc/__divdi3.o ../../libgcc/__divsi3.o klib-y += ../../libgcc/__udivdi3.o ../../libgcc/__udivsi3.o diff --git a/usr/klibc/arch/ia64/sigaction.c b/usr/klibc/arch/ia64/sigaction.c new file mode 100644 index 00000000..e512bdcd --- /dev/null +++ b/usr/klibc/arch/ia64/sigaction.c @@ -0,0 +1,50 @@ +/* + * sigaction.c + */ + +#include <signal.h> +#include <sys/syscall.h> + +/* We use -mno...
2019 Sep 29
2
[cfe-dev] CFG simplification question, and preservation of branching in the original code
...t (long a, long b) > { > int neg = 0; > long res; > > if (a < 0) > { > a = -a; > neg = 1; > } > > if (b < 0) > { > b = -b; > neg = !neg; > } > > res = a*b; //(unsigned long)a / (unsigned long)b; // will call __udivsi3 > > if (neg) > res = -res; > > return res; > } > > > This gets compiled into > > ; Function Attrs: norecurse nounwind readnone > define dso_local i32 @test(i32 %a, i32 %b) local_unnamed_addr #0 { > entry: > %cmp = icmp slt i32 %a, 0 > %sub =...
2019 Sep 25
2
[cfe-dev] CFG simplification question, and preservation of branching in the original code
Changing the order of the checks in CodeGenPrepare::optimizeSelectInst() sounds good to me. But you may need to go further for optimum performance. For example, we may be canonicalizing math/logic IR patterns into 'select' such as in the recent: https://reviews.llvm.org/D67799 So if you want those to become ALU ops again rather than branches, then you need to do the transform later in
2006 Jul 09
6
[PATCH/RFC] klibc/kbuild: use separate kbuild files for each klibc subdirectory
This fixes a long standing issue where it was not possible to do "make usr/klibc/arch/x86_64/longjmp.o" in the kernel. The principle is that all .o files to be part of klibc are listed with klib-y. For each directory a klib.list file is made that specify all .o file and the final AR then adds all .o files to create libc.a. This patch introduce the infrastructure and converts x86_64 to
2019 Sep 30
3
[cfe-dev] CFG simplification question, and preservation of branching in the original code
...> long test (long a, long b) > { > int neg = 0; > long res; > > if (a < 0) > { > a = -a; > neg = 1; > } > > if (b < 0) > { > b = -b; > neg = !neg; > } > > res = a*b; //(unsigned long)a / (unsigned long)b; // will call __udivsi3 > > if (neg) > res = -res; > > return res; > } > > > This gets compiled into > > ; Function Attrs: norecurse nounwind readnone > define dso_local i32 @test(i32 %a, i32 %b) local_unnamed_addr #0 { > entry: > %cmp = icmp slt i32 %a, 0 > %sub = sub n...
2019 Sep 30
2
[cfe-dev] CFG simplification question, and preservation of branching in the original code
...not clang. > > long test (long a, long b) > { > int neg = 0; > long res; > > if (a < 0) > { > a = -a; > neg = 1; > } > > if (b < 0) > { > b = -b; > neg = !neg; > } > > res = a*b; //(unsigned long)a / (unsigned long)b; // will call __udivsi3 > > if (neg) > res = -res; > > return res; > } > > > This gets compiled into > > ; Function Attrs: norecurse nounwind readnone > define dso_local i32 @test(i32 %a, i32 %b) local_unnamed_addr #0 { > entry: > %cmp = icmp slt i32 %a, 0 > %sub = sub nsw i32...
2006 Jun 26
0
[klibc 25/43] ia64 support for klibc
...included from the main Makefile, and that pathnames should be +# accordingly. +# + +KLIBCARCHOBJS = \ + arch/$(KLIBCARCH)/vfork.o \ + arch/$(KLIBCARCH)/setjmp.o \ + arch/$(KLIBCARCH)/pipe.o \ + arch/$(KLIBCARCH)/syscall.o \ + libgcc/__divdi3.o \ + libgcc/__divsi3.o \ + libgcc/__udivdi3.o \ + libgcc/__udivsi3.o \ + libgcc/__umodsi3.o \ + libgcc/__umoddi3.o \ + libgcc/__udivmodsi4.o \ + libgcc/__udivmoddi4.o + +KLIBCARCHSOOBJS = $(patsubst %o,%.lo,%(KLIBCARCHOBJS)) + +archclean: diff --git a/usr/klibc/arch/ia64/crt0.S b/usr/klibc/arch/ia64/crt0.S new file mode 100644 index 0000000..722276e --- /dev/null...
2019 Oct 01
3
[cfe-dev] CFG simplification question, and preservation of branching in the original code
...if (a < 0) >>> { >>> a = -a; >>> neg = 1; >>> } >>> >>> if (b < 0) >>> { >>> b = -b; >>> neg = !neg; >>> } >>> >>> res = a*b; //(unsigned long)a / (unsigned long)b; // will call __udivsi3 >>> >>> if (neg) >>> res = -res; >>> >>> return res; >>> } >>> >>> >>> This gets compiled into >>> >>> ; Function Attrs: norecurse nounwind readnone >>> define dso_local i32 @test(i32 %...
2019 Oct 03
2
[cfe-dev] CFG simplification question, and preservation of branching in the original code
...t; a = -a; >>>> neg = 1; >>>> } >>>> >>>> if (b < 0) >>>> { >>>> b = -b; >>>> neg = !neg; >>>> } >>>> >>>> res = a*b; //(unsigned long)a / (unsigned long)b; // will call __udivsi3 >>>> >>>> if (neg) >>>> res = -res; >>>> >>>> return res; >>>> } >>>> >>>> >>>> This gets compiled into >>>> >>>> ; Function Attrs: norecurse nounwind readnone &...
2012 Jan 09
39
[PATCH v4 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the fourth version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See
2011 Dec 06
57
[PATCH RFC 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the very first version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See
2006 Jun 28
35
[klibc 00/31] klibc as a historyless patchset (updated and reorganized)
I have updated the klibc patchset based on feedback received. In particular, the patchset has been reorganized so as not to break git-bisect. Additionally, this updates the patch base to 2.6.17-git12 (d38b69689c349f35502b92e20dafb30c62d49d63) and klibc 1.4.8; the main difference on the klibc side is removal of obsolete code. This is also available as a git tree at: