Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] how to lower MUL i64 for soft int arithmetic?"
2010 Mar 17
0
[LLVMdev] llvm-gcc promotes i32 mul to i64 inside __muldi3
On Wed, Mar 17, 2010 at 1:32 PM, Sergey Yakoushkin
<sergey.yakoushkin at gmail.com> wrote:
> I'm building tool-chain for processor without integer MUL.
> So, I've defined __mulsi3 for integer multiplication (int32).
>
> Now I've got a problem with int64 multiplication which is implemented
> in libgcc2.c.
> Segfualt due to infinite recursion in i64 soft
2010 Mar 17
2
[LLVMdev] llvm-gcc promotes i32 mul to i64 inside __muldi3
On Wed, Mar 17, 2010 at 3:54 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Wed, Mar 17, 2010 at 1:32 PM, Sergey Yakoushkin
> <sergey.yakoushkin at gmail.com> wrote:
>> I'm building tool-chain for processor without integer MUL.
>> So, I've defined __mulsi3 for integer multiplication (int32).
>>
>> Now I've got a problem with int64
2010 Mar 17
2
[LLVMdev] llvm-gcc promotes i32 mul to i64 inside __muldi3
On Wed, Mar 17, 2010 at 4:57 PM, Sergey Yakoushkin
<sergey.yakoushkin at gmail.com> wrote:
> Thanks, yes, I'm facing the same issue.
>
> Hm... seems there are no simple fixes.
> I have to do one more i64 mul implementation to workaround aggressive
> optimizations.
> Is that correct? Is this the only way?
This shouldn't be necessary, IMO. If you were going to
2010 Mar 17
2
[LLVMdev] llvm-gcc promotes i32 mul to i64 inside __muldi3
I'm building tool-chain for processor without integer MUL.
So, I've defined __mulsi3 for integer multiplication (int32).
Now I've got a problem with int64 multiplication which is implemented
in libgcc2.c.
Segfualt due to infinite recursion in i64 soft multiplication
(libgcc2, __muldi3).
LLVM-GCC (for my target) misoptimizes code if -O2 is passed.
It promotes i32 multiplication to
2010 Mar 17
0
[LLVMdev] llvm-gcc promotes i32 mul to i64 inside __muldi3
> This shouldn't be necessary, IMO. If you were going to implement it,
> then the correct thing to do would be to have generic selection dag
> lowering of large multiplies, which renders the library mostly
> useless.
In fact, I would prefer to avoid custom lowering for operations on large types.
i64 will be rare in my case (embedded) and their performance is not an issue.
I need
2010 Mar 17
0
[LLVMdev] llvm-gcc promotes i32 mul to i64 inside __muldi3
Thanks, yes, I'm facing the same issue.
Hm... seems there are no simple fixes.
I have to do one more i64 mul implementation to workaround aggressive
optimizations.
Is that correct? Is this the only way?
Can I disable only one particular pass which does this promotion from
i32 to i64 using some LLVM-GCC option?
Are there other libgcc functions affected by this optimization?
Regards,
Sergey
2013 Aug 10
2
[LLVMdev] Fixed-point arithmetic
Hi,
Is there anyone else interested in fixed-point arithmetic support in
clang/llvm?
Regards,
Sergey
On Sat, Aug 3, 2013 at 12:14 AM, Sergey Yakoushkin <
sergey.yakoushkin at gmail.com> wrote:
> Hi all,
>
> Were there any further discussion or progress with the fixed point support
> (ISO/IEC TR 18037) in the meantime?
>
2013 Aug 10
0
[LLVMdev] Fixed-point arithmetic
I am.
Giorgio
Il 10/08/2013 12.12, Sergey Yakoushkin ha scritto:
> Hi,
>
> Is there anyone else interested in fixed-point arithmetic support in
> clang/llvm?
>
> Regards,
> Sergey
>
>
2013 Dec 03
2
[LLVMdev] Fixed-point arithmetic
I would also be interested in fixed-point arithmetic support in clang/llvm?
Is there any movement on this direction since August?
Regards,
Pedro Malagon
--
Pedro Malagon
Dpt. Electrical Engineering - Technical University of Madrid
Assistant Professor
Office B-113
Avda. Complutense s/n, 28040 Madrid
Tel. (+34) 915495700 ext. 4220
@:malagon at die.upm.es
On 08/10/2013 09:24 PM, Giorgio
2013 Dec 06
0
[LLVMdev] Fixed-point arithmetic
FYI, we are also interested.
(But our limited staff are currently busy just getting our LLVM backend out of the door (in-house only). I hope we will have time to look at this in a year or so.)
Regards,
Patrik Hägglund
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Pedro Malagon
Sent: den 3 december 2013 14:30
To: llvmdev at
2010 Mar 23
1
[LLVMdev] is there any eclipse plug-in for td/ll files editing?
Hi,
I've developed editor prototype for TableGen files (td).
It is Eclipse plugin based on IMP project (The IDE Meta-Tooling Platform).
Editor has outline, folding, coloring, go to definition, etc.
As any prototype, editor has some limitations (e.g. no cross-file indexing).
If there is any interest to such tool I will improve it a bit and then publish.
Also considering llvm asm (ll) editing
2013 Jul 30
0
[LLVMdev] Help with promotion/custom handling of MUL i32 and MUL i64
On Tue, Jul 30, 2013 at 01:14:16PM -0600, Dan wrote:
> I'll try to run through the scenario:
>
>
> 64-bit register type target (all registers have 64 bits).
>
> all 32-bits are getting promoted to 64-bit integers
>
> Problem:
>
> MUL on i32 is getting promoted to MUL on i64
>
> MUL on i64 is getting expanded to a library call in compiler-rt
>
>
2013 Jul 31
2
[LLVMdev] Help with promotion/custom handling of MUL i32 and MUL i64
Thanks for the information, allow maybe I can re-phrase the question or
issue.
Assume 64-bit register types, but integer is 32-bit. Already have table
generation of the 64-bit operation descriptions.
How about this modified approach?
Before type-legalization, I'd really like to move all MUL I64 to a
subroutine call of my own choice.
This would be a form of customization, but I want this
2013 Jul 30
3
[LLVMdev] Help with promotion/custom handling of MUL i32 and MUL i64
I'll try to run through the scenario:
64-bit register type target (all registers have 64 bits).
all 32-bits are getting promoted to 64-bit integers
Problem:
MUL on i32 is getting promoted to MUL on i64
MUL on i64 is getting expanded to a library call in compiler-rt
the problem is that MUL32 gets promoted and then converted into a
subroutine call because it is now type i64, even though
2010 Mar 16
0
[LLVMdev] is there any eclipse plug-in for td/ll files editing?
Hello Sergey,
I'd be interested in such a plugin. At one time somebody else started a plugin to cause Eclipse to compile with LLVM-GCC but I hadn't heard anything else from them. I've been just modifying the commands manually for that. I have definitely not heard of a .td or .ll syntax highlighter plugin.
--Sam
----- Original Message ----
> From: Sergey Yakoushkin
2010 Mar 16
2
[LLVMdev] how to configure llc to generate code for different architecture
I tried llc with -mcpu=help and it dosn't list Sparc. Thanks.
--Gang
On Tue, Mar 16, 2010 at 12:43 PM, Sergey Yakoushkin <
sergey.yakoushkin at gmail.com> wrote:
> Hi,
>
> Target architecture for llc can be specified using -march, -mcpu,
> -mattr options.
>
> Is it possible to override target CPU attributes when using llvm-gcc
> compiler?
>
> Regards,
>
2013 Jul 31
1
[LLVMdev] Help with promotion/custom handling of MUL i32 and MUL i64
Thanks Tom. I really appreciate your insight.
I'm able to use the customize to get the 64-bit to go to a subroutine and
for the 32-bit, I am generate XXXISD::MUL32. I'm not sure then what you
mean about "overriding" the ReplaceNodeResults.
For ReplaceNodeResults, I'm doing:
SDValue Res = LowerOperation(SDValue(N, 0), DAG);
for (unsigned I = 0, E =
2013 Jul 31
0
[LLVMdev] Help with promotion/custom handling of MUL i32 and MUL i64
Hi Dan,
If you set the node's action to "Custom", you should be able to
interfere in the type legalisation phase (before it gets promoted to a
64-bit MUL) by overriding the "ReplaceNodeResults" function.
You could either expand it to a different libcall directly there, or
replace it with a target-specific node (say XXXISD::MUL32) which
claims to take i64 types but you
2010 Feb 22
2
[LLVMdev] how to build eglibc using llvm-gcc without unsupported -fno-toplevel-reorder
Hi,
llvm doesn't support -fno-toplevel-reorder option which affects
glibc/eglibc for some targets.
http://www.llvm.org/bugs/show_bug.cgi?id=6364
>From conversations with gcc and eglibc maintainers, seems option is
highly expected and is not going to deprecate.
>> 2010/2/23 Ian Lance Taylor <iant at google.com>:
>> If option is going to deprecate in gcc in near future as
2011 Feb 19
0
[LLVMdev] Is va_arg deprecated?
On 19 February 2011 02:42, Sergey Yakoushkin
<sergey.yakoushkin at gmail.com> wrote:
> I'm working on source to source transformations and instrumentation.
> A flag to disable 'va_arg' lowering in LLVM FEs will be very useful.
Hi,
For the sake of simplicity, if types are simple, we emit va_arg
directly, otherwise we do like Clang and lower it in the front-end.
Would be