search for: umul

Displaying 20 results from an estimated 46 matches for "umul".

Did you mean: mul
2009 Jun 01
3
[LLVMdev] [PATH] Fix support for .umul.with.overflow on x86 + fix c binding
Hi, The first patch fixes the implementation of umul.with.overflow on x86 which was throwing a 'Cannot yet select' error. The second patch fixes the definition of LLVMTypeKind in the C binding by syncing it with the c++ counterpart. Please review and commit if it looks ok. thanks Zoltan -------------- next pa...
2009 Jun 01
0
[LLVMdev] [PATH] Fix support for .umul.with.overflow on x86 + fix c binding
Hi, Forgot the patch... Zoltan On Mon, Jun 1, 2009 at 10:57 PM, Zoltan Varga <vargaz at gmail.com> wrote: > Hi, > > The first patch fixes the implementation of umul.with.overflow on x86 > which was throwing a 'Cannot yet select' error. > The second patch fixes the definition of LLVMTypeKind in the C binding by > syncing it with the c++ counterpart. > > Please review and commit if it looks ok. > > thanks > >...
2012 Aug 22
1
[LLVMdev] RFC: optimizing integer overflow checks
...s / size) return NULL; return malloc(bytes); } $ clang -emit-llvm -S -o - t.c | opt -S -mem2reg -simplifycfg -overflow-idiom -simplifycfg -sink -overflow-combine -adce define i8* @malloc_array_1(i64 %n, i64 %size) nounwind uwtable ssp { entry: %0 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %n, i64 %size) %cmp = extractvalue { i64, i1 } %0, 1 br i1 %cmp, label %return, label %if.end if.end: ; preds = %entry %mul = extractvalue { i64, i1 } %0, 0 %call = call i8* @malloc(i64 %mul) br label %return return:...
2016 Feb 22
2
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...> >> Currently the test_input_global() test uses the following bit of >> TGSI code: >> >> COMP >> DCL SV[0], THREAD_ID[0] >> DCL TEMP[0], LOCAL >> DCL TEMP[1], LOCAL >> IMM UINT32 { 8, 0, 0, 0 } >> >> BGNSUB\n" >> UMUL TEMP[0], SV[0], IMM[0] >> LOAD TEMP[1].xy, RINPUT, TEMP[0] >> LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy >> UADD TEMP[1].x, TEMP[0], -TEMP[1] >> STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] >> RET >> ENDSUB >> >> >&...
2016 Feb 22
4
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...gt;>>> TGSI code: >>>> >>>> COMP >>>> DCL SV[0], THREAD_ID[0] >>>> DCL TEMP[0], LOCAL >>>> DCL TEMP[1], LOCAL >>>> IMM UINT32 { 8, 0, 0, 0 } >>>> >>>> BGNSUB\n" >>>> UMUL TEMP[0], SV[0], IMM[0] >>>> LOAD TEMP[1].xy, RINPUT, TEMP[0] >>>> LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy >>>> UADD TEMP[1].x, TEMP[0], -TEMP[1] >>>> STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] >>>> RET &gt...
2015 Sep 09
2
Writing built-ins for instructions returning multiple operands
I have written many builtins for our SHAVE processor which bind directly to our instructions, and making instructions that are not easily selectable by the compiler available to the programmer. The majority of these are straight-forward enough, taking a small number pf input operands and returning a single result; for example 'int __builtin_shave_mul(int, int)' might map onto a simple
1998 Jan 06
2
pow_ii
I was hoping fatal: relocation error: symbol not found: pow_ii: referenced in .../dsefor.so would disappear in R 0.6x, but it has not. I believe this is suppose to come from the f2c lib, but I seem to need just a couple of routines: nm -u dsefor.so Undefined symbols from dsefor.so: .umul pow_dd pow_ii pow_ri For my own purposes I could compile with fortran but that makes it much harder for others to use the library. Can anyone suggest a good strategy so that the whole library can be used easily? Paul Gilbert -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-....
2016 Jan 11
4
Some llvm questions (for tgsi backend)
...Egis [TEMP1y], TEMP1x RET ENDSUB Working tgsi for this would look like this: COMP DCL SV[0], THREAD_ID[0] DCL TEMP[0], LOCAL DCL TEMP[1], LOCAL IMM UINT32 { 0, 0, 0, 0 } IMM UINT32 { 4, 0, 0, 0 } IMM UINT32 { 128, 0, 0, 0 } BGNSUB LOAD TEMP[0].xy, RINPUT, IMM[0] UMUL TEMP[1].x, SV[0], IMM[1] UADD TEMP[0].x, TEMP[0], TEMP[1] UMUL TEMP[1].x, SV[0], IMM[2] UADD TEMP[0].y, TEMP[0], TEMP[1].xxxx LOAD TEMP[1].x, RGLOBAL, TEMP[0] LOAD TEMP[0].x, RGLOBAL, TEMP[0].yyyy UADD TEMP[1].x, TEMP[0], -TEMP[1] STORE RGLOBA...
2006 Jun 26
0
[klibc 35/43] sparc support for klibc
...libc/arch/sparc/setjmp.S | 38 ++++ usr/klibc/arch/sparc/smul.S | 160 +++++++++++++++++ usr/klibc/arch/sparc/syscall.S | 19 ++ usr/klibc/arch/sparc/sysfork.S | 25 +++ usr/klibc/arch/sparc/sysstub.ph | 25 +++ usr/klibc/arch/sparc/umul.S | 193 ++++++++++++++++++++ 21 files changed, 1540 insertions(+), 0 deletions(-) diff --git a/usr/include/arch/sparc/klibc/archconfig.h b/usr/include/arch/sparc/klibc/archconfig.h new file mode 100644 index 0000000..90a6c49 --- /dev/null +++ b/usr/include/arch/sparc/klibc/archconf...
2016 Feb 22
2
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...is working I should be able to adjust my llvm work (and if necessary clover) to start to work again. Currently the test_input_global() test uses the following bit of TGSI code: COMP DCL SV[0], THREAD_ID[0] DCL TEMP[0], LOCAL DCL TEMP[1], LOCAL IMM UINT32 { 8, 0, 0, 0 } BGNSUB\n" UMUL TEMP[0], SV[0], IMM[0] LOAD TEMP[1].xy, RINPUT, TEMP[0] LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy UADD TEMP[1].x, TEMP[0], -TEMP[1] STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] RET ENDSUB Where by RINPUT and RGLOBAL get replaces by processing the code with cpp an...
2016 Feb 22
0
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...gt;>> >>>>> COMP >>>>> DCL SV[0], THREAD_ID[0] >>>>> DCL TEMP[0], LOCAL >>>>> DCL TEMP[1], LOCAL >>>>> IMM UINT32 { 8, 0, 0, 0 } >>>>> >>>>> BGNSUB\n" >>>>> UMUL TEMP[0], SV[0], IMM[0] >>>>> LOAD TEMP[1].xy, RINPUT, TEMP[0] >>>>> LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy >>>>> UADD TEMP[1].x, TEMP[0], -TEMP[1] >>>>> STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] >>>>...
2016 Feb 22
0
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...gt;>> >>>>> COMP >>>>> DCL SV[0], THREAD_ID[0] >>>>> DCL TEMP[0], LOCAL >>>>> DCL TEMP[1], LOCAL >>>>> IMM UINT32 { 8, 0, 0, 0 } >>>>> >>>>> BGNSUB\n" >>>>> UMUL TEMP[0], SV[0], IMM[0] >>>>> LOAD TEMP[1].xy, RINPUT, TEMP[0] >>>>> LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy >>>>> UADD TEMP[1].x, TEMP[0], -TEMP[1] >>>>> STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] >>>>...
2016 Feb 22
0
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...lobal() test uses the following bit of >>> TGSI code: >>> >>> COMP >>> DCL SV[0], THREAD_ID[0] >>> DCL TEMP[0], LOCAL >>> DCL TEMP[1], LOCAL >>> IMM UINT32 { 8, 0, 0, 0 } >>> >>> BGNSUB\n" >>> UMUL TEMP[0], SV[0], IMM[0] >>> LOAD TEMP[1].xy, RINPUT, TEMP[0] >>> LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy >>> UADD TEMP[1].x, TEMP[0], -TEMP[1] >>> STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] >>> RET >>> ENDSUB...
2019 Feb 19
2
AVR is little endian, but requires function arguments to be in a "big endian" order, might need an additional data layout variable unless someone can suggest a better fix?
I think this is broken in at least one place when legalising the DAG. This llvm ir: %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %2, i16 11) Fails to lower correctly on AVR but the problem is, unfortunately, not just coming from the AVR Target code and I am not sure it can be cleanly fixed just there. (But I would be very happy to be proved wrong as I'm very new to this.) The above code is taken by...
2011 Dec 13
1
[LLVMdev] Issues in converting C++ code to C using llvm and llc
...nt. Also how does llvm handles the libraries which are not part of std C but are in C++. ----------------------------------------- When I tried to compile my original benchmarks (They are from PARSEC suite) I see this error LLVM_ERROR: code generator does not support intrinsic function "llvm.umul.with.overflow.i32" How can I avoid this. I am running things on 64-bit Intel machine loaded with CentOS 5.x Any help/pointers to solve the above issues would be highly appriciated. Thanks, -Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists....
2016 Jan 12
1
Some llvm questions (for tgsi backend)
...gt;> COMP >> DCL SV[0], THREAD_ID[0] >> DCL TEMP[0], LOCAL >> DCL TEMP[1], LOCAL >> IMM UINT32 { 0, 0, 0, 0 } >> IMM UINT32 { 4, 0, 0, 0 } >> IMM UINT32 { 128, 0, 0, 0 } >> >> BGNSUB >> LOAD TEMP[0].xy, RINPUT, IMM[0] >> UMUL TEMP[1].x, SV[0], IMM[1] >> UADD TEMP[0].x, TEMP[0], TEMP[1] >> UMUL TEMP[1].x, SV[0], IMM[2] >> UADD TEMP[0].y, TEMP[0], TEMP[1].xxxx >> LOAD TEMP[1].x, RGLOBAL, TEMP[0] >> LOAD TEMP[0].x, RGLOBAL, TEMP[0].yyyy >>...
2015 Dec 01
10
[RFC] Intrinsic naming convention (words with dots)
...itreverse @llvm.eh.begincatch @llvm.eh.endcatch @llvm.eh.padparam @llvm.stackprotector @llvm.stackprotectorcheck @llvm.objectsize @llvm.donothing Words with dots: @llvm.sadd.with.overflow @llvm.uadd.with.overflow @llvm.ssub.with.overflow @llvm.usub.with.overflow @llvm.smul.with.overflow @llvm.umul.with.overflow @llvm.convert.to.fp16 @llvm.convert.from.fp16 @llvm.eh.typeid.for @llvm.init.trampoline @llvm.adjust.trampoline @llvm.masked.load @llvm.masked.store @llvm.masked.gather @llvm.masked.scatter @llvm.lifetime.start @llvm.lifetime.end @llvm.invariant.start @llvm.invariant.end @llvm....
2016 Jan 11
0
Some llvm questions (for tgsi backend)
...ing tgsi for this would look like this: > > COMP > DCL SV[0], THREAD_ID[0] > DCL TEMP[0], LOCAL > DCL TEMP[1], LOCAL > IMM UINT32 { 0, 0, 0, 0 } > IMM UINT32 { 4, 0, 0, 0 } > IMM UINT32 { 128, 0, 0, 0 } > > BGNSUB > LOAD TEMP[0].xy, RINPUT, IMM[0] > UMUL TEMP[1].x, SV[0], IMM[1] > UADD TEMP[0].x, TEMP[0], TEMP[1] > UMUL TEMP[1].x, SV[0], IMM[2] > UADD TEMP[0].y, TEMP[0], TEMP[1].xxxx > LOAD TEMP[1].x, RGLOBAL, TEMP[0] > LOAD TEMP[0].x, RGLOBAL, TEMP[0].yyyy > UADD TEMP[1].x, TEMP[0], -TEMP...
2016 Jan 11
0
Some llvm questions (for tgsi backend)
...g tgsi for this would look like this: > > COMP > DCL SV[0], THREAD_ID[0] > DCL TEMP[0], LOCAL > DCL TEMP[1], LOCAL > IMM UINT32 { 0, 0, 0, 0 } > IMM UINT32 { 4, 0, 0, 0 } > IMM UINT32 { 128, 0, 0, 0 } > > BGNSUB > LOAD TEMP[0].xy, RINPUT, IMM[0] > UMUL TEMP[1].x, SV[0], IMM[1] > UADD TEMP[0].x, TEMP[0], TEMP[1] > UMUL TEMP[1].x, SV[0], IMM[2] > UADD TEMP[0].y, TEMP[0], TEMP[1].xxxx > LOAD TEMP[1].x, RGLOBAL, TEMP[0] > LOAD TEMP[0].x, RGLOBAL, TEMP[0].yyyy > UADD TEMP[1].x, TEMP[0], -TEMP...
2016 Feb 22
0
Dealing with opencl kernel parameters in nouveau now that RES support is gone
...essary clover) to start to > work again. > > Currently the test_input_global() test uses the following bit of > TGSI code: > > COMP > DCL SV[0], THREAD_ID[0] > DCL TEMP[0], LOCAL > DCL TEMP[1], LOCAL > IMM UINT32 { 8, 0, 0, 0 } > > BGNSUB\n" > UMUL TEMP[0], SV[0], IMM[0] > LOAD TEMP[1].xy, RINPUT, TEMP[0] > LOAD TEMP[0].x, RGLOBAL, TEMP[1].yyyy > UADD TEMP[1].x, TEMP[0], -TEMP[1] > STORE RGLOBAL.x, TEMP[1].yyyy, TEMP[1] > RET > ENDSUB > > > Where by RINPUT and RGLOBAL get...