Displaying 13 results from an estimated 13 matches for "instructioninfo".
2017 Jul 10
2
Conditional Register Assignment based on the no of loop iterations
...X86Subtarget &Subtarget,
SelectionDAG &DAG)
{
//dont know the details of this part
but here i plan to encode 2048 elements again in 32 v64i32 but with
different instruction name like previously it was
load<LD256; i intend to make it load<LD256_N
so that in instructioninfo.td while pattern matching both LD256 and LD256_N
are treated separately. 1 will use Reg_B registers and other will use Reg_A
respectively.
Is it fine???
Please guide me...
I need serious help, please.....
Thank You
On Mon, Jul 10, 2017 at 9:29 AM, hameeza ahmed <hahmed2305 at gmail.com>...
2017 Jul 10
2
Conditional Register Assignment based on the no of loop iterations
...R_0_V_2
Here i dont want the above to happen rather it should increment R instead
of V in this case.
It should do something as follows:
1st load to take place in R_0_V_0
2nd load to take place in R_1_V_0
3rd load to take place in R_2_V_0
Now, how to achieve this?
Can i mention some condition in instructioninfo.td file?
and in registerinfo.td file instead of 1 object Reg_A, there will be 2
objects Reg_A and Reg_B
where Reg_B defines same registers but in different order.
Reg_B;
R_0_V_0, R_1_V_0, R_2_V_0, //here R changes
R_0_V_1, R_1_V_1, R_2_V_1,
R_0_V_2, R_1_V_2, R_2_V_2,
R_0_V_3, R_1_V_3, R_2_V_3....
2009 Oct 06
3
[LLVMdev] TableGen question - how to split a 64bit operation to two 32bit
...ackend for a custom CPU. I have defined paired
registers for 64bit operations, however to set a 64bit paired register with
64bit immediate I have to set each register in that pair separately with the
higher and the lower 32bits of the immediate.
Could anyone give me an advice how to describe it in *InstructionInfo.td or
point me to something similar in the LLVM source code? (I was looking for it
but couldn't find it)
Thanks,
Artur
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091006/eec456ae/attachment.html>
2012 Oct 23
2
[LLVMdev] Debugging/Fixing 'Interval not live at use' errors
I have a target backend which is currently causing live interval analysis
to throw 'Interval not live at use' errors for many of my benchmarks. I
imagine that this is caused by missing information for my target (probably
in the instructioninfo tablegen?), but I am having difficulties in both
debugging and fixing this problem, and would appreciate any advice or help
anyone can give.
I'm unsure if it's actually relevant, but the particular MachineInstr that
is involved when the assertion is thrown is always a LDrli (load from an
a...
2014 Feb 26
2
[LLVMdev] How to 'define and use' a LOOP intrinsic that takes "iteration count" and the "label" to jump to ?
I have defined the intrinsic as
* def int_loop: Intrinsic<[],[llvm_i8_ty, llvm_empty_ty],[]>;*
and also got the Codegen backend support in Instructioninfo.td file.
Then created a .ll file to test it.
The .ll file is like this
*declare void @llvm.loop(i8, label)define void @fn() nounwind readnone
{entry: ..... ..... call void @llvm.loop(i8 10, label %entry) ret
void}*
But when I run it with llc, I get the following error message
Intri...
2009 Oct 06
0
[LLVMdev] TableGen question - how to split a 64bit operation to two 32bit
...efined
> paired registers for 64bit operations, however to set a 64bit paired
> register with 64bit immediate I have to set each register in that
> pair separately with the higher and the lower 32bits of the immediate.
> Could anyone give me an advice how to describe it in
> *InstructionInfo.td or point me to something similar in the LLVM
> source code? (I was looking for it but couldn't find it)
>
> Thanks,
> Artur
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> ht...
2012 Oct 23
0
[LLVMdev] Debugging/Fixing 'Interval not live at use' errors
...n.mcgruer at gmail.com>
> wrote:
>
> I have a target backend which is currently causing live interval analysis
> to throw 'Interval not live at use' errors for many of my benchmarks. I
> imagine that this is caused by missing information for my target (probably
> in the instructioninfo tablegen?), but I am having difficulties in both
> debugging and fixing this problem, and would appreciate any advice or help
> anyone can give.
>
>
> Probably, -verify-machineinstrs will tell you what's wrong.
>
> /jakob
>
>
-------------- next part --------------
An...
2013 Mar 25
1
[LLVMdev] Backend port: Adding negative immediates
Hi,
I'm doing a backend port and I'm having trouble with adds that have
negative immediates.
My architecture only has instructions for subtracting and adding 8bit
immediate values (they will be zero-extended, thus unsigned).
Bigger immediates have to be moved in a register first.
The problem is:
Expressions like "b - 1" result in "add nsw i32 %b, -1" in LLVM IR.
They
2012 Oct 23
2
[LLVMdev] Debugging/Fixing 'Interval not live at use' errors
...ephen McGruer <stephen.mcgruer at gmail.com> wrote:
> I have a target backend which is currently causing live interval analysis to throw 'Interval not live at use' errors for many of my benchmarks. I imagine that this is caused by missing information for my target (probably in the instructioninfo tablegen?), but I am having difficulties in both debugging and fixing this problem, and would appreciate any advice or help anyone can give.
Probably, -verify-machineinstrs will tell you what's wrong.
/jakob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <...
2017 Aug 16
3
LLVM JIT Compilation
ok i have managed to compile using lli (jit) as follows: but i dont get
assembly file?
my sum-main.c file is:
#include <stdio.h>
#include<stdlib.h>
int sum(int a, int b) {
return a + b;
}
int main(int argc, char** argv) {
printf("sum: %d\n", sum(atoi(argv[1]), atoi(argv[2])) + sum(atoi(argv[1]),
atoi(argv[2])));
return 0;
}
and i used the following steps to compile.
clang
2017 Aug 06
2
VBROADCAST Implementation Issues
...>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I made your mentioned changes and included broadcast
>>>>>>>>>>>>>>>>>>> instruction in instructioninfo.td. but i made no
>>>>>>>>>>>>>>>>>>> changes in isellowering.cpp file.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Still getting th...
2017 Aug 07
2
VBROADCAST Implementation Issues
...;>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I made your mentioned changes and included broadcast
>>>>>>>>>>>>>>>>>>>>> instruction in instructioninfo.td. but i made no
>>>>>>>>>>>>>>>>>>>>> changes in isellowering.cpp file.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>&...
2017 Aug 07
3
VBROADCAST Implementation Issues
...;>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I made your mentioned changes and included
>>>>>>>>>>>>>>>>>>>>>>>>> broadcast instruction in instructioninfo.td. but
>>>>>>>>>>>>>>>>>>>>>>>>> i made no changes in isellowering.cpp file.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>&...