search for: predicates

Displaying 20 results from an estimated 1589 matches for "predicates".

Did you mean: predicate
2019 Feb 09
2
Question about pattern matching process
Hi, I'd like to understand the order in which patterns are searched during ISEL. In the example below, indices are searched in ascending order from 808 to 3305, then it goes back to 3259 and eventually it matches the wrong instruction. Why did go back from 3305 to 3259? In my XXXGenDAGISel.inc, I can see that the correct instruction is at index 3420 but it never got there. ISEL: Starting
2011 May 24
6
[LLVMdev] predicates and conditional execution
Hi, I was wondering if LLVM supports predicates and conditional execution. Something like we have in IA64. There is a register class of predicates and then every instruction may be predicated by a register from this class. For example: cmp_less p, x, y // p is a predicate which gets the result of x < y p add x, x, 2 // if p then do the add i...
2010 May 26
1
[LLVMdev] How to handle predicate registers which can also work inverted way.
In our architecture (TCE) we have predicate registers, not flags. But our predicates work in a way that in the predicated instruction do not contain only the predicate register, but a predicate register and boolean value pair, the boolean value stating if the instruction is to be executed only if the register is true(normal behavior of predicate regs) or only if the predicate reg i...
2011 May 24
2
[LLVMdev] predicates and conditional execution
2011/5/24 Justin Holewinski <justin.holewinski at gmail.com>: > On Tue, May 24, 2011 at 3:02 AM, roy rosen <roy.1rosen at gmail.com> wrote: >> >> Hi, >> >> I was wondering if LLVM supports predicates and conditional execution. >> Something like we have in IA64. >> There is a register class of predicates and then every instruction may >> be predicated by a register from this class. >> For example: >> >> cmp_less p, x, y // p is a predicate which gets the resul...
2012 Oct 31
3
[LLVMdev] : Predication on SIMD architectures and LLVM
...g like a 2D VLIW), and we also absolutely need predication. I extended the IfConversion pass to allow it to be executed multiple times and to predicate already predicated code. This is necessary to predicate code with nested conditional statements. At this point, we support or, and, and conditional predicates (see Scott Mahlke's papers on this issue) as supported by the OpenIMPACT compiler (=Trimaran). If anyone is interested, I can show some of the code. It is rather ad-hoc, however, so it is not at all ready for integration in the trunk (I think). The problem we are still facing is that this pre...
2017 Jul 08
2
Error in v64i32 type in x86 backend
Thank you. i understood how avx512 vector instructions are written in x86instravx512. i need to define my vector instructions so i wrote; def VMOV_256B_RM : I<0x6F, MRMSrcMem, (outs VR2048:$dst), (ins i32mem:$src), "vmov_256B_rm\t{$src, $dst|$dst, $src}", [(set VR2048:$dst, (v64i32 (scalar_to_vector (loadi32 addr:$src))))],
2017 Jul 08
2
Error in v64i32 type in x86 backend
Thank you; i have changed as follows.is it fine now? def VADD_256B : I<0xFE, MRMDestReg, (outs VR2048:$dst), (ins VR2048:$src1, VR2048:$src2), "VADD_256B\t{$src, $dst|$dst, $src}", [(set VR2048:$dst, (add VR2048:$src1, VR2048:$src2))]]>; Also here i have changed class RI to I. Does it make any difference? On Sat, Jul 8, 2017 at 9:38 AM, Craig Topper
2007 Oct 07
3
[LLVMdev] Predication before CodeGen
...this is straightforward since my input program is not allowed to have cycles in the CFG. 2) Run a pass that requires the above analysis and uses it to: - merge all basic blocks in topological sort order (which exists, because CFG is acyclic). - insert appropriate instructions to generate the predicates. - change all PHI-nodes into Select nodes. - predicate memory operations (well, at least the stores). It is this final predication step that I am not sure how to handle. Since LLVM does not have predicated load/store instructions, will I have to upgrade the memory operations to a call or som...
2011 May 24
0
[LLVMdev] predicates and conditional execution
...n <roy.1rosen at gmail.com> wrote: > 2011/5/24 Justin Holewinski <justin.holewinski at gmail.com>: > > On Tue, May 24, 2011 at 3:02 AM, roy rosen <roy.1rosen at gmail.com> wrote: > >> > >> Hi, > >> > >> I was wondering if LLVM supports predicates and conditional execution. > >> Something like we have in IA64. > >> There is a register class of predicates and then every instruction may > >> be predicated by a register from this class. > >> For example: > >> > >> cmp_less p, x, y // p is a...
2012 Oct 19
11
[LLVMdev] Predication on SIMD architectures and LLVM
Hello, I'm working on a compiler based on LLVM for a SIMD architecture that supports instruction predication. We would like to implement branching on this architecture using predication. As you know the LLVM-IR doesn't support instruction predication, so I'm not exactly sure on what is the best way to implement it. We came up with some ways to do it in LLVM: - Do not add any
2012 Nov 01
0
[LLVMdev] : Predication on SIMD architectures and LLVM
...g like a 2D VLIW), and we also absolutely need predication. I extended the IfConversion pass to allow it to be executed multiple times and to predicate already predicated code. This is necessary to predicate code with nested conditional statements. At this point, we support or, and, and conditional predicates (see Scott Mahlke's papers on this issue) as supported by the OpenIMPACT compiler (=Trimaran). If anyone is interested, I can show some of the code. It is rather ad-hoc, however, so it is not at all ready for integration in the trunk (I think). > I would be interested in looking at the cod...
2017 Jul 08
5
Error in v64i32 type in x86 backend
Thank You. I have seen the opcode is 8 bits and all the combinations are already used in llvm x86. Now what to do? On Sat, Jul 8, 2017 at 10:57 AM, Craig Topper <craig.topper at gmail.com> wrote: > Yes its an opcode conflict. You'll have to look through Intel documents > and find an unused opcode. I've only added instructions based on a real > spec so I don't know
2011 May 24
0
[LLVMdev] predicates and conditional execution
On Tue, May 24, 2011 at 3:02 AM, roy rosen <roy.1rosen at gmail.com> wrote: > Hi, > > I was wondering if LLVM supports predicates and conditional execution. > Something like we have in IA64. > There is a register class of predicates and then every instruction may > be predicated by a register from this class. > For example: > > cmp_less p, x, y // p is a predicate which gets the result of x < y > p add...
2012 Oct 23
0
[LLVMdev] Predication on SIMD architectures and LLVM
On 22 Oct 2012, at 18:10, <dag at cray.com> wrote: > None of your proposed solutions is ideal. We really should have > first-class predication in the IR. It's only going to get more > important. Perhaps I am missing something, but isn't a predicated instruction effectively an single-instruction version of an arithmetic operation followed by a select? As we can already
2012 Oct 19
0
[LLVMdev] Predication on SIMD architectures and LLVM
Hi, I've done work on predicated SIMD representations for LLVM. If you search through the archives, you may find my "applymask" proposal, which is an attempt at representing predication in a very comprehensive way. I've since stopped pushing the proposal in part because Larrabee's changing fortunes led to a decline of interest at the time, in part because the proposal
2012 Oct 23
2
[LLVMdev] Predication on SIMD architectures and LLVM
...are essential for correctly vectorizing loops with conditionals due to safety concerns. If the loop body has no dangerous operations, then yes, a vector select can be used without problems but it is often slower than predication. Usually the hardware can optimize instructions with certain values of predicates. -David
2012 Oct 19
0
[LLVMdev] Predication on SIMD architectures and LLVM
Hi Marcello, I am sure I've seen some postings on the list concerning architectures that support predicated execution and how to map that to LLVM IR, I'm just not sure anymore when and who was involved :). I have implemented your first suggestion for targets that do not have predicated instructions (where control flow to data flow conversion with explicit maintaining of masks and
2020 Mar 24
3
Questions on ifconversion and predication
Assume an architecture that has multiple condition code registers, e.g., powerpc. Now assume that there are predicate instructions like thumb2, but can specify which condition code register they refer to. Now also assume that these predicate instructions themselves are predicatible, if executed they change the current predication state. Can LLVM handle multiple levels of predication? When is
2007 Oct 08
0
[LLVMdev] Predication before CodeGen
...e my input program is not allowed to have > cycles in the CFG. > 2) Run a pass that requires the above analysis and uses it to: > - merge all basic blocks in topological sort order (which > exists, because CFG is acyclic). > - insert appropriate instructions to generate the predicates. > - change all PHI-nodes into Select nodes. > - predicate memory operations (well, at least the stores). I am not aware of a mechanism to completely remove branches for any general program. Don't you have to restrict it a loop with known iteration count? > > It is this...
2011 May 24
0
[LLVMdev] predicates and conditional execution
On May 24, 2011, at 12:02 AM, roy rosen wrote: > Hi, > > I was wondering if LLVM supports predicates and conditional execution. > Something like we have in IA64. > There is a register class of predicates and then every instruction may > be predicated by a register from this class. > For example: > > cmp_less p, x, y // p is a predicate which gets the result of x < y > p ad...