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
>...
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...